Browse Source

添加红冲功能

huangguoce 3 weeks ago
parent
commit
72c6ef9c0d

+ 92 - 0
src/main/java/com/jeeplus/modules/workinvoice/web/WorkInvoiceAllTwoController.java

@@ -1449,5 +1449,97 @@ public class WorkInvoiceAllTwoController extends BaseController {
 		return "redirect:"+Global.getAdminPath()+"/workinvoiceAllTwo/workinvoiceAllTwo/?repage";
 	}
 
+	/**
+	 * 查看,增加,编辑开票管理表单页面
+	 */
+	@RequiresPermissions(value={"workinvoice:workInvoice:view","workinvoice:workInvoice:add","workinvoice:workInvoice:edit"},logical= Logical.OR)
+	@RequestMapping(value = "rcForm")
+	public String rcForm(WorkInvoice workInvoice, Model model) {
+		String view = "workInvoiceAllRcForm";
+		if(StringUtils.isNotBlank(workInvoice.getId())){
+			workInvoiceService.queryDetails(workInvoice);
+		}
+		String tabId = request.getParameter("tabId");
+		if("1".equals(tabId)){
+			List<MainDictDetail> billingContentList = DictUtils.getMainDictList("billing_content");
+			for (MainDictDetail dictDetail: billingContentList) {
+				if(workInvoice.getBillingContent().equals(dictDetail.getValue())){
+					workInvoice.setBillingContent(dictDetail.getLabel());
+					break;
+				}
+			}
+			List<MainDictDetail> receiptTypeList = DictUtils.getMainDictList("receipt_type");
+			for (MainDictDetail dictDetail: receiptTypeList) {
+				if(workInvoice.getChargeType().equals(dictDetail.getValue())){
+					workInvoice.setChargeType(dictDetail.getLabel());
+					break;
+				}
+			}
+			view = "workInvoiceAllRcForm";
+		}else if("3".equals(tabId)){
+			ProcessInstance processInstance = actTaskService.getProcIns(workInvoice.getProcessInstanceId());
+			if (processInstance!=null) {
+				Task taskInfok = actTaskService.getCurrentTaskInfo(processInstance);
+				Act act = new Act();
+				act.setTaskId(taskInfok.getId());
+				act.setTaskName(taskInfok.getName());
+				act.setTaskDefKey(taskInfok.getTaskDefinitionKey());
+				act.setProcDefId(taskInfok.getProcessDefinitionId());
+				act.setProcInsId(taskInfok.getProcessInstanceId());
+				act.setTask(taskInfok);
+				workInvoice.setAct(act);
+				workInvoice.setHome("allModify");
+				//获取发票项目信息
+				List<WorkInvoiceProjectRelation> workInvoiceProjectRelationList = workInvoice.getWorkInvoiceProjectRelationList();
+				List<String> projectIdList = Lists.newArrayList();
+				//获取项目id并查询所有包含项目id的项目信息
+				for (WorkInvoiceProjectRelation projectInfo: workInvoiceProjectRelationList) {
+					if(StringUtils.isNotBlank(projectInfo.getProjectId())){
+						projectIdList.add(projectInfo.getProjectId());
+					}
+				}
+
+				if(projectIdList.size()>0){
+					//根据项目id查询项目信息中的项目类别
+					String projectSortCostInfo = ruralProjectRecordsService.getProjectSortCostInfo(projectIdList);
+					//如果项目类别中包含审定(内)即 8 则需要进行部门主任审核
+					if(null != projectSortCostInfo && projectSortCostInfo.contains("8")){
+						view = "workInvoiceExamineModify";
+					}
+				}else{
+					view = "workInvoiceNotProjectModify";
+				}
+
+			}
+		}
+
+		if (StringUtils.isBlank(workInvoice.getId())){
+			workInvoice.setInvoiceDate(new Date());
+			User user = UserUtils.getUser();
+			workInvoice.setActualDrawerId(user.getId());
+			workInvoice.setActualDrawerEmailAddress(user.getEmail());
+			workInvoice.setActualDrawerName(user.getName());
+		}
+
+		workInvoice.setRedInvoiceFlag(1);
+		workInvoice.setRedInvoiceRelevancyId(workInvoice.getId());
+		//此处为红冲数据 需要获取发票号
+		WorkInvoice invoice = workInvoiceService.get(workInvoice.getRedInvoiceRelevancyId());
+		String invoiceNumberStr = workInvoiceService.getInvoiceNumberStr(invoice.getId());
+		workInvoice.setInvoiceNumberStr(invoiceNumberStr);
+		workInvoice.setRedInvoiceRelevancyNumber(invoice.getNumber());
+		//发票申请编号和id置空
+		workInvoice.setId("");
+		workInvoice.setNumber("");
+		//将发票金额改为负数
+		workInvoice.setMoney(-Math.abs(workInvoice.getMoney()));
+		workInvoice.setInvoiceState(null);
+		//清空发票列表
+		workInvoice.setWorkAccountList(null);
+		model.addAttribute("showFlag", "2");
+		model.addAttribute("workInvoice", workInvoice);
+		return "modules/workinvoice/" + view;
+	}
+
 
 }

+ 98 - 0
src/main/java/com/jeeplus/modules/workinvoice/web/WorkInvoiceTwoController.java

@@ -1787,4 +1787,102 @@ public class WorkInvoiceTwoController extends BaseController {
 		return JsonMapper.toJsonString(map);
 	}
 
+
+	/**
+	 * 查看,增加,编辑开票管理表单页面
+	 */
+	@RequiresPermissions(value={"workinvoice:workInvoice:view","workinvoice:workInvoice:add","workinvoice:workInvoice:edit"},logical= Logical.OR)
+	@RequestMapping(value = "rcForm")
+	public String rcForm(WorkInvoice workInvoice, Model model) {
+		String view = "workInvoiceAllRcForm";
+		if(StringUtils.isNotBlank(workInvoice.getId())){
+			workInvoiceService.queryDetails(workInvoice);
+		}
+		if(StringUtils.isBlank(workInvoice.getActualDrawerId())){
+			User user = UserUtils.getUser();
+			workInvoice.setActualDrawerId(user.getId());
+			workInvoice.setActualDrawerName(user.getName());
+		}
+		String tabId = request.getParameter("tabId");
+		if("1".equals(tabId)){
+			List<MainDictDetail> billingContentList = DictUtils.getMainDictList("billing_content");
+			for (MainDictDetail dictDetail: billingContentList) {
+				if(workInvoice.getBillingContent().equals(dictDetail.getValue())){
+					workInvoice.setBillingContent(dictDetail.getLabel());
+					break;
+				}
+			}
+			List<MainDictDetail> receiptTypeList = DictUtils.getMainDictList("receipt_type");
+			for (MainDictDetail dictDetail: receiptTypeList) {
+				if(workInvoice.getChargeType().equals(dictDetail.getValue())){
+					workInvoice.setChargeType(dictDetail.getLabel());
+					break;
+				}
+			}
+			view = "workInvoiceAllRcForm";
+		}else if("3".equals(tabId)){
+			ProcessInstance processInstance = actTaskService.getProcIns(workInvoice.getProcessInstanceId());
+			if (processInstance!=null) {
+				Task taskInfok = actTaskService.getCurrentTaskInfo(processInstance);
+				Act act = new Act();
+				act.setTaskId(taskInfok.getId());
+				act.setTaskName(taskInfok.getName());
+				act.setTaskDefKey(taskInfok.getTaskDefinitionKey());
+				act.setProcDefId(taskInfok.getProcessDefinitionId());
+				act.setProcInsId(taskInfok.getProcessInstanceId());
+				act.setTask(taskInfok);
+				workInvoice.setAct(act);
+				view = "workInvoiceTwoRcForm";
+
+
+				//获取发票项目信息
+				List<WorkInvoiceProjectRelation> workInvoiceProjectRelationList = workInvoice.getWorkInvoiceProjectRelationList();
+				List<String> projectIdList = Lists.newArrayList();
+				//获取项目id并查询所有包含项目id的项目信息
+				for (WorkInvoiceProjectRelation projectInfo: workInvoiceProjectRelationList) {
+					if(StringUtils.isNotBlank(projectInfo.getProjectId())){
+						projectIdList.add(projectInfo.getProjectId());
+					}
+				}
+
+				if(projectIdList.size()>0){
+					//根据项目id查询项目信息中的项目类别
+					String projectSortCostInfo = ruralProjectRecordsService.getProjectSortCostInfo(projectIdList);
+					//如果项目类别中包含审定(内)即 8 则需要进行部门主任审核
+					if(null != projectSortCostInfo && projectSortCostInfo.contains("8")){
+						view = "workInvoiceExamineModify";
+					}
+				}else{
+					view = "workInvoiceNotProjectModify";
+				}
+
+			}
+		}
+		if (StringUtils.isBlank(workInvoice.getId())){
+			workInvoice.setInvoiceDate(new Date());
+			User user = UserUtils.getUser();
+			workInvoice.setActualDrawerId(user.getId());
+			workInvoice.setActualDrawerEmailAddress(user.getEmail());
+			workInvoice.setActualDrawerName(user.getName());
+		}
+
+		workInvoice.setRedInvoiceFlag(1);
+		workInvoice.setRedInvoiceRelevancyId(workInvoice.getId());
+		//此处为红冲数据 需要获取发票号
+		WorkInvoice invoice = workInvoiceService.get(workInvoice.getRedInvoiceRelevancyId());
+		String invoiceNumberStr = workInvoiceService.getInvoiceNumberStr(invoice.getId());
+		workInvoice.setInvoiceNumberStr(invoiceNumberStr);
+		workInvoice.setRedInvoiceRelevancyNumber(invoice.getNumber());
+		//发票申请编号和id置空
+		workInvoice.setId("");
+		workInvoice.setNumber("");
+		//将发票金额改为负数
+		workInvoice.setMoney(-Math.abs(workInvoice.getMoney()));
+		workInvoice.setInvoiceState(null);
+		//清空发票列表
+		workInvoice.setWorkAccountList(null);
+		model.addAttribute("showFlag", "1");
+		model.addAttribute("workInvoice", workInvoice);
+		return "modules/workinvoice/" + view;
+	}
 }

+ 124 - 69
src/main/webapp/webpage/modules/workinvoice/workInvoiceAllList.jsp

@@ -830,6 +830,10 @@
 						{
 							xml += "<a href=\"${ctx}/workinvoiceAll/workInvoiceAll/delete?id=" + d.id + "\" onclick=\"return confirmx('确认要删除该发票记录吗?', this.href)\"   class=\"layui-btn layui-btn-xs layui-bg-red\"> 删除</a>";
 						}
+						if(d.redInvoice != undefined && d.redInvoice =="1")
+						{
+							xml +="<a href=\"javascript:void(0)\" onclick=\"openDialogre('红冲', '${ctx}/workinvoiceAllTwo/workinvoiceAllTwo/rcForm?id=" + d.id + "&tabId=1','95%','95%')\" class=\"layui-btn layui-btn-xs layui-bg-red\" >红冲</a>";
+						}
 						xml+="</div>"
                         return xml;
 
@@ -839,107 +843,158 @@
                 <c:if test="${ not empty page.list}">
                 <c:forEach items="${page.list}" var="workInvoice" varStatus="index"><c:set var="Srole" scope="session" value="<%= UserUtils.getSelectRole().get(0).getEnname()%>"/>
                 <c:if test="${index.index != 0}">,</c:if>
-                {
-                    "index":"${index.index+1}"
-                    ,"id":"${workInvoice.id}"
-                    ,"invoiceNum":"${workInvoice.number}"
-                    ,"chargeType":"${fns:getMainDictLabels(workInvoice.chargeType,',','receipt_type', '')}"
-                    ,"billingContent":"${fns:getMainDictLabels(workInvoice.billingContent,',','billing_content', '')}"
+				{
+					"index": "${index.index+1}"
+					,
+					"id": "${workInvoice.id}"
+					,
+					"invoiceNum": "${workInvoice.number}"
+					,
+					"chargeType": "${fns:getMainDictLabels(workInvoice.chargeType,',','receipt_type', '')}"
+					,
+					"billingContent": "${fns:getMainDictLabels(workInvoice.billingContent,',','billing_content', '')}"
 					<c:if test="${workInvoice.isSzCloud != null && workInvoice.isSzCloud != '' && workInvoice.isSzCloud == 'sz'}">
-					,"chargeType":"${workInvoice.chargeType}"
-					,"billingContent":"${workInvoice.billingContent}"
+					,
+					"chargeType": "${workInvoice.chargeType}"
+					,
+					"billingContent": "${workInvoice.billingContent}"
 					</c:if>
-                    ,"invoiceType":"${workInvoice.invoiceTypeStr}"
-                    ,"projNum":"${workInvoice.project.projectId}"
-                    ,"projectId":"${workInvoice.project.id}"
-                    ,"areaName":"${workInvoice.project.county}"
-                    ,"reportNumber":"${workInvoice.project.reportData.number}"
-					,"cancellationStatus":"${workInvoice.cancellationState}"
-                    ,"projName":"${workInvoice.projectName}"
-                    ,"clientName":"${workInvoice.client.name}"
-                    ,"officeName":"${workInvoice.office.name}"
-                    ,"responsibleName":"${workInvoice.createBy.name}"
-                    ,"receiptMoney":"${workInvoice.receiptMoney}"
-                    ,"status":"${workInvoice.invoiceState}"
-					,"widNumber":"${workInvoice.widNumber}"
-					,"widTotalMoney":"${workInvoice.widTotalMoney}"
-					,"accountCheckingArea":"${workInvoice.accountCheckingArea}"
-					,"isSzCloud":"${workInvoice.isSzCloud}"
-                    ,"money":"<fmt:formatNumber value="${workInvoice.money}" pattern="##0.00"/>"
-                    ,"invoiceDate":"<fmt:formatDate value="${workInvoice.invoiceDate}" pattern="yyyy-MM-dd"/>"
-                    ,"receiptMoneyDate":"<fmt:formatDate value="${workInvoice.receiptMoneyDate}" pattern="yyyy-MM-dd"/>"
-                    <c:if test="${workInvoice.invoiceState == '1' && fns:getUser().id == workInvoice.createBy.id}"><shiro:hasPermission name="workinvoice:workInvoice:edit">,"canedit1":"1"</shiro:hasPermission></c:if><%--暂存-修改--%>
-                    <c:if test="${workInvoice.invoiceState == '4' && fns:getUser().id == workInvoice.createBy.id}">,"canedit2":"1"</c:if><%--驳回--修改--%>
-                    <c:if test="${workInvoice.invoiceState == '9' && fns:getUser().id == workInvoice.createBy.id}">,"conditionCanedit":"1"</c:if><%--驳回--修改--%>
-                    <c:if test="${workInvoice.invoiceState == '11' && fns:getUser().id == workInvoice.createBy.id}">,"conditionCanedit3":"1"</c:if><%--作废撤回--修改--%>
-                    <c:if test="${workInvoice.invoiceState == '3' && fns:getUser().id == workInvoice.createBy.id}">,"canedit3":"1"</c:if><%--撤回--修改--%>
-                    <c:if test="${fns:getUser().id == workInvoice.createBy.id}"><c:if test="${workInvoice.invoiceState == '1' or workInvoice.invoiceState == '3' or workInvoice.invoiceState == '4'}"><shiro:hasPermission name="workinvoice:workInvoice:del">,"candelete":"1"</shiro:hasPermission></c:if></c:if>
-                    <c:if test="${fns:getUser().id == workInvoice.createBy.id}"><c:if test="${workInvoice.invoiceState == '9' || workInvoice.invoiceState == '11' }">,"conditionCandelete":"1"</c:if></c:if>
-                    <c:if test="${workInvoice.invoiceState == '2' && fns:getUser().id == workInvoice.createBy.id}">,"cancancel":"1"</c:if>
-                    <c:if test="${workInvoice.invoiceState == '6' && fns:getUser().id == workInvoice.createBy.id}">,"conditionCancancel":"1"</c:if>
+					,
+					"invoiceType": "${workInvoice.invoiceTypeStr}"
+					,
+					"projNum": "${workInvoice.project.projectId}"
+					,
+					"projectId": "${workInvoice.project.id}"
+					,
+					"areaName": "${workInvoice.project.county}"
+					,
+					"reportNumber": "${workInvoice.project.reportData.number}"
+					,
+					"cancellationStatus": "${workInvoice.cancellationState}"
+					,
+					"projName": "${workInvoice.projectName}"
+					,
+					"clientName": "${workInvoice.client.name}"
+					,
+					"officeName": "${workInvoice.office.name}"
+					,
+					"responsibleName": "${workInvoice.createBy.name}"
+					,
+					"receiptMoney": "${workInvoice.receiptMoney}"
+					,
+					"status": "${workInvoice.invoiceState}"
+					,
+					"widNumber": "${workInvoice.widNumber}"
+					,
+					"widTotalMoney": "${workInvoice.widTotalMoney}"
+					,
+					"accountCheckingArea": "${workInvoice.accountCheckingArea}"
+					,
+					"isSzCloud": "${workInvoice.isSzCloud}"
+					,
+					"money": "<fmt:formatNumber value="${workInvoice.money}" pattern="##0.00"/>"
+					,
+					"invoiceDate": "<fmt:formatDate value="${workInvoice.invoiceDate}" pattern="yyyy-MM-dd"/>"
+					,
+					"receiptMoneyDate": "<fmt:formatDate value="${workInvoice.receiptMoneyDate}" pattern="yyyy-MM-dd"/>"
+					<c:if test="${workInvoice.invoiceState == '1' && fns:getUser().id == workInvoice.createBy.id}"><shiro:hasPermission name="workinvoice:workInvoice:edit">,
+					"canedit1": "1"</shiro:hasPermission></c:if><%--暂存-修改--%>
+					<c:if test="${workInvoice.invoiceState == '4' && fns:getUser().id == workInvoice.createBy.id}">,
+					"canedit2": "1"</c:if><%--驳回--修改--%>
+					<c:if test="${workInvoice.invoiceState == '9' && fns:getUser().id == workInvoice.createBy.id}">,
+					"conditionCanedit": "1"</c:if><%--驳回--修改--%>
+					<c:if test="${workInvoice.invoiceState == '11' && fns:getUser().id == workInvoice.createBy.id}">,
+					"conditionCanedit3": "1"</c:if><%--作废撤回--修改--%>
+					<c:if test="${workInvoice.invoiceState == '3' && fns:getUser().id == workInvoice.createBy.id}">,
+					"canedit3": "1"</c:if><%--撤回--修改--%>
+					<c:if test="${fns:getUser().id == workInvoice.createBy.id}"><c:if test="${workInvoice.invoiceState == '1' or workInvoice.invoiceState == '3' or workInvoice.invoiceState == '4'}"><shiro:hasPermission name="workinvoice:workInvoice:del">,
+					"candelete": "1"</shiro:hasPermission></c:if></c:if>
+					<c:if test="${fns:getUser().id == workInvoice.createBy.id}"><c:if test="${workInvoice.invoiceState == '9' || workInvoice.invoiceState == '11' }">,
+					"conditionCandelete": "1"</c:if></c:if>
+					<c:if test="${workInvoice.invoiceState == '2' && fns:getUser().id == workInvoice.createBy.id}">,
+					"cancancel": "1"</c:if>
+					<c:if test="${workInvoice.invoiceState == '6' && fns:getUser().id == workInvoice.createBy.id}">,
+					"conditionCancancel": "1"</c:if>
 					<%--管理员修改--%>
 					<shiro:hasPermission name="workinvoice:workInvoice:adminModify">
-						<c:if test="${workInvoice.invoiceState == '5'}">,"adminModify":"1"</c:if>
+					<c:if test="${workInvoice.invoiceState == '5'}">,
+					"adminModify": "1"</c:if>
 					</shiro:hasPermission>
 					<shiro:hasPermission name="workinvoice:workInvoice:alteredit">
-                    <c:if test="${workInvoice.invoiceState == '5'}">,"canalter":"1"</c:if>
-                    </shiro:hasPermission>
-					,"cancellation":<c:choose>
+					<c:if test="${workInvoice.invoiceState == '5'}">,
+					"canalter": "1"</c:if>
+					</shiro:hasPermission>
+					,
+					"cancellation": <c:choose>
 							<c:when test="${workInvoice.invoiceState == '7'}">"是"</c:when>
 					<c:otherwise>"否"</c:otherwise>
 					</c:choose>
 					<shiro:hasPermission name="workinvoice:workInvoice:receipt">
-						,"financeFlag":
+					,
+					"financeFlag":
 							<c:choose>
-								<c:when test="${workInvoice.invoiceState == 5 && workInvoice.receiptMoney != '是'}">"1"</c:when>
-								<c:otherwise>"0"</c:otherwise>
-						</c:choose>
-						,"moneyReceiptFlag":
+							<c:when test="${workInvoice.invoiceState == 5 && workInvoice.receiptMoney != '是'}">"1"</c:when>
+					<c:otherwise>"0"</c:otherwise>
+					</c:choose>
+					,
+					"moneyReceiptFlag":
 							<c:choose>
-								<c:when test="${workInvoice.invoiceState == 5 && workInvoice.receiptMoney == '是'}">"1"</c:when>
-								<c:otherwise>"0"</c:otherwise>
-						</c:choose>
+							<c:when test="${workInvoice.invoiceState == 5 && workInvoice.receiptMoney == '是'}">"1"</c:when>
+					<c:otherwise>"0"</c:otherwise>
+					</c:choose>
 					</shiro:hasPermission>
 					<shiro:hasPermission name="workinvoice:workInvoice:invalid">
-						,"cancellationFlag":
+					,
+					"cancellationFlag":
 							<c:choose>
-								<c:when test="${workInvoice.invoiceState == 5}">"1"</c:when>
-								<c:otherwise>"0"</c:otherwise>
-						</c:choose>
+							<c:when test="${workInvoice.invoiceState == 5}">"1"</c:when>
+					<c:otherwise>"0"</c:otherwise>
+					</c:choose>
 					</shiro:hasPermission>
 					<shiro:hasPermission name="workinvoice:workInvoice:adminDel">
-						,"adminFlag":
+					,
+					"adminFlag":
 							<c:choose>
-								<c:when test="${workInvoice.invoiceState == 5}">"1"</c:when>
-								<c:otherwise>"0"</c:otherwise>
-						</c:choose>
+							<c:when test="${workInvoice.invoiceState == 5}">"1"</c:when>
+					<c:otherwise>"0"</c:otherwise>
+					</c:choose>
 					</shiro:hasPermission>
 					<shiro:hasPermission name="ruralProject:ruralProjectView:workInvoiceAllView">
-					,"showView":1
+					,
+					"showView": 1
 					</shiro:hasPermission>
 
 					<shiro:hasPermission name="workinvoice:workInvoice:modifyDetails">
-					,"modifyDetails":
+					,
+					"modifyDetails":
 							<c:choose>
 							<c:when test="${workInvoice.invoiceState == 5}">"1"</c:when>
 					<c:otherwise>"0"</c:otherwise>
 					</c:choose>
 					</shiro:hasPermission>
-                }
-                </c:forEach>
-                </c:if>
-            ]
-            // ,even: true
-            // ,height: 315
-        });
+					<shiro:hasPermission name="workinvoice:workInvoice:add">
+					,
+					"redInvoice":
+							<c:choose>
+							<c:when test="${workInvoice.invoiceState == 5}">"1"</c:when>
+					<c:otherwise>"0"</c:otherwise>
+					</c:choose>
+					</shiro:hasPermission>
+				}
+				</c:forEach>
+				</c:if>
+			]
+			// ,even: true
+			// ,height: 315
+		});
 
-    })
+	})
 
-    resizeListTable();/*消除由于有竖向滚动条造成table出现横向滚动条*/
+	resizeListTable();/*消除由于有竖向滚动条造成table出现横向滚动条*/
 </script>
 <script>
-    resizeListWindow2();
-    $(window).resize(function(){
+	resizeListWindow2();
+	$(window).resize(function(){
         resizeListWindow2();
     });
 </script>

File diff suppressed because it is too large
+ 1367 - 0
src/main/webapp/webpage/modules/workinvoice/workInvoiceAllRcForm.jsp


+ 115 - 66
src/main/webapp/webpage/modules/workinvoice/workInvoiceAllTwoList.jsp

@@ -827,7 +827,7 @@
                             var xml = "<span style=\"cursor:default;\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";
                         return xml;
                     }}
-                ,{field:'op',align:'center',title:"操作",fixed: 'right',width:220,templet:function(d){
+                ,{field:'op',align:'center',title:"操作",fixed: 'right',width:250,templet:function(d){
                         ////对操作进行初始化
                         var xml="<div class=\"layui-btn-group\">";
                         if(d.canedit1 != undefined && d.canedit1 =="1")
@@ -893,6 +893,11 @@
 						{
 							xml += "<a href=\"${ctx}/workinvoiceAllTwo/workinvoiceAllTwo/delete?id=" + d.id + "\" onclick=\"return confirmx('确认要删除该发票记录吗?', this.href)\"   class=\"layui-btn layui-btn-xs layui-bg-red\"> 删除</a>";
 						}
+
+						if(d.redInvoice != undefined && d.redInvoice =="1")
+						{
+							xml +="<a href=\"javascript:void(0)\" onclick=\"openDialogre('红冲', '${ctx}/workinvoiceAllTwo/workinvoiceAllTwo/rcForm?id=" + d.id + "&tabId=1','95%','95%')\" class=\"layui-btn layui-btn-xs layui-bg-red\" >红冲</a>";
+						}
 						xml+="</div>"
                         return xml;
 
@@ -902,96 +907,140 @@
                 <c:if test="${ not empty page.list}">
                 <c:forEach items="${page.list}" var="workInvoice" varStatus="index"><c:set var="Srole" scope="session" value="<%= UserUtils.getSelectRole().get(0).getEnname()%>"/>
                 <c:if test="${index.index != 0}">,</c:if>
-                {
-                    "index":"${index.index+1}"
-                    ,"id":"${workInvoice.id}"
-                    ,"invoiceNum":"${workInvoice.number}"
-                    ,"chargeType":"${fns:getMainDictLabels(workInvoice.chargeType,',','receipt_type', '')}"
-                    ,"billingContent":"${fns:getMainDictLabels(workInvoice.billingContent,',','billing_content', '')}"
-                    ,"invoiceType":"${workInvoice.invoiceTypeStr}"
-                    ,"projectId":"${workInvoice.project.id}"
-                    ,"projName":"${workInvoice.projectName}"
-                    ,"clientName":"${workInvoice.client.name}"
-                    ,"officeName":"${workInvoice.office.name}"
-                    ,"responsibleName":"${workInvoice.createBy.name}"
-                    ,"receiptMoney":"${workInvoice.receiptMoney}"
-                    ,"status":"${workInvoice.invoiceState}"
-					,"widNumber":"${workInvoice.widNumber}"
-					,"widTotalMoney":"${workInvoice.widTotalMoney}"
-					,"workAccountList":"${workInvoice.workAccountList}"
-					,"accountCheckingArea":"${workInvoice.accountCheckingArea}"
-					,"workAccountListStr":${fns:toJson(workInvoice.workAccountList)}
-					,"money":"<fmt:formatNumber value="${workInvoice.money}" pattern="##0.00"/>"
-                    ,"invoiceDate":"<fmt:formatDate value="${workInvoice.invoiceDate}" pattern="yyyy-MM-dd"/>"
-                    ,"receiptMoneyDate":"<fmt:formatDate value="${workInvoice.receiptMoneyDate}" pattern="yyyy-MM-dd"/>"
-                    <c:if test="${workInvoice.invoiceState == 1 && fns:getUser().id == workInvoice.createBy.id}"><shiro:hasPermission name="workinvoice:workInvoice:edit">,"canedit1":"1"</shiro:hasPermission></c:if><%--暂存-修改--%>
-                    <c:if test="${workInvoice.invoiceState == '4' && fns:getUser().id == workInvoice.createBy.id}">,"canedit2":"1"</c:if><%--驳回--修改--%>
-                    <c:if test="${workInvoice.invoiceState == '9' && fns:getUser().id == workInvoice.createBy.id}">,"conditionCanedit":"1"</c:if><%--驳回--修改--%>
-                    <c:if test="${workInvoice.invoiceState == '11' && fns:getUser().id == workInvoice.createBy.id}">,"conditionCanedit3":"1"</c:if><%--作废撤回--修改--%>
-                    <c:if test="${workInvoice.invoiceState == '3' && fns:getUser().id == workInvoice.createBy.id}">,"canedit3":"1"</c:if><%--撤回--修改--%>
-                    <c:if test="${fns:getUser().id == workInvoice.createBy.id}"><c:if test="${workInvoice.invoiceState == '1' or workInvoice.invoiceState == '3' or workInvoice.invoiceState == '4'}"><shiro:hasPermission name="workinvoice:workInvoice:del">,"candelete":"1"</shiro:hasPermission></c:if></c:if>
-                    <c:if test="${fns:getUser().id == workInvoice.createBy.id}"><c:if test="${workInvoice.invoiceState == '9' || workInvoice.invoiceState == '11' }">,"conditionCandelete":"1"</c:if></c:if>
-                    <c:if test="${workInvoice.invoiceState == '2' && fns:getUser().id == workInvoice.createBy.id}">,"cancancel":"1"</c:if>
-                    <c:if test="${workInvoice.invoiceState == '6' && fns:getUser().id == workInvoice.createBy.id}">,"conditionCancancel":"1"</c:if>
+				{
+					"index": "${index.index+1}"
+					,
+					"id": "${workInvoice.id}"
+					,
+					"invoiceNum": "${workInvoice.number}"
+					,
+					"chargeType": "${fns:getMainDictLabels(workInvoice.chargeType,',','receipt_type', '')}"
+					,
+					"billingContent": "${fns:getMainDictLabels(workInvoice.billingContent,',','billing_content', '')}"
+					,
+					"invoiceType": "${workInvoice.invoiceTypeStr}"
+					,
+					"projectId": "${workInvoice.project.id}"
+					,
+					"projName": "${workInvoice.projectName}"
+					,
+					"clientName": "${workInvoice.client.name}"
+					,
+					"officeName": "${workInvoice.office.name}"
+					,
+					"responsibleName": "${workInvoice.createBy.name}"
+					,
+					"receiptMoney": "${workInvoice.receiptMoney}"
+					,
+					"status": "${workInvoice.invoiceState}"
+					,
+					"widNumber": "${workInvoice.widNumber}"
+					,
+					"widTotalMoney": "${workInvoice.widTotalMoney}"
+					,
+					"workAccountList": "${workInvoice.workAccountList}"
+					,
+					"accountCheckingArea": "${workInvoice.accountCheckingArea}"
+					,
+					"workAccountListStr":${fns:toJson(workInvoice.workAccountList)}
+					,
+					"money": "<fmt:formatNumber value="${workInvoice.money}" pattern="##0.00"/>"
+					,
+					"invoiceDate": "<fmt:formatDate value="${workInvoice.invoiceDate}" pattern="yyyy-MM-dd"/>"
+					,
+					"receiptMoneyDate": "<fmt:formatDate value="${workInvoice.receiptMoneyDate}" pattern="yyyy-MM-dd"/>"
+					<c:if test="${workInvoice.invoiceState == 1 && fns:getUser().id == workInvoice.createBy.id}"><shiro:hasPermission name="workinvoice:workInvoice:edit">,
+					"canedit1": "1"</shiro:hasPermission></c:if><%--暂存-修改--%>
+					<c:if test="${workInvoice.invoiceState == '4' && fns:getUser().id == workInvoice.createBy.id}">,
+					"canedit2": "1"</c:if><%--驳回--修改--%>
+					<c:if test="${workInvoice.invoiceState == '9' && fns:getUser().id == workInvoice.createBy.id}">,
+					"conditionCanedit": "1"</c:if><%--驳回--修改--%>
+					<c:if test="${workInvoice.invoiceState == '11' && fns:getUser().id == workInvoice.createBy.id}">,
+					"conditionCanedit3": "1"</c:if><%--作废撤回--修改--%>
+					<c:if test="${workInvoice.invoiceState == '3' && fns:getUser().id == workInvoice.createBy.id}">,
+					"canedit3": "1"</c:if><%--撤回--修改--%>
+					<c:if test="${fns:getUser().id == workInvoice.createBy.id}"><c:if test="${workInvoice.invoiceState == '1' or workInvoice.invoiceState == '3' or workInvoice.invoiceState == '4'}"><shiro:hasPermission name="workinvoice:workInvoice:del">,
+					"candelete": "1"</shiro:hasPermission></c:if></c:if>
+					<c:if test="${fns:getUser().id == workInvoice.createBy.id}"><c:if test="${workInvoice.invoiceState == '9' || workInvoice.invoiceState == '11' }">,
+					"conditionCandelete": "1"</c:if></c:if>
+					<c:if test="${workInvoice.invoiceState == '2' && fns:getUser().id == workInvoice.createBy.id}">,
+					"cancancel": "1"</c:if>
+					<c:if test="${workInvoice.invoiceState == '6' && fns:getUser().id == workInvoice.createBy.id}">,
+					"conditionCancancel": "1"</c:if>
 					<%--管理员修改--%>
 					<shiro:hasPermission name="workinvoice:workInvoice:adminModify">
-						<c:if test="${workInvoice.invoiceState == '5'}">,"adminModify":"1"</c:if>
+					<c:if test="${workInvoice.invoiceState == '5'}">,
+					"adminModify": "1"</c:if>
 					</shiro:hasPermission>
 					<shiro:hasPermission name="workinvoice:workInvoice:alteredit">
-                    <c:if test="${workInvoice.invoiceState == '5'}">,"canalter":"1"</c:if>
-                    </shiro:hasPermission>
-					,"cancellation":<c:choose>
+					<c:if test="${workInvoice.invoiceState == '5'}">,
+					"canalter": "1"</c:if>
+					</shiro:hasPermission>
+					,
+					"cancellation": <c:choose>
 							<c:when test="${workInvoice.invoiceState == '7'}">"是"</c:when>
 					<c:otherwise>"否"</c:otherwise>
 					</c:choose>
 					<shiro:hasPermission name="workinvoice:workInvoice:receipt">
-						,"financeFlag":
+					,
+					"financeFlag":
 							<c:choose>
-								<c:when test="${workInvoice.invoiceState == 5 && workInvoice.receiptMoney == '否'}">"1"</c:when>
-								<c:otherwise>"0"</c:otherwise>
-						</c:choose>
+							<c:when test="${workInvoice.invoiceState == 5 && workInvoice.receiptMoney == '否'}">"1"</c:when>
+					<c:otherwise>"0"</c:otherwise>
+					</c:choose>
 					</shiro:hasPermission>
 					<shiro:hasPermission name="workinvoice:workInvoice:invalid">
-						,"cancellationFlag":
+					,
+					"cancellationFlag":
 							<c:choose>
-								<c:when test="${workInvoice.invoiceState == 5}">"1"</c:when>
-								<c:otherwise>"0"</c:otherwise>
-						</c:choose>
+							<c:when test="${workInvoice.invoiceState == 5}">"1"</c:when>
+					<c:otherwise>"0"</c:otherwise>
+					</c:choose>
 					</shiro:hasPermission>
 					<shiro:hasPermission name="workinvoice:workInvoice:adminDel">
-						,"adminFlag":
+					,
+					"adminFlag":
 							<c:choose>
-								<c:when test="${workInvoice.invoiceState == 5}">"1"</c:when>
-								<c:otherwise>"0"</c:otherwise>
-						</c:choose>
+							<c:when test="${workInvoice.invoiceState == 5}">"1"</c:when>
+					<c:otherwise>"0"</c:otherwise>
+					</c:choose>
 					</shiro:hasPermission>
 					<shiro:hasPermission name="workinvoice:workInvoice:modifyDetails">
-					,"modifyDetails":
-								<c:choose>
-									<c:when test="${workInvoice.invoiceState == 5}">"1"</c:when>
-									<c:otherwise>"0"</c:otherwise>
-								</c:choose>
+					,
+					"modifyDetails":
+							<c:choose>
+							<c:when test="${workInvoice.invoiceState == 5}">"1"</c:when>
+					<c:otherwise>"0"</c:otherwise>
+					</c:choose>
 					</shiro:hasPermission>
 					<shiro:hasPermission name="ruralProject:ruralProjectView:workInvoiceAllView">
-					,"showView":1
+					,
+					"showView": 1
 					</shiro:hasPermission>
+					<shiro:hasPermission name="workinvoice:workInvoice:add">
+					,
+					"redInvoice":
+							<c:choose>
+							<c:when test="${workInvoice.invoiceState == 5}">"1"</c:when>
+					<c:otherwise>"0"</c:otherwise>
+					</c:choose>
+					</shiro:hasPermission>
+				}
+				</c:forEach>
+				</c:if>
+			]
+			// ,even: true
 
-                }
-                </c:forEach>
-                </c:if>
-            ]
-            // ,even: true
-
-            // ,height: 315
-        });
+			// ,height: 315
+		});
 
-    })
+	})
 
-    resizeListTable();/*消除由于有竖向滚动条造成table出现横向滚动条*/
+	resizeListTable();/*消除由于有竖向滚动条造成table出现横向滚动条*/
 </script>
 <script>
-    resizeListWindow2();
-    $(window).resize(function(){
+	resizeListWindow2();
+	$(window).resize(function(){
         resizeListWindow2();
     });
 </script>

+ 94 - 42
src/main/webapp/webpage/modules/workinvoice/workInvoiceTwoList.jsp

@@ -955,6 +955,10 @@
 						{
 							xml += "<a href=\"${ctx}/workinvoiceTwo/workinvoiceTwo/delete?id=" + d.id + "\" onclick=\"return confirmx('确认要删除该发票记录吗?', this.href)\"   class=\"layui-btn layui-btn-xs layui-bg-red\"> 删除</a>";
 						}
+						if(d.redInvoice != undefined && d.redInvoice =="1")
+						{
+							xml +="<a href=\"javascript:void(0)\" onclick=\"openDialogre('红冲', '${ctx}/workinvoiceAllTwo/workinvoiceAllTwo/rcForm?id=" + d.id + "&tabId=1','95%','95%')\" class=\"layui-btn layui-btn-xs layui-bg-red\" >红冲</a>";
+						}
 						xml+="</div>"
 						return xml;
 
@@ -965,57 +969,105 @@
 				<c:forEach items="${page.list}" var="workInvoice" varStatus="index"><c:set var="Srole" scope="session" value="<%= UserUtils.getSelectRole().get(0).getEnname()%>"/>
 				<c:if test="${index.index != 0}">,</c:if>
 				{
-					"index":"${index.index+1}"
-					,"id":"${workInvoice.id}"
-					,"invoiceNum":"${workInvoice.number}"
-					,"chargeType":"${fns:getMainDictLabels(workInvoice.chargeType,',','receipt_type', '')}"
-					,"billingContent":"${fns:getMainDictLabels(workInvoice.billingContent,',','billing_content', '')}"
+					"index": "${index.index+1}"
+					,
+					"id": "${workInvoice.id}"
+					,
+					"invoiceNum": "${workInvoice.number}"
+					,
+					"chargeType": "${fns:getMainDictLabels(workInvoice.chargeType,',','receipt_type', '')}"
+					,
+					"billingContent": "${fns:getMainDictLabels(workInvoice.billingContent,',','billing_content', '')}"
 					<c:if test="${workInvoice.isSzCloud != null && workInvoice.isSzCloud != '' && workInvoice.isSzCloud == 'sz'}">
-					,"chargeType":"${workInvoice.chargeType}"
-					,"billingContent":"${workInvoice.billingContent}"
+					,
+					"chargeType": "${workInvoice.chargeType}"
+					,
+					"billingContent": "${workInvoice.billingContent}"
 					</c:if>
-					,"invoiceType":"${workInvoice.invoiceTypeStr}"
-					,"projectId":"${workInvoice.project.id}"
-					,"projName":"${workInvoice.projectName}"
-					,"clientName":"${workInvoice.client.name}"
-					,"officeName":"${workInvoice.office.name}"
-					,"responsibleName":"${workInvoice.createBy.name}"
-					,"receiptMoney":"${workInvoice.receiptMoney}"
-					,"status":"${workInvoice.invoiceState}"
-					,"cancellationStatus":"${workInvoice.cancellationState}"
-					,"notifyFlag":"${workInvoice.notifyFlag}"
-					,"notifyId":"${workInvoice.notifyId}"
-					,"widNumber":"${workInvoice.widNumber}"
-					,"widTotalMoney":"${workInvoice.widTotalMoney}"
-					,"workAccountList":"${workInvoice.workAccountList}"
-					,"electronicInvoiceFlag":"${workInvoice.electronicInvoiceFlag}"
-					,"accountCheckingArea":"${workInvoice.accountCheckingArea}"
-					,"workAccountListStr":${fns:toJson(workInvoice.workAccountList)}
-					,"isSzCloud":"${workInvoice.isSzCloud}"
-					,"money":"<fmt:formatNumber value="${workInvoice.money}" pattern="##0.00"/>"
-					,"invoiceDate":"<fmt:formatDate value="${workInvoice.invoiceDate}" pattern="yyyy-MM-dd"/>"
-					,"receiptMoneyDate":"<fmt:formatDate value="${workInvoice.receiptMoneyDate}" pattern="yyyy-MM-dd"/>"
-					<c:if test="${workInvoice.invoiceState == 1 && fns:getUser().id == workInvoice.createBy.id}"><shiro:hasPermission name="workinvoice:workInvoice:edit">,"canedit1":"1"</shiro:hasPermission></c:if><%--暂存-修改--%>
-					<c:if test="${workInvoice.invoiceState == '4' && fns:getUser().id == workInvoice.createBy.id}">,"canedit2":"1"</c:if><%--驳回--修改--%>
-					<c:if test="${(workInvoice.invoiceState == '9' || workInvoice.cancellationState == '9') && fns:getUser().id == workInvoice.createBy.id}">,"conditionCanedit":"1"</c:if><%--驳回--修改--%>
-					<c:if test="${(workInvoice.cancellationState == '11' || workInvoice.invoiceState == '11') && fns:getUser().id == workInvoice.createBy.id}">,"conditionCanedit3":"1"</c:if><%--作废撤回--修改--%>
-					<c:if test="${workInvoice.invoiceState == '3' && fns:getUser().id == workInvoice.createBy.id}">,"canedit3":"1"</c:if><%--撤回--修改--%>
-					<c:if test="${fns:getUser().id == workInvoice.createBy.id}"><c:if test="${workInvoice.invoiceState == '1' or workInvoice.invoiceState == '3' or workInvoice.invoiceState == '4'}"><shiro:hasPermission name="workinvoice:workInvoice:del">,"candelete":"1"</shiro:hasPermission></c:if></c:if>
-					<c:if test="${fns:getUser().id == workInvoice.createBy.id}"><c:if test="${workInvoice.invoiceState == '9' || workInvoice.invoiceState == '11' || workInvoice.cancellationState == '9' || workInvoice.cancellationState == '11' }">,"conditionCandelete":"1"</c:if></c:if>
-					<c:if test="${workInvoice.invoiceState == '2' && fns:getUser().id == workInvoice.createBy.id}">,"cancancel":"1"</c:if>
-					<c:if test="${(workInvoice.cancellationState == '6' ||workInvoice.invoiceState == '6') && fns:getUser().id == workInvoice.createBy.id}">,"conditionCancancel":"1"</c:if>
-					<c:if test="${workInvoice.invoiceState == '5' && (workInvoice.cancellationState == '' or workInvoice.cancellationState == undefined or  workInvoice.cancellationState == '0') && fns:getUser().id == workInvoice.createBy.id}">,"cancellationFlag":"1"</c:if>
+					,
+					"invoiceType": "${workInvoice.invoiceTypeStr}"
+					,
+					"projectId": "${workInvoice.project.id}"
+					,
+					"projName": "${workInvoice.projectName}"
+					,
+					"clientName": "${workInvoice.client.name}"
+					,
+					"officeName": "${workInvoice.office.name}"
+					,
+					"responsibleName": "${workInvoice.createBy.name}"
+					,
+					"receiptMoney": "${workInvoice.receiptMoney}"
+					,
+					"status": "${workInvoice.invoiceState}"
+					,
+					"cancellationStatus": "${workInvoice.cancellationState}"
+					,
+					"notifyFlag": "${workInvoice.notifyFlag}"
+					,
+					"notifyId": "${workInvoice.notifyId}"
+					,
+					"widNumber": "${workInvoice.widNumber}"
+					,
+					"widTotalMoney": "${workInvoice.widTotalMoney}"
+					,
+					"workAccountList": "${workInvoice.workAccountList}"
+					,
+					"electronicInvoiceFlag": "${workInvoice.electronicInvoiceFlag}"
+					,
+					"accountCheckingArea": "${workInvoice.accountCheckingArea}"
+					,
+					"workAccountListStr":${fns:toJson(workInvoice.workAccountList)}
+					,
+					"isSzCloud": "${workInvoice.isSzCloud}"
+					,
+					"money": "<fmt:formatNumber value="${workInvoice.money}" pattern="##0.00"/>"
+					,
+					"invoiceDate": "<fmt:formatDate value="${workInvoice.invoiceDate}" pattern="yyyy-MM-dd"/>"
+					,
+					"receiptMoneyDate": "<fmt:formatDate value="${workInvoice.receiptMoneyDate}" pattern="yyyy-MM-dd"/>"
+					<c:if test="${workInvoice.invoiceState == 1 && fns:getUser().id == workInvoice.createBy.id}"><shiro:hasPermission name="workinvoice:workInvoice:edit">,
+					"canedit1": "1"</shiro:hasPermission></c:if><%--暂存-修改--%>
+					<c:if test="${workInvoice.invoiceState == '4' && fns:getUser().id == workInvoice.createBy.id}">,
+					"canedit2": "1"</c:if><%--驳回--修改--%>
+					<c:if test="${(workInvoice.invoiceState == '9' || workInvoice.cancellationState == '9') && fns:getUser().id == workInvoice.createBy.id}">,
+					"conditionCanedit": "1"</c:if><%--驳回--修改--%>
+					<c:if test="${(workInvoice.cancellationState == '11' || workInvoice.invoiceState == '11') && fns:getUser().id == workInvoice.createBy.id}">,
+					"conditionCanedit3": "1"</c:if><%--作废撤回--修改--%>
+					<c:if test="${workInvoice.invoiceState == '3' && fns:getUser().id == workInvoice.createBy.id}">,
+					"canedit3": "1"</c:if><%--撤回--修改--%>
+					<c:if test="${fns:getUser().id == workInvoice.createBy.id}"><c:if test="${workInvoice.invoiceState == '1' or workInvoice.invoiceState == '3' or workInvoice.invoiceState == '4'}"><shiro:hasPermission name="workinvoice:workInvoice:del">,
+					"candelete": "1"</shiro:hasPermission></c:if></c:if>
+					<c:if test="${fns:getUser().id == workInvoice.createBy.id}"><c:if test="${workInvoice.invoiceState == '9' || workInvoice.invoiceState == '11' || workInvoice.cancellationState == '9' || workInvoice.cancellationState == '11' }">,
+					"conditionCandelete": "1"</c:if></c:if>
+					<c:if test="${workInvoice.invoiceState == '2' && fns:getUser().id == workInvoice.createBy.id}">,
+					"cancancel": "1"</c:if>
+					<c:if test="${(workInvoice.cancellationState == '6' ||workInvoice.invoiceState == '6') && fns:getUser().id == workInvoice.createBy.id}">,
+					"conditionCancancel": "1"</c:if>
+					<c:if test="${workInvoice.invoiceState == '5' && (workInvoice.cancellationState == '' or workInvoice.cancellationState == undefined or  workInvoice.cancellationState == '0') && fns:getUser().id == workInvoice.createBy.id}">,
+					"cancellationFlag": "1"</c:if>
 
 
 					<shiro:hasPermission name="workinvoice:workInvoice:alteredit">
-					<c:if test="${workInvoice.invoiceState == '5'}">,"canalter":"1"</c:if>
+					<c:if test="${workInvoice.invoiceState == '5'}">,
+					"canalter": "1"</c:if>
 					</shiro:hasPermission>
-					,"cancellation":<c:choose>
+					,
+					"cancellation": <c:choose>
 							<c:when test="${workInvoice.cancellationState == '7' or workInvoice.invoiceState == '7'}">"是"</c:when>
 					<c:otherwise>"否"</c:otherwise>
 					</c:choose>
 					<shiro:hasPermission name="ruralProject:ruralProjectView:workInvoiceView">
-					,"showView":1
+					,
+					"showView": 1
+					</shiro:hasPermission>
+					<shiro:hasPermission name="workinvoice:workInvoice:add">
+					,
+					"redInvoice":
+							<c:choose>
+							<c:when test="${workInvoice.invoiceState == '5'}">1</c:when>
+					<c:otherwise>0</c:otherwise>
+					</c:choose>
 					</shiro:hasPermission>
 					<%--					<shiro:hasPermission name="workinvoice:workInvoice:receipt">--%>
 					<%--						,"financeFlag":--%>
@@ -1052,7 +1104,7 @@
 </script>
 <script>
 	resizeListWindow2();
-	$(window).resize(function(){
+	$(window).resize(function () {
 		resizeListWindow2();
 	});
 </script>