huangguoce 1 месяц назад
Родитель
Сommit
c284e568df

+ 9 - 1
src/main/java/com/jeeplus/modules/workinvoice/entity/WorkInvoice.java

@@ -132,8 +132,8 @@ public class WorkInvoice extends ActEntity<WorkInvoice> {
 	private String redInvoiceRelevancyId;	//红字发票关联其他发票id
 	private String redInvoiceRelevancyNumber;	//红字发票关联其他发票编号
 	private Integer relatedInvoice;	//是否关联发票
-
 	private String situationDetail;	//情况说明
+	private String redFlushReason;	//红冲原因
 	private List<String> redNotStatusList;
 	private List<WorkInvoiceCloud> workInvoiceCloudList;
 	private String isSzCloud; //判断是否是苏州分公司的发票数据
@@ -1002,6 +1002,14 @@ public class WorkInvoice extends ActEntity<WorkInvoice> {
 		this.situationDetail = situationDetail;
 	}
 
+	public String getRedFlushReason() {
+		return redFlushReason;
+	}
+
+	public void setRedFlushReason(String redFlushReason) {
+		this.redFlushReason = redFlushReason;
+	}
+
 	public String getOmsAccessTokenError() {
 		return omsAccessTokenError;
 	}

+ 5 - 0
src/main/java/com/jeeplus/modules/workinvoice/service/WorkInvoiceService.java

@@ -219,6 +219,11 @@ public class WorkInvoiceService extends CrudService<WorkInvoiceDao, WorkInvoice>
 		return dao.getInvoiceNumberStr(invoiceId);
 	}
 
+	public Double getMoneyByInvoiceId(String invoiceId) {
+		WorkInvoice invoice = dao.getById(invoiceId);
+		return invoice.getMoney();
+	}
+
 	/**
 	 * 根据开票id查询关联项目
 	 * @param workInvoice

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

@@ -1535,6 +1535,8 @@ public class WorkInvoiceAllTwoController extends BaseController {
 		//将发票金额改为负数
 		workInvoice.setMoney(-Math.abs(workInvoice.getMoney()));
 		workInvoice.setInvoiceState(null);
+		//设置默认红冲原因
+		workInvoice.setRedFlushReason("01");
 		//清空发票列表
 		workInvoice.setWorkAccountList(null);
 		model.addAttribute("showFlag", "2");

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

@@ -1783,7 +1783,9 @@ public class WorkInvoiceTwoController extends BaseController {
 	public String getInvoiceNumberStr(String invoiceId) {
 		HashMap<Object, Object> map = Maps.newHashMap();
 		String invoiceNumberStr = workInvoiceService.getInvoiceNumberStr(invoiceId);
+		Double  money = workInvoiceService.getMoneyByInvoiceId(invoiceId);
 		map.put("data",invoiceNumberStr);
+		map.put("money",money);
 		return JsonMapper.toJsonString(map);
 	}
 
@@ -1861,6 +1863,8 @@ public class WorkInvoiceTwoController extends BaseController {
 		//将发票金额改为负数
 		workInvoice.setMoney(-Math.abs(workInvoice.getMoney()));
 		workInvoice.setInvoiceState(null);
+		//设置默认红冲原因
+		workInvoice.setRedFlushReason("01");
 		//清空发票列表
 		workInvoice.setWorkAccountList(null);
 		model.addAttribute("workInvoice", workInvoice);

+ 5 - 0
src/main/resources/mappings/modules/workinvoice/WorkInvoiceDao.xml

@@ -72,6 +72,7 @@
 		a.cancellation_state as "cancellationState",
 		a.related_invoice as "relatedInvoice",
 		a.situation_detail as "situationDetail",
+		a.red_flush_reason as "redFlushReason",
 		a.red_invoice_flag as "redInvoiceFlag",
 		a.red_invoice_relevancy_id as "redInvoiceRelevancyId",
 		a.red_invoice_relevancy_number as "redInvoiceRelevancyNumber",
@@ -165,6 +166,7 @@
 		SELECT
 			<include refid="workInvoiceColumns"/>
 			,
+
 		acu.name as "accountCheckingUserName"
 		,actu.name as "actualDrawerName"
 		,a.is_sz_cloud as "isSzCloud"
@@ -1982,6 +1984,7 @@
 			red_invoice_relevancy_number,
 			related_invoice,
 			situation_detail,
+			red_flush_reason,
 			id_card,
 			is_sz_cloud
 		) VALUES (
@@ -2035,6 +2038,7 @@
 			#{redInvoiceRelevancyNumber},
 			#{relatedInvoice},
 			#{situationDetail},
+		    #{redFlushReason},
 		    #{idCard},
 		    #{isSzCloud}
 		)
@@ -2097,6 +2101,7 @@
 			,red_invoice_relevancy_number = #{redInvoiceRelevancyNumber}
 		    ,related_invoice  = #{relatedInvoice}
 		    ,situation_detail  = #{situationDetail}
+		    ,red_flush_reason  = #{redFlushReason}
 			,id_card = #{idCard}
 		WHERE id = #{id}
 	</update>

+ 65 - 0
src/main/webapp/webpage/modules/workinvoice/workInvoiceAllForm.jsp

@@ -92,6 +92,26 @@
 
 					}
 
+					// 根据红冲原因校验金额
+					var redFlushReason=$('input:radio[name="redFlushReason"]:checked').val();
+					var moneyStr = $("#moneyStr").val()
+					var money =$("#money").val()
+					console.log(money, -Math.abs(moneyStr))
+					if ($(".redFlushReason").is(":visible")) {
+						if (redFlushReason == "01") {
+							if (money != -Math.abs(moneyStr)) {
+								parent.layer.msg("发票金额必须和需要红冲的金额相同", {icon: 0});
+								return false;
+							}
+						}
+						if (redFlushReason == "04") {
+							if (money < -Math.abs(moneyStr)) {
+								parent.layer.msg("发票金额必须小于红冲的金额", {icon: 0});
+								return false;
+							}
+						}
+					}
+
 					if($('#actualDrawerEmailAddress').val()==null||$('#actualDrawerEmailAddress').val()=="") {
 						parent.layer.msg("请填写电子邮箱!", {icon: 5});
 						return false;
@@ -131,6 +151,7 @@
 			if(undefined == redInvoiceFlag || null == redInvoiceFlag || '' == redInvoiceFlag || redInvoiceFlag == "0"){
 				document.getElementsByName("redInvoiceFlag")[1].checked = true;
 				$(".relatedInvoice").hide();
+				$(".redFlushReason").hide();
 				$(".redInvoice").hide();
 				$(".situationDetail").hide();
 			}else{
@@ -140,14 +161,24 @@
 				if(undefined == relatedInvoice || null == relatedInvoice || '' == relatedInvoice || relatedInvoice == "0"){
 					document.getElementsByName("relatedInvoice")[1].checked = true;
 					$(".redInvoice").hide();
+					$(".redFlushReason").hide();
 					$(".situationDetail").show();
 				}else{
 					document.getElementsByName("relatedInvoice")[0].checked = true;
 					$(".redInvoice").show();
+					$(".redFlushReason").show();
 					$(".situationDetail").hide();
 				}
 			}
 
+			var redFlushReason = '${workInvoice.redFlushReason}';//后端获取值
+			if(redFlushReason == "01"){
+				document.getElementsByName("redFlushReason")[0].checked = true;
+			}
+			if(redFlushReason == "04"){
+				document.getElementsByName("redFlushReason")[1].checked = true;
+			}
+
 			var newDrawerRadio = '${workInvoice.newDrawer}';//后端获取值
 			if(undefined == newDrawerRadio || null == newDrawerRadio || '' == newDrawerRadio || newDrawerRadio == "1"){
 				document.getElementsByName("newDrawer")[0].checked = true;
@@ -188,11 +219,14 @@
 
 					if (radioVal == "1") {
 						$(".relatedInvoice").show();
+						$(".redFlushReason").show();
+						document.getElementsByName("redFlushReason")[0].checked = true;
 						document.getElementsByName("relatedInvoice")[0].checked = true;
 						$(".situationDetail").hide();
 						$(".redInvoice").show();
 					} else {
 						$(".relatedInvoice").hide();
+						$(".redFlushReason").hide();
 						$(".situationDetail").hide();
 						$(".redInvoice").hide();
 					}
@@ -204,6 +238,7 @@
 					if (radioVal == "1") {
 						$('textarea[name="situationDetail"]').val('');
 						$(".situationDetail").hide();
+						$(".redFlushReason").show();
 						$(".redInvoice").show();
 					} else {
 						// 切换时清空数据
@@ -212,6 +247,25 @@
 						$("#invoiceNumberStr").val("")
 						$(".redInvoice").hide();
 						$(".situationDetail").show();
+						$(".redFlushReason").hide();
+					}
+					form.render("radio");
+				});
+
+				// 监听红冲原因变化
+				form.on('radio(redFlushReasonRadio)', function (event) {
+					var radioVal = $(this).val();
+					var moneyStr = $("#moneyStr").val()
+					var money =$("#money").val()
+					if (radioVal == "01") {
+						if(money != -Math.abs(moneyStr)){
+							parent.layer.msg("发票金额必须和需要红冲的金额相同",{icon:0});
+						}
+					}
+					if (radioVal == "04") {
+						if(money < -Math.abs(moneyStr)){
+							parent.layer.msg("发票金额必须小于红冲的金额",{icon:0});
+						}
 					}
 					form.render("radio");
 				});
@@ -450,6 +504,7 @@
 				success:function(data){
 					var d = JSON.parse(data);
 					$("#invoiceNumberStr").val(d.data);
+					$("#moneyStr").val(d.money);
 				}
 			})
 		}
@@ -467,12 +522,14 @@
 				$('input[name="redInvoiceFlag"][value="1"]').prop("checked", true);
 				$(".relatedInvoice").show();
 				$('input[name="relatedInvoice"][value="1"]').prop("checked", true);
+				$(".redFlushReason").show();
 				$(".redInvoice").show();
 				$('textarea[name="situationDetail"]').val('');
 				$(".situationDetail").hide();
 			}else{
 				$('input[name="redInvoiceFlag"][value="0"]').prop("checked", true);
 				$(".relatedInvoice").hide();
+				$(".redFlushReason").hide();
 				$(".redInvoice").hide();
 			}
 			// 重新渲染表单,使得 layui 重新应用样式和事件
@@ -1034,6 +1091,7 @@
 		<form:form id="inputForm" modelAttribute="workInvoice" action="${ctx}/workinvoice/workInvoice/save" method="post" class="layui-form">
 			<form:hidden path="id"/>
 			<form:hidden path="invoiceDate"/>
+			<form:hidden path="moneyStr"/>
 			<form:hidden path="province" id="province"/>
 			<input type="hidden" id="projectFlag" value="${workInvoice.projectFlag}">
 			<input type="hidden" id="showFlag" name="showFlag" value="${showFlag}">
@@ -1246,6 +1304,13 @@
 						<input type="radio" name="relatedInvoice" lay-filter="relatedInvoiceRadio" title="否" value="0">
 					</div>
 				</div>
+				<div class="layui-item layui-col-sm6 redFlushReason">
+					<label class="layui-form-label "><span class="require-item">*</span>红冲原因:</label>
+					<div class="layui-input-block">
+						<input type="radio" name="redFlushReason" lay-filter="redFlushReasonRadio" title="发票有误" value="01">
+						<input type="radio" name="redFlushReason" lay-filter="redFlushReasonRadio" title="销售折让" value="04">
+					</div>
+				</div>
 				<div class="layui-item layui-col-sm12 with-textarea situationDetail">
 					<label class="layui-form-label double-line"><span class="require-item">*</span>红冲情况说明:</label>
 					<div class="layui-input-block">

+ 66 - 0
src/main/webapp/webpage/modules/workinvoice/workInvoiceAllModify.jsp

@@ -51,6 +51,24 @@
 
 				}
 
+				// 根据红冲原因校验金额
+				var redFlushReason=$('input:radio[name="redFlushReason"]:checked').val();
+				var moneyStr = $("#moneyStr").val()
+				var money =$("#money").val()
+				if ($(".redFlushReason").is(":visible")) {
+					if (redFlushReason == "01") {
+						if (money != -Math.abs(moneyStr)) {
+							parent.layer.msg("发票金额必须和需要红冲的金额相同", {icon: 0});
+							return false;
+						}
+					}
+					if (redFlushReason == "04") {
+						if (money < -Math.abs(moneyStr)) {
+							parent.layer.msg("发票金额必须小于红冲的金额", {icon: 0});
+							return false;
+						}
+					}
+				}
 				if(obj == 2){
 					$("#flag").val("no");
 
@@ -79,6 +97,8 @@
 						return flags;
 					}
 				}
+
+
 				$("#chargeType").removeAttr("disabled")
 				$("#inputForm").submit();
 				return true;
@@ -116,22 +136,34 @@
 
 					if (radioVal == "1") {
 						$(".relatedInvoice").show();
+						$(".redFlushReason").show();
+						document.getElementsByName("redFlushReason")[0].checked = true;
 						document.getElementsByName("relatedInvoice")[0].checked = true;
 						$(".situationDetail").hide();
 						$(".redInvoice").show();
 					} else {
 						$(".relatedInvoice").hide();
+						$(".redFlushReason").hide();
 						$(".situationDetail").hide();
 						$(".redInvoice").hide();
 					}
 					form.render("radio");
 				});
 
+				var redFlushReason = '${workInvoice.redFlushReason}';//后端获取值
+				if(redFlushReason == "01"){
+					document.getElementsByName("redFlushReason")[0].checked = true;
+				}
+				if(redFlushReason == "04"){
+					document.getElementsByName("redFlushReason")[1].checked = true;
+				}
+
 				form.on('radio(relatedInvoiceRadio)', function (event) {
 					var radioVal = $(this).val();
 					if (radioVal == "1") {
 						$('textarea[name="situationDetail"]').val('');
 						$(".situationDetail").hide();
+						$(".redFlushReason").show();
 						$(".redInvoice").show();
 					} else {
 						// 切换时清空数据
@@ -140,6 +172,26 @@
 						$("#invoiceNumberStr").val("")
 						$(".redInvoice").hide();
 						$(".situationDetail").show();
+						$(".redFlushReason").hide();
+					}
+					form.render("radio");
+				});
+
+				// 监听红冲原因变化
+				form.on('radio(redFlushReasonRadio)', function (event) {
+					var radioVal = $(this).val();
+					var moneyStr =  $("#moneyStr").val()
+					var money =$("#money").val()
+					console.log(money, -Math.abs(moneyStr))
+					if (radioVal == "01") {
+						if(money != -Math.abs(moneyStr)){
+							parent.layer.msg("发票金额必须和需要红冲的金额相同",{icon:0});
+						}
+					}
+					if (radioVal == "04") {
+						if(money < -Math.abs(moneyStr)){
+							parent.layer.msg("发票金额必须小于红冲的金额",{icon:0});
+						}
 					}
 					form.render("radio");
 				});
@@ -210,6 +262,7 @@
 			if(undefined == redInvoiceFlag || null == redInvoiceFlag || '' == redInvoiceFlag || redInvoiceFlag == "0"){
 				document.getElementsByName("redInvoiceFlag")[1].checked = true;
 				$(".relatedInvoice").hide();
+				$(".redFlushReason").hide();
 				$(".redInvoice").hide();
 				$(".situationDetail").hide();
 			}else{
@@ -219,10 +272,12 @@
 				if(undefined == relatedInvoice || null == relatedInvoice || '' == relatedInvoice || relatedInvoice == "0"){
 					document.getElementsByName("relatedInvoice")[1].checked = true;
 					$(".redInvoice").hide();
+					$(".redFlushReason").hide();
 					$(".situationDetail").show();
 				}else{
 					document.getElementsByName("relatedInvoice")[0].checked = true;
 					$(".redInvoice").show();
+					$(".redFlushReason").show();
 					$(".situationDetail").hide();
 				}
 			}
@@ -399,6 +454,7 @@
 				success:function(data){
 					var d = JSON.parse(data);
 					$("#invoiceNumberStr").val(d.data);
+					$("#moneyStr").val(d.money);
 				}
 			})
 		}
@@ -416,11 +472,13 @@
 				$('input[name="redInvoiceFlag"][value="1"]').prop("checked", true);
 				$(".relatedInvoice").show();
 				$('input[name="relatedInvoice"][value="1"]').prop("checked", true);
+				$(".redFlushReason").show();
 				$(".redInvoice").show();
 				$('textarea[name="situationDetail"]').val('');
 				$(".situationDetail").hide();
 			}else{
 				$('input[name="redInvoiceFlag"][value="0"]').prop("checked", true);
+				$(".redFlushReason").hide();
 				$(".relatedInvoice").hide();
 				$(".redInvoice").hide();
 			}
@@ -957,6 +1015,7 @@
 		<form:form id="inputForm" modelAttribute="workInvoice" action="${ctx}/workinvoiceAll/workInvoiceAll/saveAudit" method="post" class="form-horizontal layui-form">
 			<form:hidden path="id"/>
 			<form:hidden path="invoiceDate"/>
+			<form:hidden path="moneyStr"/>
 			<form:hidden path="home"/>
 			<form:hidden path="act.taskId"/>
 			<form:hidden path="act.taskName"/>
@@ -1171,6 +1230,13 @@
 						<input type="radio" name="relatedInvoice" lay-filter="relatedInvoiceRadio" title="否" value="0">
 					</div>
 				</div>
+				<div class="layui-item layui-col-sm6 redFlushReason">
+					<label class="layui-form-label "><span class="require-item">*</span>红冲原因:</label>
+					<div class="layui-input-block">
+						<input type="radio" name="redFlushReason" lay-filter="redFlushReasonRadio" title="发票有误" value="01">
+						<input type="radio" name="redFlushReason" lay-filter="redFlushReasonRadio" title="销售折让" value="04">
+					</div>
+				</div>
 				<div class="layui-item layui-col-sm12 with-textarea situationDetail">
 					<label class="layui-form-label double-line"><span class="require-item">*</span>红冲情况说明:</label>
 					<div class="layui-input-block">

+ 67 - 1
src/main/webapp/webpage/modules/workinvoice/workInvoiceAllRcForm.jsp

@@ -92,6 +92,25 @@
 
 					}
 
+					// 根据红冲原因校验金额
+					var redFlushReason=$('input:radio[name="redFlushReason"]:checked').val();
+					var moneyStr = $("#moneyStr").val()
+					var money =$("#money").val()
+					if ($(".redFlushReason").is(":visible")) {
+						if (redFlushReason == "01") {
+							if(money != -Math.abs(moneyStr)){
+								parent.layer.msg("发票金额必须和需要红冲的金额相同",{icon:0});
+								return false;
+							}
+						}
+						if (redFlushReason == "04") {
+							if(money < -Math.abs(moneyStr)){
+								parent.layer.msg("发票金额必须小于红冲的金额",{icon:0});
+								return false;
+							}
+						}
+					}
+
 					if($('#actualDrawerEmailAddress').val()==null||$('#actualDrawerEmailAddress').val()=="") {
 						parent.layer.msg("请填写电子邮箱!", {icon: 5});
 						return false;
@@ -104,7 +123,7 @@
 					}
 					if (flag){
 						$("#inputForm").attr("action","${ctx}/workinvoice/workInvoice/save");
-					}else if (!flags){
+					}else if (!flag){
 						return flag;
 					}
 				}
@@ -130,23 +149,35 @@
 			if(undefined == redInvoiceFlag || null == redInvoiceFlag || '' == redInvoiceFlag || redInvoiceFlag == "0"){
 				document.getElementsByName("redInvoiceFlag")[1].checked = true;
 				$(".relatedInvoice").hide();
+				$(".redFlushReason").hide();
 				$(".redInvoice").hide();
 				$(".situationDetail").hide();
 			}else{
 				document.getElementsByName("redInvoiceFlag")[0].checked = true;
 				$(".relatedInvoice").show();
 				var relatedInvoice = '${workInvoice.relatedInvoice}';//后端获取值
+				document.getElementsByName("redFlushReason")[0].checked = true;
 				if(undefined == relatedInvoice || null == relatedInvoice || '' == relatedInvoice || relatedInvoice == "0"){
 					document.getElementsByName("relatedInvoice")[1].checked = true;
 					$(".redInvoice").hide();
+					$(".redFlushReason").hide();
 					$(".situationDetail").show();
 				}else{
 					document.getElementsByName("relatedInvoice")[0].checked = true;
 					$(".redInvoice").show();
+					$(".redFlushReason").show();
 					$(".situationDetail").hide();
 				}
 			}
 
+			var redFlushReason = '${workInvoice.redFlushReason}';//后端获取值
+			if(redFlushReason == "01"){
+				document.getElementsByName("redFlushReason")[0].checked = true;
+			}
+			if(redFlushReason == "04"){
+				document.getElementsByName("redFlushReason")[1].checked = true;
+			}
+
 			var newDrawerRadio = '${workInvoice.newDrawer}';//后端获取值
 			if(undefined == newDrawerRadio || null == newDrawerRadio || '' == newDrawerRadio || newDrawerRadio == "1"){
 				document.getElementsByName("newDrawer")[0].checked = true;
@@ -186,11 +217,14 @@
 
 					if (radioVal == "1") {
 						$(".relatedInvoice").show();
+						$(".redFlushReason").show();
+						document.getElementsByName("redFlushReason")[0].checked = true;
 						document.getElementsByName("relatedInvoice")[0].checked = true;
 						$(".situationDetail").hide();
 						$(".redInvoice").show();
 					} else {
 						$(".relatedInvoice").hide();
+						$(".redFlushReason").hide();
 						$(".situationDetail").hide();
 						$(".redInvoice").hide();
 					}
@@ -202,6 +236,7 @@
 					if (radioVal == "1") {
 						$('textarea[name="situationDetail"]').val('');
 						$(".situationDetail").hide();
+						$(".redFlushReason").show();
 						$(".redInvoice").show();
 					} else {
 						// 切换时清空数据
@@ -210,10 +245,30 @@
 						$("#invoiceNumberStr").val("")
 						$(".redInvoice").hide();
 						$(".situationDetail").show();
+						$(".redFlushReason").hide();
 					}
 					form.render("radio");
 				});
 
+				// 监听红冲原因变化
+				form.on('radio(redFlushReasonRadio)', function (event) {
+					var radioVal = $(this).val();
+					var moneyStr = $("#moneyStr").val()
+					var money =$("#money").val()
+					if (radioVal == "01") {
+						if(money != -Math.abs(moneyStr)){
+							parent.layer.msg("发票金额必须和需要红冲的金额相同",{icon:0});
+						}
+					}
+					if (radioVal == "04") {
+						if(money < -Math.abs(moneyStr)){
+							parent.layer.msg("发票金额必须小于红冲的金额",{icon:0});
+						}
+					}
+					form.render("radio");
+				});
+
+
 				form.on('radio(newDrawerRadio)',function (event) {
 					var radioVal = $(this).val();
 					console.log(radioVal);
@@ -451,6 +506,7 @@
 				success:function(data){
 					var d = JSON.parse(data);
 					$("#invoiceNumberStr").val(d.data);
+					$("#moneyStr").val(d.money);
 				}
 			})
 		}
@@ -468,12 +524,14 @@
 				$('input[name="redInvoiceFlag"][value="1"]').prop("checked", true);
 				$(".relatedInvoice").show();
 				$('input[name="relatedInvoice"][value="1"]').prop("checked", true);
+				$(".redFlushReason").show();
 				$(".redInvoice").show();
 				$('textarea[name="situationDetail"]').val('');
 				$(".situationDetail").hide();
 			}else{
 				$('input[name="redInvoiceFlag"][value="0"]').prop("checked", true);
 				$(".relatedInvoice").hide();
+				$(".redFlushReason").hide();
 				$(".redInvoice").hide();
 			}
 			// 重新渲染表单,使得 layui 重新应用样式和事件
@@ -1035,6 +1093,7 @@
 		<form:form id="inputForm" modelAttribute="workInvoice" action="${ctx}/workinvoice/workInvoice/save" method="post" class="layui-form">
 			<form:hidden path="id"/>
 			<form:hidden path="invoiceDate"/>
+			<form:hidden path="moneyStr"/>
 			<form:hidden path="province" id="province"/>
 			<input type="hidden" id="projectFlag" value="${workInvoice.projectFlag}">
 			<input type="hidden" id="showFlag" name="showFlag" value="${showFlag}">
@@ -1247,6 +1306,13 @@
 						<input type="radio" name="relatedInvoice" lay-filter="relatedInvoiceRadio" title="否" value="0">
 					</div>
 				</div>
+				<div class="layui-item layui-col-sm6 redFlushReason">
+					<label class="layui-form-label "><span class="require-item">*</span>红冲原因:</label>
+					<div class="layui-input-block">
+						<input type="radio" name="redFlushReason" lay-filter="redFlushReasonRadio" title="发票有误" value="01">
+						<input type="radio" name="redFlushReason" lay-filter="redFlushReasonRadio" title="销售折让" value="04">
+					</div>
+				</div>
 				<div class="layui-item layui-col-sm12 with-textarea situationDetail">
 					<label class="layui-form-label double-line"><span class="require-item">*</span>红冲情况说明:</label>
 					<div class="layui-input-block">

+ 66 - 0
src/main/webapp/webpage/modules/workinvoice/workInvoiceAllTwoForm.jsp

@@ -98,6 +98,25 @@
 						return false;
 					}
 
+					// 根据红冲原因校验金额
+					var redFlushReason=$('input:radio[name="redFlushReason"]:checked').val();
+					var moneyStr = $("#moneyStr").val()
+					var money =$("#money").val()
+					if ($(".redFlushReason").is(":visible")) {
+						if (redFlushReason == "01") {
+							if (money != -Math.abs(moneyStr)) {
+								parent.layer.msg("发票金额必须和需要红冲的金额相同", {icon: 0});
+								return false;
+							}
+						}
+						if (redFlushReason == "04") {
+							if (money < -Math.abs(moneyStr)) {
+								parent.layer.msg("发票金额必须小于红冲的金额", {icon: 0});
+								return false;
+							}
+						}
+					}
+
 					if($('#actualDrawerEmailAddress').val()==null||$('#actualDrawerEmailAddress').val()=="") {
 						parent.layer.msg("请填写电子邮箱!", {icon: 5});
 						return false;
@@ -138,6 +157,7 @@
 			if(undefined == redInvoiceFlag || null == redInvoiceFlag || '' == redInvoiceFlag || redInvoiceFlag == "0"){
 				document.getElementsByName("redInvoiceFlag")[1].checked = true;
 				$(".relatedInvoice").hide();
+				$(".redFlushReason").hide();
 				$(".redInvoice").hide();
 				$(".situationDetail").hide();
 			}else{
@@ -147,14 +167,24 @@
 				if(undefined == relatedInvoice || null == relatedInvoice || '' == relatedInvoice || relatedInvoice == "0"){
 					document.getElementsByName("relatedInvoice")[1].checked = true;
 					$(".redInvoice").hide();
+					$(".redFlushReason").hide();
 					$(".situationDetail").show();
 				}else{
 					document.getElementsByName("relatedInvoice")[0].checked = true;
 					$(".redInvoice").show();
+					$(".redFlushReason").show();
 					$(".situationDetail").hide();
 				}
 			}
 
+			var redFlushReason = '${workInvoice.redFlushReason}';//后端获取值
+			if(redFlushReason == "01"){
+				document.getElementsByName("redFlushReason")[0].checked = true;
+			}
+			if(redFlushReason == "04"){
+				document.getElementsByName("redFlushReason")[1].checked = true;
+			}
+
 
 			var newDrawerRadio = '${workInvoice.newDrawer}';//后端获取值
 			if(undefined == newDrawerRadio || null == newDrawerRadio || '' == newDrawerRadio || newDrawerRadio == "1"){
@@ -199,10 +229,13 @@
 						$(".relatedInvoice").show();
 						document.getElementsByName("relatedInvoice")[0].checked = true;
 						$(".situationDetail").hide();
+						$(".redFlushReason").show();
+						document.getElementsByName("redFlushReason")[0].checked = true;
 						$(".redInvoice").show();
 					} else {
 						$(".relatedInvoice").hide();
 						$(".situationDetail").hide();
+						$(".redFlushReason").hide();
 						$(".redInvoice").hide();
 					}
 					form.render("radio");
@@ -213,6 +246,7 @@
 					if (radioVal == "1") {
 						$('textarea[name="situationDetail"]').val('');
 						$(".situationDetail").hide();
+						$(".redFlushReason").show();
 						$(".redInvoice").show();
 					} else {
 						// 切换时清空数据
@@ -220,11 +254,32 @@
 						$("#redInvoiceRelevancyIdName").val("");
 						$("#invoiceNumberStr").val("")
 						$(".redInvoice").hide();
+						$(".redFlushReason").hide();
 						$(".situationDetail").show();
 					}
 					form.render("radio");
 				});
 
+
+				// 监听红冲原因变化
+				form.on('radio(redFlushReasonRadio)', function (event) {
+					var radioVal = $(this).val();
+					var moneyStr = $("#moneyStr").val()
+					var money =$("#money").val()
+					console.log(money, -Math.abs(moneyStr))
+					if (radioVal == "01") {
+						if(money != -Math.abs(moneyStr)){
+							parent.layer.msg("发票金额必须和需要红冲的金额相同",{icon:0});
+						}
+					}
+					if (radioVal == "04") {
+						if(money < -Math.abs(moneyStr)){
+							parent.layer.msg("发票金额必须小于红冲的金额",{icon:0});
+						}
+					}
+					form.render("radio");
+				});
+
 				form.on('radio(newDrawerRadio)',function (event) {
 					var radioVal = $(this).val();
 					console.log(radioVal);
@@ -460,6 +515,7 @@
 				success:function(data){
 					var d = JSON.parse(data);
 					$("#invoiceNumberStr").val(d.data);
+					$("#moneyStr").val(d.money);
 				}
 			})
 		}
@@ -477,12 +533,14 @@
 				$('input[name="redInvoiceFlag"][value="1"]').prop("checked", true);
 				$(".relatedInvoice").show();
 				$('input[name="relatedInvoice"][value="1"]').prop("checked", true);
+				$(".redFlushReason").show();
 				$(".redInvoice").show();
 				$('textarea[name="situationDetail"]').val('');
 				$(".situationDetail").hide();
 			}else{
 				$('input[name="redInvoiceFlag"][value="0"]').prop("checked", true);
 				$(".relatedInvoice").hide();
+				$(".redFlushReason").hide();
 				$(".redInvoice").hide();
 			}
 			// 重新渲染表单,使得 layui 重新应用样式和事件
@@ -1066,6 +1124,7 @@
 		<form:form id="inputForm" modelAttribute="workInvoice" action="${ctx}/workinvoice/workInvoice/save" method="post" class="layui-form">
 			<form:hidden path="id"/>
 			<form:hidden path="invoiceDate"/>
+			<form:hidden path="moneyStr"/>
 			<form:hidden path="province" id="province"/>
 			<input type="hidden" id="showFlag" name="showFlag" value="${showFlag}">
 
@@ -1284,6 +1343,13 @@
 						<input type="radio" name="relatedInvoice" lay-filter="relatedInvoiceRadio" title="否" value="0">
 					</div>
 				</div>
+				<div class="layui-item layui-col-sm6 redFlushReason">
+					<label class="layui-form-label "><span class="require-item">*</span>红冲原因:</label>
+					<div class="layui-input-block">
+						<input type="radio" name="redFlushReason" lay-filter="redFlushReasonRadio" title="发票有误" value="01">
+						<input type="radio" name="redFlushReason" lay-filter="redFlushReasonRadio" title="销售折让" value="04">
+					</div>
+				</div>
 				<div class="layui-item layui-col-sm12 with-textarea situationDetail">
 					<label class="layui-form-label double-line"><span class="require-item">*</span>红冲情况说明:</label>
 					<div class="layui-input-block">

+ 67 - 0
src/main/webapp/webpage/modules/workinvoice/workInvoiceAllTwoRcForm.jsp

@@ -92,6 +92,25 @@
 
 					}
 
+					// 根据红冲原因校验金额
+					var redFlushReason=$('input:radio[name="redFlushReason"]:checked').val();
+					var moneyStr = $("#moneyStr").val()
+					var money =$("#money").val()
+					if ($(".redFlushReason").is(":visible")) {
+						if (redFlushReason == "01") {
+							if (money != -Math.abs(moneyStr)) {
+								parent.layer.msg("发票金额必须和需要红冲的金额相同", {icon: 0});
+								return false;
+							}
+						}
+						if (redFlushReason == "04") {
+							if (money < -Math.abs(moneyStr)) {
+								parent.layer.msg("发票金额必须小于红冲的金额", {icon: 0});
+								return false;
+							}
+						}
+					}
+
 					if($('#actualDrawerEmailAddress').val()==null||$('#actualDrawerEmailAddress').val()=="") {
 						parent.layer.msg("请填写电子邮箱!", {icon: 5});
 						return false;
@@ -130,6 +149,7 @@
 			if(undefined == redInvoiceFlag || null == redInvoiceFlag || '' == redInvoiceFlag || redInvoiceFlag == "0"){
 				document.getElementsByName("redInvoiceFlag")[1].checked = true;
 				$(".relatedInvoice").hide();
+				$(".redFlushReason").hide();
 				$(".redInvoice").hide();
 				$(".situationDetail").hide();
 			}else{
@@ -139,14 +159,25 @@
 				if(undefined == relatedInvoice || null == relatedInvoice || '' == relatedInvoice || relatedInvoice == "0"){
 					document.getElementsByName("relatedInvoice")[1].checked = true;
 					$(".redInvoice").hide();
+					$(".redFlushReason").hide();
 					$(".situationDetail").show();
 				}else{
 					document.getElementsByName("relatedInvoice")[0].checked = true;
 					$(".redInvoice").show();
+					$(".redFlushReason").show();
 					$(".situationDetail").hide();
 				}
 			}
 
+			var redFlushReason = '${workInvoice.redFlushReason}';//后端获取值
+			if(redFlushReason == "01"){
+				document.getElementsByName("redFlushReason")[0].checked = true;
+			}
+			if(redFlushReason == "04"){
+				document.getElementsByName("redFlushReason")[1].checked = true;
+			}
+
+
 			var newDrawerRadio = '${workInvoice.newDrawer}';//后端获取值
 			if(undefined == newDrawerRadio || null == newDrawerRadio || '' == newDrawerRadio || newDrawerRadio == "1"){
 				document.getElementsByName("newDrawer")[0].checked = true;
@@ -188,10 +219,13 @@
 						$(".relatedInvoice").show();
 						document.getElementsByName("relatedInvoice")[0].checked = true;
 						$(".situationDetail").hide();
+						$(".redFlushReason").show();
+						document.getElementsByName("redFlushReason")[0].checked = true;
 						$(".redInvoice").show();
 					} else {
 						$(".relatedInvoice").hide();
 						$(".situationDetail").hide();
+						$(".redFlushReason").hide();
 						$(".redInvoice").hide();
 					}
 					form.render("radio");
@@ -202,6 +236,7 @@
 					if (radioVal == "1") {
 						$('textarea[name="situationDetail"]').val('');
 						$(".situationDetail").hide();
+						$(".redFlushReason").show();
 						$(".redInvoice").show();
 					} else {
 						// 切换时清空数据
@@ -209,10 +244,31 @@
 						$("#redInvoiceRelevancyIdName").val("");
 						$("#invoiceNumberStr").val("")
 						$(".redInvoice").hide();
+						$(".redFlushReason").hide();
 						$(".situationDetail").show();
 					}
 					form.render("radio");
 				});
+
+				// 监听红冲原因变化
+				form.on('radio(redFlushReasonRadio)', function (event) {
+					var radioVal = $(this).val();
+					var moneyStr = $("#moneyStr").val()
+					var money =$("#money").val()
+					console.log(money, -Math.abs(moneyStr))
+					if (radioVal == "01") {
+						if(money != -Math.abs(moneyStr)){
+							parent.layer.msg("发票金额必须和需要红冲的金额相同",{icon:0});
+						}
+					}
+					if (radioVal == "04") {
+						if(money < -Math.abs(moneyStr)){
+							parent.layer.msg("发票金额必须小于红冲的金额",{icon:0});
+						}
+					}
+					form.render("radio");
+				});
+
 				form.on('radio(newDrawerRadio)',function (event) {
 					var radioVal = $(this).val();
 					console.log(radioVal);
@@ -450,6 +506,7 @@
 				success:function(data){
 					var d = JSON.parse(data);
 					$("#invoiceNumberStr").val(d.data);
+					$("#moneyStr").val(d.money);
 				}
 			})
 		}
@@ -469,10 +526,12 @@
 				$('input[name="relatedInvoice"][value="1"]').prop("checked", true);
 				$(".redInvoice").show();
 				$('textarea[name="situationDetail"]').val('');
+				$(".redFlushReason").show();
 				$(".situationDetail").hide();
 			}else{
 				$('input[name="redInvoiceFlag"][value="0"]').prop("checked", true);
 				$(".relatedInvoice").hide();
+				$(".redFlushReason").hide();
 				$(".redInvoice").hide();
 			}
 			// 重新渲染表单,使得 layui 重新应用样式和事件
@@ -1034,6 +1093,7 @@
 		<form:form id="inputForm" modelAttribute="workInvoice" action="${ctx}/workinvoice/workInvoice/save" method="post" class="layui-form">
 			<form:hidden path="id"/>
 			<form:hidden path="invoiceDate"/>
+			<form:hidden path="moneyStr"/>
 			<form:hidden path="province" id="province"/>
 			<input type="hidden" id="projectFlag" value="${workInvoice.projectFlag}">
 			<input type="hidden" id="showFlag" name="showFlag" value="${showFlag}">
@@ -1246,6 +1306,13 @@
 						<input type="radio" name="relatedInvoice" lay-filter="relatedInvoiceRadio" title="否" value="0">
 					</div>
 				</div>
+				<div class="layui-item layui-col-sm6 redFlushReason">
+					<label class="layui-form-label "><span class="require-item">*</span>红冲原因:</label>
+					<div class="layui-input-block">
+						<input type="radio" name="redFlushReason" lay-filter="redFlushReasonRadio" title="发票有误" value="01">
+						<input type="radio" name="redFlushReason" lay-filter="redFlushReasonRadio" title="销售折让" value="04">
+					</div>
+				</div>
 				<div class="layui-item layui-col-sm12 with-textarea situationDetail">
 					<label class="layui-form-label double-line"><span class="require-item">*</span>红冲情况说明:</label>
 					<div class="layui-input-block">

+ 20 - 0
src/main/webapp/webpage/modules/workinvoice/workInvoiceAuditEnd.jsp

@@ -97,10 +97,20 @@
 				}
 			});
 
+			var redFlushReason = '${workInvoice.redFlushReason}';//后端获取值
+			if(redFlushReason == "01"){
+				document.getElementsByName("redFlushReason")[0].checked = true;
+			}
+			if(redFlushReason == "04"){
+				document.getElementsByName("redFlushReason")[1].checked = true;
+			}
+
+
 			var redInvoiceFlag = '${workInvoice.redInvoiceFlag}';//后端获取值
 			if(undefined == redInvoiceFlag || null == redInvoiceFlag || '' == redInvoiceFlag || redInvoiceFlag == "0"){
 				document.getElementsByName("redInvoiceFlag")[1].checked = true;
 				$(".relatedInvoice").hide();
+				$(".redFlushReason").hide();
 				$(".redInvoice").hide();
 				$(".situationDetail").hide();
 			}else{
@@ -110,10 +120,13 @@
 				if(undefined == relatedInvoice || null == relatedInvoice || '' == relatedInvoice || relatedInvoice == "0"){
 					document.getElementsByName("relatedInvoice")[1].checked = true;
 					$(".redInvoice").hide();
+					$(".redFlushReason").hide();
 					$(".situationDetail").show();
+
 				}else{
 					document.getElementsByName("relatedInvoice")[0].checked = true;
 					$(".redInvoice").show();
+					$(".redFlushReason").show();
 					$(".situationDetail").hide();
 				}
 			}
@@ -711,6 +724,13 @@
 					<input type="radio" name="relatedInvoice" disabled lay-filter="relatedInvoiceRadio" title="否" value="0">
 				</div>
 			</div>
+			<div class="layui-item layui-col-sm6 redFlushReason">
+				<label class="layui-form-label "><span class="require-item">*</span>红冲原因:</label>
+				<div class="layui-input-block">
+					<input type="radio" name="redFlushReason" disabled lay-filter="redFlushReasonRadio" title="发票有误" value="01">
+					<input type="radio" name="redFlushReason" disabled lay-filter="redFlushReasonRadio" title="销售折让" value="04">
+				</div>
+			</div>
 			<div class="layui-item layui-col-sm12 with-textarea situationDetail">
 				<label class="layui-form-label double-line"><span class="require-item">*</span>红冲情况说明:</label>
 				<div class="layui-input-block">

+ 66 - 0
src/main/webapp/webpage/modules/workinvoice/workInvoiceModify.jsp

@@ -73,6 +73,25 @@
 
 				}
 
+				// 根据红冲原因校验金额
+				var redFlushReason=$('input:radio[name="redFlushReason"]:checked').val();
+				var moneyStr = $("#moneyStr").val()
+				var money =$("#money").val()
+				if ($(".redFlushReason").is(":visible")) {
+					if (redFlushReason == "01") {
+						if (money != -Math.abs(moneyStr)) {
+							parent.layer.msg("发票金额必须和需要红冲的金额相同", {icon: 0});
+							return false;
+						}
+					}
+					if (redFlushReason == "04") {
+						if (money < -Math.abs(moneyStr)) {
+							parent.layer.msg("发票金额必须小于红冲的金额", {icon: 0});
+							return false;
+						}
+					}
+				}
+
 				if(obj == 2){
                     $("#flag").val("no");
 					if($('#actualDrawerEmailAddress').val()==null||$('#actualDrawerEmailAddress').val()=="") {
@@ -132,6 +151,25 @@
 					}
 				});
 
+				// 监听红冲原因变化
+				form.on('radio(redFlushReasonRadio)', function (event) {
+					var radioVal = $(this).val();
+					var moneyStr = $("#moneyStr").val()
+					var money =$("#money").val()
+					console.log(money, -Math.abs(moneyStr))
+					if (radioVal == "01") {
+						if(money != -Math.abs(moneyStr)){
+							parent.layer.msg("发票金额必须和需要红冲的金额相同",{icon:0});
+						}
+					}
+					if (radioVal == "04") {
+						if(money < -Math.abs(moneyStr)){
+							parent.layer.msg("发票金额必须小于红冲的金额",{icon:0});
+						}
+					}
+					form.render("radio");
+				});
+
 				form.on('radio(newDrawerRadio)',function (event) {
 					var radioVal = $(this).val();
 					if(radioVal == 1 || radioVal == 1){
@@ -151,22 +189,35 @@
 						$(".relatedInvoice").show();
 						document.getElementsByName("relatedInvoice")[0].checked = true;
 						$(".situationDetail").hide();
+						$(".redFlushReason").show();
+						document.getElementsByName("redFlushReason")[0].checked = true;
 						$(".redInvoice").show();
 					} else {
 						$(".relatedInvoice").hide();
 						$(".situationDetail").hide();
+						$(".redFlushReason").hide();
 						$(".redInvoice").hide();
 					}
 
 					form.render("radio");
 				});
 
+
+				var redFlushReason = '${workInvoice.redFlushReason}';//后端获取值
+				if(redFlushReason == "01"){
+					document.getElementsByName("redFlushReason")[0].checked = true;
+				}
+				if(redFlushReason == "04"){
+					document.getElementsByName("redFlushReason")[1].checked = true;
+				}
+
 				form.on('radio(relatedInvoiceRadio)', function (event) {
 					var radioVal = $(this).val();
 					if (radioVal == "1") {
 						$('textarea[name="situationDetail"]').val('');
 						$(".situationDetail").hide();
 						$(".redInvoice").show();
+						$(".redFlushReason").show();
 					} else {
 						// 切换时清空数据
 						$("#redInvoiceRelevancyIdId").val("");
@@ -174,6 +225,7 @@
 						$("#invoiceNumberStr").val("")
 						$(".redInvoice").hide();
 						$(".situationDetail").show();
+						$(".redFlushReason").hide();
 					}
 
 					form.render("radio");
@@ -244,6 +296,7 @@
 				document.getElementsByName("redInvoiceFlag")[1].checked = true;
 				$(".relatedInvoice").hide();
 				$(".redInvoice").hide();
+				$(".redFlushReason").hide();
 				$(".situationDetail").hide();
 			}else{
 				document.getElementsByName("redInvoiceFlag")[0].checked = true;
@@ -252,10 +305,12 @@
 				if(undefined == relatedInvoice || null == relatedInvoice || '' == relatedInvoice || relatedInvoice == "0"){
 					document.getElementsByName("relatedInvoice")[1].checked = true;
 					$(".redInvoice").hide();
+					$(".redFlushReason").hide();
 					$(".situationDetail").show();
 				}else{
 					document.getElementsByName("relatedInvoice")[0].checked = true;
 					$(".redInvoice").show();
+					$(".redFlushReason").show();
 					$(".situationDetail").hide();
 				}
 			}
@@ -421,6 +476,7 @@
 				success:function(data){
 					var d = JSON.parse(data);
 					$("#invoiceNumberStr").val(d.data);
+					$("#moneyStr").val(d.money);
 				}
 			})
 		}
@@ -440,10 +496,12 @@
 				$('input[name="relatedInvoice"][value="1"]').prop("checked", true);
 				$(".redInvoice").show();
 				$('textarea[name="situationDetail"]').val('');
+				$(".redFlushReason").show();
 				$(".situationDetail").hide();
 			}else{
 				$('input[name="redInvoiceFlag"][value="0"]').prop("checked", true);
 				$(".relatedInvoice").hide();
+				$(".redFlushReason").hide();
 				$(".redInvoice").hide();
 			}
 			// 重新渲染表单,使得 layui 重新应用样式和事件
@@ -1027,6 +1085,7 @@
 		<form:form id="inputForm" modelAttribute="workInvoice" action="${ctx}/workinvoice/workInvoice/saveAudit" method="post" class="form-horizontal layui-form">
 			<form:hidden path="id"/>
 			<form:hidden path="invoiceDate"/>
+			<form:hidden path="moneyStr"/>
 			<form:hidden path="home"/>
 			<form:hidden path="act.taskId"/>
 			<form:hidden path="act.taskName"/>
@@ -1248,6 +1307,13 @@
 						<input type="radio" name="relatedInvoice" lay-filter="relatedInvoiceRadio" title="否" value="0">
 					</div>
 				</div>
+				<div class="layui-item layui-col-sm6 redFlushReason">
+					<label class="layui-form-label "><span class="require-item">*</span>红冲原因:</label>
+					<div class="layui-input-block">
+						<input type="radio" name="redFlushReason" lay-filter="redFlushReasonRadio" title="发票有误" value="01">
+						<input type="radio" name="redFlushReason" lay-filter="redFlushReasonRadio" title="销售折让" value="04">
+					</div>
+				</div>
 				<div class="layui-item layui-col-sm12 with-textarea situationDetail">
 					<label class="layui-form-label double-line"><span class="require-item">*</span>红冲情况说明:</label>
 					<div class="layui-input-block">

+ 120 - 3
src/main/webapp/webpage/modules/workinvoice/workInvoiceNotProjectModify.jsp

@@ -66,6 +66,25 @@
 
 				}
 
+				// 根据红冲原因校验金额
+				var redFlushReason=$('input:radio[name="redFlushReason"]:checked').val();
+				var moneyStr = $("#moneyStr").val()
+				var money =$("#money").val()
+				if ($(".redFlushReason").is(":visible")) {
+					if (redFlushReason == "01") {
+						if (money != -Math.abs(moneyStr)) {
+							parent.layer.msg("发票金额必须和需要红冲的金额相同", {icon: 0});
+							return false;
+						}
+					}
+					if (redFlushReason == "04") {
+						if (money < -Math.abs(moneyStr)) {
+							parent.layer.msg("发票金额必须小于红冲的金额", {icon: 0});
+							return false;
+						}
+					}
+				}
+
 				if(obj == 2){
                     $("#flag").val("no");
 
@@ -141,13 +160,61 @@
 				form.on('radio(redInvoiceFlagRadio)',function (event) {
 					var radioVal = $(this).val();
 					if(radioVal == 1 || radioVal == 1){
+						$(".relatedInvoice").show();
+						document.getElementsByName("relatedInvoice")[0].checked = true;
+						$(".situationDetail").hide();
+						$(".redFlushReason").show();
+						document.getElementsByName("redFlushReason")[0].checked = true;
 						$(".redInvoice").show();
 					}else if(radioVal == 0 || radioVal == 0){
+						$(".relatedInvoice").hide();
+						$(".situationDetail").hide();
+						$(".redFlushReason").hide();
 						$(".redInvoice").hide();
 					}
 					form.render();
 				})
 
+
+				form.on('radio(relatedInvoiceRadio)', function (event) {
+					var radioVal = $(this).val();
+					if (radioVal == "1") {
+						$('textarea[name="situationDetail"]').val('');
+						$(".situationDetail").hide();
+						$(".redFlushReason").show();
+						$(".redInvoice").show();
+					} else {
+						// 切换时清空数据
+						$("#redInvoiceRelevancyIdId").val("");
+						$("#redInvoiceRelevancyIdName").val("");
+						$("#invoiceNumberStr").val("")
+						$(".redInvoice").hide();
+						$(".redFlushReason").hide();
+						$(".situationDetail").show();
+					}
+					form.render("radio");
+				});
+
+				// 监听红冲原因变化
+				form.on('radio(redFlushReasonRadio)', function (event) {
+					var radioVal = $(this).val();
+					var moneyStr = $("#moneyStr").val()
+					var money =$("#money").val()
+					console.log(money, -Math.abs(moneyStr))
+					if (radioVal == "01") {
+						if(money != -Math.abs(moneyStr)){
+							parent.layer.msg("发票金额必须和需要红冲的金额相同",{icon:0});
+						}
+					}
+					if (radioVal == "04") {
+						if(money < -Math.abs(moneyStr)){
+							parent.layer.msg("发票金额必须小于红冲的金额",{icon:0});
+						}
+					}
+					form.render("radio");
+				});
+
+
 				window.bankShow = function (data){
 					$('#bank').html('<option value="">请选择开户行信息</option>')
 					//对选中开票单位的银行做级联操作
@@ -198,13 +265,36 @@
 			var redInvoiceFlag = '${workInvoice.redInvoiceFlag}';//后端获取值
 			if(undefined == redInvoiceFlag || null == redInvoiceFlag || '' == redInvoiceFlag || redInvoiceFlag == "0"){
 				document.getElementsByName("redInvoiceFlag")[1].checked = true;
+				$(".relatedInvoice").hide();
+				$(".redFlushReason").hide();
 				$(".redInvoice").hide();
+				$(".situationDetail").hide();
 			}else{
 				document.getElementsByName("redInvoiceFlag")[0].checked = true;
-				$(".redInvoice").show();
+				$(".relatedInvoice").show();
+				var relatedInvoice = '${workInvoice.relatedInvoice}';//后端获取值
+				if(undefined == relatedInvoice || null == relatedInvoice || '' == relatedInvoice || relatedInvoice == "0"){
+					document.getElementsByName("relatedInvoice")[1].checked = true;
+					$(".redInvoice").hide();
+					$(".redFlushReason").hide();
+					$(".situationDetail").show();
+				}else{
+					document.getElementsByName("relatedInvoice")[0].checked = true;
+					$(".redInvoice").show();
+					$(".redFlushReason").show();
+					$(".situationDetail").hide();
+				}
+			}
 
+			var redFlushReason = '${workInvoice.redFlushReason}';//后端获取值
+			if(redFlushReason == "01"){
+				document.getElementsByName("redFlushReason")[0].checked = true;
+			}
+			if(redFlushReason == "04"){
+				document.getElementsByName("redFlushReason")[1].checked = true;
 			}
 
+
 			var newDrawerRadio = '${workInvoice.newDrawer}';//后端获取值
 			if(undefined == newDrawerRadio || null == newDrawerRadio || '' == newDrawerRadio || newDrawerRadio == "1"){
 				document.getElementsByName("newDrawer")[0].checked = true;
@@ -376,6 +466,7 @@
 				success:function(data){
 					var d = JSON.parse(data);
 					$("#invoiceNumberStr").val(d.data);
+					$("#moneyStr").val(d.money);
 				}
 			})
 		}
@@ -391,10 +482,16 @@
 			if (obj.value < 0) {
 				// 如果金额为负,则将红冲选择发票框进行展示,并自动将是否红字发票更新为是
 				$('input[name="redInvoiceFlag"][value="1"]').prop("checked", true);
+				$(".relatedInvoice").show();
+				$('input[name="relatedInvoice"][value="1"]').prop("checked", true);
 				$(".redInvoice").show();
-
+				$('textarea[name="situationDetail"]').val('');
+				$(".redFlushReason").show();
+				$(".situationDetail").hide();
 			}else{
 				$('input[name="redInvoiceFlag"][value="0"]').prop("checked", true);
+				$(".relatedInvoice").hide();
+				$(".redFlushReason").hide();
 				$(".redInvoice").hide();
 			}
 			// 重新渲染表单,使得 layui 重新应用样式和事件
@@ -978,6 +1075,7 @@
 		<form:form id="inputForm" modelAttribute="workInvoice" action="${ctx}/workinvoice/workInvoice/saveWorkInvoiceNotProjectAudit" method="post" class="form-horizontal layui-form">
 			<form:hidden path="id"/>
 			<form:hidden path="invoiceDate"/>
+			<form:hidden path="moneyStr"/>
 			<form:hidden path="home"/>
 			<form:hidden path="act.taskId"/>
 			<form:hidden path="act.taskName"/>
@@ -1195,7 +1293,26 @@
 						<input type="radio" name="redInvoiceFlag" lay-filter="redInvoiceFlagRadio" title="否" value="0">
 					</div>
 				</div>
-
+				<div class="layui-item layui-col-sm6 relatedInvoice">
+					<label class="layui-form-label double-line"><span class="require-item">*</span>是否关联发票:</label>
+					<div class="layui-input-block">
+						<input type="radio" name="relatedInvoice" lay-filter="relatedInvoiceRadio" title="是" value="1">
+						<input type="radio" name="relatedInvoice" lay-filter="relatedInvoiceRadio" title="否" value="0">
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm6 redFlushReason">
+					<label class="layui-form-label "><span class="require-item">*</span>红冲原因:</label>
+					<div class="layui-input-block">
+						<input type="radio" name="redFlushReason" lay-filter="redFlushReasonRadio" title="发票有误" value="01">
+						<input type="radio" name="redFlushReason" lay-filter="redFlushReasonRadio" title="销售折让" value="04">
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm12 with-textarea situationDetail">
+					<label class="layui-form-label double-line"><span class="require-item">*</span>红冲情况说明:</label>
+					<div class="layui-input-block">
+						<form:textarea path="situationDetail" placeholder="请输入情况说明" htmlEscape="false" rows="4" class="form-control judgment "/>
+					</div>
+				</div>
 				<div class="layui-item layui-col-sm6 redInvoice">
 					<label class="layui-form-label"><span class="require-item">*</span>关联红字发票:</label>
 					<div class="layui-input-block with-icon">

+ 67 - 0
src/main/webapp/webpage/modules/workinvoice/workInvoiceTwoForm.jsp

@@ -102,6 +102,25 @@
 
 					}
 
+					// 根据红冲原因校验金额
+					var redFlushReason=$('input:radio[name="redFlushReason"]:checked').val();
+					var moneyStr = $("#moneyStr").val()
+					var money =$("#money").val()
+					if ($(".redFlushReason").is(":visible")) {
+						if (redFlushReason == "01") {
+							if (money != -Math.abs(moneyStr)) {
+								parent.layer.msg("发票金额必须和需要红冲的金额相同", {icon: 0});
+								return false;
+							}
+						}
+						if (redFlushReason == "04") {
+							if (money < -Math.abs(moneyStr)) {
+								parent.layer.msg("发票金额必须小于红冲的金额", {icon: 0});
+								return false;
+							}
+						}
+					}
+
 					if($('#actualDrawerEmailAddress').val()==null||$('#actualDrawerEmailAddress').val()=="") {
 						parent.layer.msg("请填写电子邮箱!", {icon: 5});
 						return false;
@@ -157,6 +176,7 @@
 				document.getElementsByName("redInvoiceFlag")[1].checked = true;
 				$(".relatedInvoice").hide();
 				$(".redInvoice").hide();
+				$(".redFlushReason").hide();
 				$(".situationDetail").hide();
 			}else{
 				document.getElementsByName("redInvoiceFlag")[0].checked = true;
@@ -165,14 +185,24 @@
 				if(undefined == relatedInvoice || null == relatedInvoice || '' == relatedInvoice || relatedInvoice == "0"){
 					document.getElementsByName("relatedInvoice")[1].checked = true;
 					$(".redInvoice").hide();
+					$(".redFlushReason").hide();
 					$(".situationDetail").show();
 				}else{
 					document.getElementsByName("relatedInvoice")[0].checked = true;
 					$(".redInvoice").show();
+					$(".redFlushReason").show();
 					$(".situationDetail").hide();
 				}
 			}
 
+			var redFlushReason = '${workInvoice.redFlushReason}';//后端获取值
+			if(redFlushReason == "01"){
+				document.getElementsByName("redFlushReason")[0].checked = true;
+			}
+			if(redFlushReason == "04"){
+				document.getElementsByName("redFlushReason")[1].checked = true;
+			}
+
 			console.log("获取开票信息")
 			setValuee('${workInvoice.client.id}')
 
@@ -206,10 +236,13 @@
 						$(".relatedInvoice").show();
 						document.getElementsByName("relatedInvoice")[0].checked = true;
 						$(".situationDetail").hide();
+						$(".redFlushReason").show();
+						document.getElementsByName("redFlushReason")[0].checked = true;
 						$(".redInvoice").show();
 					} else {
 						$(".relatedInvoice").hide();
 						$(".situationDetail").hide();
+						$(".redFlushReason").hide();
 						$(".redInvoice").hide();
 					}
 					form.render("radio");
@@ -220,6 +253,7 @@
 					if (radioVal == "1") {
 						$('textarea[name="situationDetail"]').val('');
 						$(".situationDetail").hide();
+						$(".redFlushReason").show();
 						$(".redInvoice").show();
 					} else {
 						// 切换时清空数据
@@ -227,11 +261,33 @@
 						$("#redInvoiceRelevancyIdName").val("");
 						$("#invoiceNumberStr").val("")
 						$(".redInvoice").hide();
+						$(".redFlushReason").hide();
 						$(".situationDetail").show();
 					}
 					form.render("radio");
 				});
 
+
+				// 监听红冲原因变化
+				form.on('radio(redFlushReasonRadio)', function (event) {
+					var radioVal = $(this).val();
+					var moneyStr = $("#moneyStr").val()
+					var money =$("#money").val()
+					console.log(money, -Math.abs(moneyStr))
+					if (radioVal == "01") {
+						if(money != -Math.abs(moneyStr)){
+							parent.layer.msg("发票金额必须和需要红冲的金额相同",{icon:0});
+						}
+					}
+					if (radioVal == "04") {
+						if(money < -Math.abs(moneyStr)){
+							parent.layer.msg("发票金额必须小于红冲的金额",{icon:0});
+						}
+					}
+					form.render("radio");
+				});
+
+
 				form.on('radio(newDrawerRadio)',function (event) {
 					var radioVal = $(this).val();
 					if(radioVal == 1 || radioVal == 1){
@@ -502,6 +558,7 @@
 				success:function(data){
 					var d = JSON.parse(data);
 					$("#invoiceNumberStr").val(d.data);
+					$("#moneyStr").val(d.money);
 				}
 			})
 		}
@@ -522,11 +579,13 @@
 				$(".redInvoice").show();
 				$('textarea[name="situationDetail"]').val('');
 				$(".situationDetail").hide();
+				$(".redFlushReason").show();
 
 			}else{
 				$('input[name="redInvoiceFlag"][value="0"]').prop("checked", true);
 				$(".relatedInvoice").hide();
 				$(".redInvoice").hide();
+				$(".redFlushReason").hide();
 			}
 			// 重新渲染表单,使得 layui 重新应用样式和事件
 			layui.form.render("radio");
@@ -1115,6 +1174,7 @@
 		<form:form id="inputForm" modelAttribute="workInvoice" action="${ctx}/workinvoice/workInvoice/save" method="post" class="layui-form">
 			<form:hidden path="id"/>
 			<form:hidden path="invoiceDate"/>
+			<form:hidden path="moneyStr"/>
 			<form:hidden path="province" id="province"/>
 			<input type="hidden" id="projectFlag" value="${workInvoice.projectFlag}">
 			<input type="hidden" id="showFlag" name="showFlag" value="${showFlag}">
@@ -1338,6 +1398,13 @@
 						<input type="radio" name="relatedInvoice" lay-filter="relatedInvoiceRadio" title="否" value="0">
 					</div>
 				</div>
+				<div class="layui-item layui-col-sm6 redFlushReason">
+					<label class="layui-form-label "><span class="require-item">*</span>红冲原因:</label>
+					<div class="layui-input-block">
+						<input type="radio" name="redFlushReason" lay-filter="redFlushReasonRadio" title="发票有误" value="01">
+						<input type="radio" name="redFlushReason" lay-filter="redFlushReasonRadio" title="销售折让" value="04">
+					</div>
+				</div>
 				<div class="layui-item layui-col-sm12 with-textarea situationDetail">
 					<label class="layui-form-label double-line"><span class="require-item">*</span>红冲情况说明:</label>
 					<div class="layui-input-block">

+ 69 - 0
src/main/webapp/webpage/modules/workinvoice/workInvoiceTwoModify.jsp

@@ -50,6 +50,26 @@
 					return false;
 
 				}
+				// 根据红冲原因校验金额
+				var redFlushReason=$('input:radio[name="redFlushReason"]:checked').val();
+				var moneyStr = $("#moneyStr").val()
+				var money =$("#money").val()
+				if ($(".redFlushReason").is(":visible")) {
+					if (redFlushReason == "01") {
+						if (money != -Math.abs(moneyStr)) {
+							parent.layer.msg("发票金额必须和需要红冲的金额相同", {icon: 0});
+							return false;
+						}
+					}
+					if (redFlushReason == "04") {
+						if (money < -Math.abs(moneyStr)) {
+							parent.layer.msg("发票金额必须小于红冲的金额", {icon: 0});
+							return false;
+						}
+					}
+				}
+
+
 				var newDrawer=$('input:radio[name="newDrawer"]:checked').val();
 
 				var invoiceType=$('input:radio[name="invoiceType"]:checked').val();
@@ -125,6 +145,26 @@
 					}
 				});
 
+
+				// 监听红冲原因变化
+				form.on('radio(redFlushReasonRadio)', function (event) {
+					var radioVal = $(this).val();
+					var moneyStr = $("#moneyStr").val()
+					var money =$("#money").val()
+					console.log(money, -Math.abs(moneyStr))
+					if (radioVal == "01") {
+						if(money != -Math.abs(moneyStr)){
+							parent.layer.msg("发票金额必须和需要红冲的金额相同",{icon:0});
+						}
+					}
+					if (radioVal == "04") {
+						if(money < -Math.abs(moneyStr)){
+							parent.layer.msg("发票金额必须小于红冲的金额",{icon:0});
+						}
+					}
+					form.render("radio");
+				});
+
 				form.on('radio(newDrawerRadio)',function (event) {
 					var radioVal = $(this).val();
 					if(radioVal == 1 || radioVal == 1){
@@ -144,10 +184,13 @@
 						$(".relatedInvoice").show();
 						document.getElementsByName("relatedInvoice")[0].checked = true;
 						$(".situationDetail").hide();
+						$(".redFlushReason").show();
+						document.getElementsByName("redFlushReason")[0].checked = true;
 						$(".redInvoice").show();
 					} else {
 						$(".relatedInvoice").hide();
 						$(".situationDetail").hide();
+						$(".redFlushReason").hide();
 						$(".redInvoice").hide();
 					}
 
@@ -160,6 +203,7 @@
 						$('textarea[name="situationDetail"]').val('');
 						$(".situationDetail").hide();
 						$(".redInvoice").show();
+						$(".redFlushReason").show();
 					} else {
 						// 切换时清空数据
 						$("#redInvoiceRelevancyIdId").val("");
@@ -167,6 +211,7 @@
 						$("#invoiceNumberStr").val("")
 						$(".redInvoice").hide();
 						$(".situationDetail").show();
+						$(".redFlushReason").hide();
 					}
 
 					form.render("radio");
@@ -223,6 +268,7 @@
 				document.getElementsByName("redInvoiceFlag")[1].checked = true;
 				$(".relatedInvoice").hide();
 				$(".redInvoice").hide();
+				$(".redFlushReason").hide();
 				$(".situationDetail").hide();
 			}else{
 				document.getElementsByName("redInvoiceFlag")[0].checked = true;
@@ -231,14 +277,25 @@
 				if(undefined == relatedInvoice || null == relatedInvoice || '' == relatedInvoice || relatedInvoice == "0"){
 					document.getElementsByName("relatedInvoice")[1].checked = true;
 					$(".redInvoice").hide();
+					$(".redFlushReason").hide();
 					$(".situationDetail").show();
 				}else{
 					document.getElementsByName("relatedInvoice")[0].checked = true;
 					$(".redInvoice").show();
+					$(".redFlushReason").show();
 					$(".situationDetail").hide();
 				}
 			}
 
+			var redFlushReason = '${workInvoice.redFlushReason}';//后端获取值
+			if(redFlushReason == "01"){
+				document.getElementsByName("redFlushReason")[0].checked = true;
+			}
+			if(redFlushReason == "04"){
+				document.getElementsByName("redFlushReason")[1].checked = true;
+			}
+
+
 			var newDrawerRadio = '${workInvoice.newDrawer}';//后端获取值
 			if(undefined == newDrawerRadio || null == newDrawerRadio || '' == newDrawerRadio || newDrawerRadio == "1"){
 				document.getElementsByName("newDrawer")[0].checked = true;
@@ -411,6 +468,7 @@
 				success:function(data){
 					var d = JSON.parse(data);
 					$("#invoiceNumberStr").val(d.data);
+					$("#moneyStr").val(d.money);
 				}
 			})
 		}
@@ -431,9 +489,12 @@
 				$(".redInvoice").show();
 				$('textarea[name="situationDetail"]').val('');
 				$(".situationDetail").hide();
+				$(".redFlushReason").show();
+
 			}else{
 				$('input[name="redInvoiceFlag"][value="0"]').prop("checked", true);
 				$(".relatedInvoice").hide();
+				$(".redFlushReason").hide();
 				$(".redInvoice").hide();
 			}
 			// 重新渲染表单,使得 layui 重新应用样式和事件
@@ -968,6 +1029,7 @@
 		<form:form id="inputForm" modelAttribute="workInvoice" action="${ctx}/workinvoiceTwo/workinvoiceTwo/saveAudit" method="post" class="form-horizontal layui-form">
 			<form:hidden path="id"/>
 			<form:hidden path="invoiceDate"/>
+			<form:hidden path="moneyStr"/>
 			<form:hidden path="home"/>
 			<form:hidden path="act.taskId"/>
 			<form:hidden path="act.taskName"/>
@@ -1189,6 +1251,13 @@
 						<input type="radio" name="relatedInvoice" lay-filter="relatedInvoiceRadio" title="否" value="0">
 					</div>
 				</div>
+				<div class="layui-item layui-col-sm6 redFlushReason">
+					<label class="layui-form-label "><span class="require-item">*</span>红冲原因:</label>
+					<div class="layui-input-block">
+						<input type="radio" name="redFlushReason" lay-filter="redFlushReasonRadio" title="发票有误" value="01">
+						<input type="radio" name="redFlushReason" lay-filter="redFlushReasonRadio" title="销售折让" value="04">
+					</div>
+				</div>
 				<div class="layui-item layui-col-sm12 with-textarea situationDetail">
 					<label class="layui-form-label double-line"><span class="require-item">*</span>红冲情况说明:</label>
 					<div class="layui-input-block">

+ 19 - 0
src/main/webapp/webpage/modules/workinvoice/workInvoiceView.jsp

@@ -48,6 +48,7 @@
 			if(undefined == redInvoiceFlag || null == redInvoiceFlag || '' == redInvoiceFlag || redInvoiceFlag == "0"){
 				document.getElementsByName("redInvoiceFlag")[1].checked = true;
 				$(".relatedInvoice").hide();
+				$(".redFlushReason").hide();
 				$(".redInvoice").hide();
 				$(".situationDetail").hide();
 			}else{
@@ -57,14 +58,25 @@
 				if(undefined == relatedInvoice || null == relatedInvoice || '' == relatedInvoice || relatedInvoice == "0"){
 					document.getElementsByName("relatedInvoice")[1].checked = true;
 					$(".redInvoice").hide();
+					$(".redFlushReason").hide();
 					$(".situationDetail").show();
 				}else{
 					document.getElementsByName("relatedInvoice")[0].checked = true;
 					$(".redInvoice").show();
+					$(".redFlushReason").show();
 					$(".situationDetail").hide();
 				}
 			}
 
+			var redFlushReason = '${workInvoice.redFlushReason}';//后端获取值
+			if(redFlushReason == "01"){
+				document.getElementsByName("redFlushReason")[0].checked = true;
+			}
+			if(redFlushReason == "04"){
+				document.getElementsByName("redFlushReason")[1].checked = true;
+			}
+
+
 			$("#name").focus();
 			validateForm = $("#inputForm").validate({
 				submitHandler: function(form){
@@ -252,6 +264,13 @@
 						<input type="radio" name="relatedInvoice" disabled lay-filter="relatedInvoiceRadio" title="否" value="0">
 					</div>
 				</div>
+				<div class="layui-item layui-col-sm6 redFlushReason">
+					<label class="layui-form-label "><span class="require-item">*</span>红冲原因:</label>
+					<div class="layui-input-block">
+						<input type="radio" name="redFlushReason" disabled lay-filter="redFlushReasonRadio" title="发票有误" value="01">
+						<input type="radio" name="redFlushReason" disabled lay-filter="redFlushReasonRadio" title="销售折让" value="04">
+					</div>
+				</div>
 				<div class="layui-item layui-col-sm12 with-textarea situationDetail">
 					<label class="layui-form-label double-line"><span class="require-item">*</span>红冲情况说明:</label>
 					<div class="layui-input-block">