@西安企业,4月人员增减开始,如何打印每月缴费的征缴通知单?
何打印每月缴费的征缴通知单?
参保单位可登录“医保公服平台-更多服务-报表打印-单位缴费通知单打印”模块及时打印相应月份征缴通知单。
陕西医保公共服务:https://zwfw.shaanxi.gov.cn/ggfw/hallEnter/#/Index
社保缴费客户端下载;
国家税务总局陕西省税务局软件下载 (chinatax.gov.cn):
https://shaanxi.chinatax.gov.cn/col/col32042/index.html
操作流程如下:
1.使用经办人账户登录陕西医保公共服务平台;
2.登录后,进入单位网厅,点击“更多服务”;
3.点击“报表打印”-“单位缴费通知单打印”-点击“查询”-点击打印或者下载。(注意:单据生成时间选择4月30日至今);
4.打印或下载“西安市医疗保险费用征缴通知单”;
5.参保单位可在“社保缴费客户端”正常缴纳;
6.缴费完毕后,参保单位可以办理4月份的增减变动业务(即做账期号为202204,新增续保的人员4月需要缴费,停保的人员4月不缴费);
7.后续其他业务办理依系统运行情况另行通知。
二、注意事项
1.单位打印不出来医疗保险征缴通知单?
根据上级部门工作要求,医保已实缴的月份无法打印对应月份的征缴通知单。您可登陆“医保公服平台-更多服务-业务查询-单位缴费明细查询”模块查看对应月份是否已足额缴纳。
2.为什么社保费管理客户端推送的医保缴费数据与我们的应缴数据不一样呢?
如各单位账户存在待转金,系统在生成征集信息时系统会自动抵扣待转金余额,待转金不足抵扣的差额缴费数据会同步推送至税务社保费管理客户端。各参保单位可通过征缴通知单查询是否抵扣待转金。
3.医保4月费用何时缴纳,4月增减截止日期是什么时候?
各单位在完成2022年3月医保缴费并实收到账后,即可办理4月份的增减变动业务(即做账期号为202204,新增续保的人员4月需要缴费,停保的人员4月不缴费)。
增减截止时间及4月费用核定时间待上级部门明确后另行通知。
4.社保费管理客户端未查询到失业、工伤缴费数据应该怎么办?
答:如“社保费管理客户端”没有失业和工伤保险当月缴费数据,请及时联系税所专管员进行反馈上报。再次推送后,各参保单位需在“社保费管理客户端-特殊缴费申报”模块进行申报缴费。
注意:请勿重复上报未推送数据,否则会存在重复推送的情况出现。
1. 缴费前,各单位务必核实本单位参保缴费人数和金额,如果发现税务客户端的金额明显不符,暂时不要缴纳,待前往参保地医保经办机构核对后再缴纳。
2. 新参保立户的单位在办结立户手续后,当场打印征缴单,前往税务部门进行关联后,即可缴纳当月医保费用。
险险种
申报网址
公司提供材料
个人提供材料
申报期限
转入 (现单位)
转出 (原单位)
工伤保险
http://www.hebei12333.com/login.jsp
职工增减表; 工伤保费核定表
------
码实现链表的操作函数
1.首先是尾插 ,要实现尾插,首先的先有一个链表,并且为空。
即先构造一个链表,并且进行初始化。
[html] view plain copy
- //构造链表
- typedef int DataType;
- typedef struct SListNode {
- DataType data;
- struct SListNode *pNext;
- } SListNode;
- // 初始化
- void SListInit(SListNode **ppFirst)
- {
- assert(ppFirst !=NULL);
- *ppFirst=NULL;
- }
- 进行尾插前,我们的在构造一个新链表,用来存放尾插后形成的新链表。
- SListNode * CreateNewNode(int data)
- {
- SListNode *pNewNode=(SListNode *)malloc(sizeof(SListNode));
- assert(pNewNode);
- pNewNode->data=data;
- pNewNode->pNext=NULL;
- return pNewNode;
- }
- 下面进行尾插
- void PushBack(SListNode **ppFirst, DataType data)
- {
- assert(ppFirst !=NULL);
- SListNode *pNewNode=CreateNewNode(data);
- if (*ppFirst==NULL) {
- *ppFirst=pNewNode;
- return;
- }
- SListNode *pNode;
- pNode=*ppFirst;
- while (pNode->pNext !=NULL) {
- pNode=pNode->pNext;
- }
- // pNode 就是倒数第一个
- pNode->pNext=pNewNode;
- }
- 再加上打印函数与测试函数,main函数。
- //print
- void Print(SListNode *pFirst)
- {
- SListNode *pNode;
- for (pNode=pFirst; pNode; pNode=pNode->pNext) {
- printf("%d -> ", pNode->data);
- }
- printf("NULL\n");
- }
- //测试函数
- void TestSList()
- {
- SListNode *pFirst;
- SListInit(&pFirst);
- assert(pFirst==NULL);
- PushBack(&pFirst, 1);
- assert(pFirst !=NULL);
- Print(pFirst);
- PushBack(&pFirst, 2);
- PushBack(&pFirst, 3);
- PushBack(&pFirst, 4);
- Print(pFirst);
- }
- //main函数
- #include"SList.h"
- int main(){
- TestSList();
- system("pause");
- }
- 效果如下
2.头插
[html] view plain copy
- void PushFront(SListNode **ppFirst, DataType data)
-
- {assert(ppFirst !=NULL);
-
- SListNode *pNewNode=CreateNewNode(data);
-
- pNewNode->pNext=*ppFirst;
- *ppFirst=pNewNode;
- }
- 测试函数如下:
- PushFront(&pFirst, 5);
- PushFront(&pFirst, 8);
- Print(pFirst);
3.按下标插入(令给定下标是pos,pos一定存在)
[html] view plain copy
- void Insert(SListNode **ppFirst, SListNode *pPos, DataType data)
- {
- assert(ppFirst !=NULL);
- SListNode *pNode;
- pNode=*ppFirst;
- // pPos 是第一个结点地址
- if (pPos==*ppFirst) {
- PushFront(ppFirst, data);
- return;
- }
- while (pNode->pNext !=pPos){
- pNode=pNode->pNext;
- }
- SListNode *pNewNode=CreateNewNode(data);
- pNode->pNext=pNewNode;
- pNewNode->pNext=pPos;
- }
- 进行按给定位置插入 需确定pos位置,需定义find函数
- //find
- SListNode * Find(SListNode *pFirst, DataType data)
- {
- SListNode *pNode;
- for (pNode=pFirst; pNode; pNode=pNode->pNext) {
- if (pNode->data==data) {
- return pNode;
- }
- }
- return NULL;
- }
- 测试代码如下:
- SListNode *pFound=Find(pFirst, 3);
- if (pFound==NULL) {
- printf("没有找到\n");
- }
- else {
- printf("%d\n", pFound->data);
- Insert(&pFirst, pFound, 100);
- }
- Print(pFirst);
- 效果如下:
二、删除
1.头删
[html] view plain copy
- void PopFront(SListNode **ppFirst)
- {
- assert(ppFirst !=NULL);
- assert(*ppFirst !=NULL);
-
- SListNode *pOldFirst=*ppFirst;
- *ppFirst=(*ppFirst)->pNext;
- free(pOldFirst);
- }
- 测试代码如下:
- PopFront(&pFirst);
- Print(pFirst);
- 效果如下:
2.尾删
[html] view plain copy
- void PopBack(SListNode **ppFirst)
- {
- assert(ppFirst !=NULL);
- assert(*ppFirst !=NULL);
- if ((*ppFirst)->pNext==NULL) {
- free(*ppFirst);
- *ppFirst=NULL;
- return;
- }
- SListNode *pNode=*ppFirst;
- while (pNode->pNext->pNext !=NULL)
- {
- pNode=pNode->pNext;
- }
- free(pNode->pNext);
- pNode->pNext=NULL;
- }
- 测试函数如下:
- PopBack(&pFirst);
- Print(pFirst);
- 效果如下:
3.按位置删除(根据结点地址删除,结点肯定在链表里,令节点位置为pPos)
[html] view plain copy
- void Erase(SListNode **ppFirst, SListNode *pPos)
- {
- assert(ppFirst !=NULL);
- assert(*ppFirst !=NULL);
- if (*ppFirst==pPos) {
- PopFront(ppFirst);
- return;
- }
- SListNode *pCur;
- for (pCur=*ppFirst; pCur->pNext !=pPos; pCur=pCur->pNext) {
- }
- // pCur 就是 pPos的前一个
- pCur->pNext=pPos->pNext;
- free(pPos);
- }
- 测试函数如下:
- SListNode *pFound=Find(pFirst, 1);
- { if (pFound==NULL) {
- printf("没有找到\n");
- }
- else {
- printf("%d\n", pFound->data);
- Erase(&pFirst, pFound);
- }
- SListDestroy(&pFirst);
- }
- 运行效果如下
4.按值删除(根据数据去删除,删除遇到的第一个结点)
[html] view plain copy
- void Remove(SListNode **ppFirst, DataType data)
- {
- SListNode *pFound=Find(*ppFirst, data);
- if (pFound !=NULL) {
- Erase(ppFirst, pFound);
- }
- }
- 测试函数如下:
- void TestRemove()
- {
- SListNode *pFirst;
- SListInit(&pFirst);
- PushBack(&pFirst, 4);
- PushBack(&pFirst, 3);
- PushBack(&pFirst, 1);
- PushBack(&pFirst, 3);
- PushBack(&pFirst, 3);
- PushBack(&pFirst, 3);
- PushBack(&pFirst, 3);
- PushBack(&pFirst, 3);
- PushBack(&pFirst, 5);
- PushBack(&pFirst, 3);
- Print(pFirst);
- Remove(&pFirst, 3);
- Print(pFirst);
- 运行效果如图
5.按值删除( 根据数据去删除,删除遇到的所有结点)
[html] view plain copy
- void RemoveAll(SListNode **ppFirst, DataType data)
- {
- SListNode *pNode=*ppFirst;
- SListNode *pNext;
- while (pNode->pNext) {
- if (pNode->pNext->data==data) {
- pNext=pNode->pNext;
- pNode->pNext=pNode->pNext->pNext;
- free(pNext);
- }
- else {
- pNode=pNode->pNext;
- }
- }
- if ((*ppFirst)->data==data) {
- PopFront(ppFirst);
- }
- }
- 测试函数如下:
- RemoveAll(&pFirst, 3);
- Print(pFirst);
- 测试效果如下
源代码如下:
[html] view plain copy
- Hello.h
- #pragma once
- #include <stdlib.h>
- #include <assert.h>
- #include <stdio.h>
- typedef int DataType;
- typedef struct SListNode {
- DataType data;
- struct SListNode *pNext;
- } SListNode;
- // 初始化
- void SListInit(SListNode **ppFirst)
- {
- assert(ppFirst !=NULL);
- *ppFirst=NULL;
- }
- SListNode * CreateNewNode(int data)
- {
- SListNode *pNewNode=(SListNode *)malloc(sizeof(SListNode));
- assert(pNewNode);
- pNewNode->data=data;
- pNewNode->pNext=NULL;
-
- return pNewNode;
- }
- //打印函数
- void Print(SListNode *pFirst)
- {
- SListNode *pNode;
- for (pNode=pFirst; pNode; pNode=pNode->pNext) {
- printf("%d -> ", pNode->data);
- }
- printf("NULL\n");
- }
- // 销毁
- void SListDestroy(SListNode **ppFirst)
- {
- assert(ppFirst !=NULL);
- SListNode *pNode, *pNext;
-
- pNode=*ppFirst;
- while (pNode !=NULL) {
- pNext=pNode->pNext;
- free(pNode);
- pNode=pNext;
- }
- *ppFirst=NULL;
- }
-
- // 查找,返回遇到的第一个
- // 如果找到了,返回结点地址
- // 否则返回 NULL
- SListNode * Find(SListNode *pFirst, DataType data)
- {
- SListNode *pNode;
- for (pNode=pFirst; pNode; pNode=pNode->pNext) {
- if (pNode->data==data) {
- return pNode;
- }
- }
- return NULL;
- }
- // 增删改查
-
- // 尾插
- void PushBack(SListNode **ppFirst, DataType data)
- {
- assert(ppFirst !=NULL);
- SListNode *pNewNode=CreateNewNode(data);
- if (*ppFirst==NULL) {
- *ppFirst=pNewNode;
- return;
- }
- SListNode *pNode;
- pNode=*ppFirst;
- while (pNode->pNext !=NULL) {
- pNode=pNode->pNext;
- }
- // pNode 就是倒数第一个
- pNode->pNext=pNewNode;
- }
- /*
- // 头插
- void PushFront(SListNode **ppFirst, DataType data)
- {
- assert(ppFirst !=NULL);
- SListNode *pNewNode=CreateNewNode(data);
- pNewNode->pNext=*ppFirst;
- *ppFirst=pNewNode;
- }
- // 插入到给定结点 pPos 前,pPos 肯定在链表里
- void Insert(SListNode **ppFirst, SListNode *pPos, DataType data)
- {
- assert(ppFirst !=NULL);
- SListNode *pNode;
- pNode=*ppFirst;
- // pPos 是第一个结点地址
- if (pPos==*ppFirst) {
- PushFront(ppFirst, data);
- return;
- }
- while (pNode->pNext !=pPos){
- pNode=pNode->pNext;
- }
- SListNode *pNewNode=CreateNewNode(data);
- pNode->pNext=pNewNode;
- pNewNode->pNext=pPos;
- }
- */
- // 头删
- void PopFront(SListNode **ppFirst)
- {
- assert(ppFirst !=NULL);
- assert(*ppFirst !=NULL);
- SListNode *pOldFirst=*ppFirst;
- *ppFirst=(*ppFirst)->pNext;
- free(pOldFirst);
- }
- // 尾删
- void PopBack(SListNode **ppFirst)
- {
- assert(ppFirst !=NULL);
- assert(*ppFirst !=NULL);
- if ((*ppFirst)->pNext==NULL) {
- free(*ppFirst);
- *ppFirst=NULL;
- return;
- }
- SListNode *pNode=*ppFirst;
- while (pNode->pNext->pNext !=NULL)
- {
- pNode=pNode->pNext;
- }
- free(pNode->pNext);
- pNode->pNext=NULL;
- }
- // 根据结点地址删除,结点肯定在链表里
- void Erase(SListNode **ppFirst, SListNode *pPos)
- {
- assert(ppFirst !=NULL);
- assert(*ppFirst !=NULL);
- if (*ppFirst==pPos) {
- PopFront(ppFirst);
- return;
- }
- SListNode *pCur;
- for (pCur=*ppFirst; pCur->pNext !=pPos; pCur=pCur->pNext) {
- }
- // pCur 就是 pPos的前一个
- pCur->pNext=pPos->pNext;
- free(pPos);
- }
- /*
- void TestSList()
- {
- SListNode *pFirst;
- SListInit(&pFirst);
- assert(pFirst==NULL);
- PushBack(&pFirst, 1);
- assert(pFirst !=NULL);
- Print(pFirst);
- PushBack(&pFirst, 1);
- PushBack(&pFirst, 2);
- PushBack(&pFirst, 3);
- Print(pFirst);
- PushFront(&pFirst, 5);
- PushFront(&pFirst, 8);
- Print(pFirst);
- SListNode *pFound=Find(pFirst, 3);
- if (pFound==NULL) {
- printf("没有找到\n");
- }
- else {
- printf("%d\n", pFound->data);
- Insert(&pFirst, pFound, 100);
- }
- Print(pFirst);
- PopFront(&pFirst);
- Print(pFirst);
- PopBack(&pFirst);
- Print(pFirst);
- SListNode *pFound=Find(pFirst, 9);
- { if (pFound==NULL) {
- printf("没有找到\n");
- }
- else {
- printf("%d\n", pFound->data);
- Erase(&pFirst, pFound);
- }
- SListDestroy(&pFirst);
- }
- }
- */
- // 根据数据去删除,删除遇到的第一个结点
- void Remove(SListNode **ppFirst, DataType data)
- {
- SListNode *pFound=Find(*ppFirst, data);
- if (pFound !=NULL) {
- Erase(ppFirst, pFound);
- }
- }
- // 根据数据去删除,删除遇到的所有结点
- void RemoveAll(SListNode **ppFirst, DataType data)
- {
- SListNode *pNode=*ppFirst;
- SListNode *pNext;
- while (pNode->pNext) {
- if (pNode->pNext->data==data) {
- pNext=pNode->pNext;
- pNode->pNext=pNode->pNext->pNext;
- free(pNext);
- }
- else {
- pNode=pNode->pNext;
- }
- }
- if ((*ppFirst)->data==data) {
- PopFront(ppFirst);
- }
- }
- void TestRemove()
- {
- SListNode *pFirst;
- SListInit(&pFirst);
- PushBack(&pFirst, 4);
- PushBack(&pFirst, 3);
- PushBack(&pFirst, 1);
- PushBack(&pFirst, 3);
- PushBack(&pFirst, 3);
- PushBack(&pFirst, 3);
- PushBack(&pFirst, 3);
- PushBack(&pFirst, 3);
- PushBack(&pFirst, 5);
- PushBack(&pFirst, 3);
- Print(pFirst);
- Remove(&pFirst, 3);
- Print(pFirst);
- RemoveAll(&pFirst, 3);
- Print(pFirst);
- }
[html] view plain copy
- main.c
- #include"Hello.h"
- int main(){
- TestRemove();
- //TestSList();
- system("pause");
- }
到此,单链表的基本功能差不多都实现了。