Forráskód Böngészése

合同绑定、采购订单优化

ouyj 9 hónapja
szülő
commit
08b353497c

+ 72 - 0
src/main/master1_contract/com/yw/master1_contract/action/MTContractPurchaseOrderAction.java

@@ -0,0 +1,72 @@
+package com.yw.master1_contract.action;
+  
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.net.URLDecoder;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.lang.StringUtils;
+import org.springframework.context.ApplicationContext;
+ 
+import com.yw.contract.contract.model.ContractPurchaseOrderDetail;
+import com.yw.bpm.system.init.UrlMapping;
+import com.yw.contract.contract.action.ContractPurchaseOrderAction;
+import com.yw.contract.contract.model.ContractPurchaseDetail;
+import com.yw.contract.contract.model.ContractPurchaseForm;
+import com.yw.contract.contract.model.ContractPurchaseOrder;
+import com.yw.contract.contract.service.ContractPurchaseOrderService;
+import com.yw.contract.contract.service.ContractPurchaseService;
+import com.yw.core.framework.http.BaseAction;
+import com.yw.core.framework.view.service.PagerService;
+import com.yw.core.session.AppSession;
+import com.yw.core.utils.CommonUtil;
+import com.yw.core.utils.Constant;
+import com.yw.core.utils.DateJson;
+import com.yw.core.utils.DateUtil;
+import com.yw.core.utils.ParameterHelper;
+import com.yw.core.utils.StringUtil;
+import com.yw.eu.base.code.service.CodeRuleService;
+import com.yw.eu.base.user.model.User;
+import com.yw.eu.base.user.service.UserService; 
+
+public class MTContractPurchaseOrderAction  extends ContractPurchaseOrderAction {  
+	private String tipUrl = "/include/tips.jsp";
+	private String successUrl= "/yw/master1_contract/success.jsp";
+	private String errorUrl= "/yw/master1_contract/error.jsp";
+	
+	@Override
+	public void afterSourceAction(HttpServletRequest request, HttpServletResponse response) throws Exception {
+		super.afterSourceAction(request, response);
+		// 设置编码格式
+		String CONTENT_TYPE = "text/html;charset=UTF-8";
+		request.setCharacterEncoding("UTF-8");
+		response.setCharacterEncoding("UTF-8");
+		response.setContentType(CONTENT_TYPE);
+		String tabid = request.getParameter("tabid");
+		request.setAttribute("tabid", tabid);
+		String task = request.getParameter("task");
+		task = task == null ? "" : task;
+		
+		if ("toList".equals(task)) {// 流程通过后的合同采购列表
+			this.path = "/yw/master1_contract/contractPurchaseOrder/purchaseOrderList.jsp";   
+		} else if ("toCreate".equals(task)) {//前往创建  
+			this.path = "/yw/master1_contract/contractPurchaseOrder/createPurchaseOrder.jsp";
+			return;
+		} else if ("info".equals(task)) {//订单信息页面 
+			this.path = "/yw/master1_contract/contractPurchaseOrder/infoPurchaseOrder.jsp";
+			return;
+		} else if ("toEdit".equals(task)) {//前往编辑订单页面 
+			this.path = "/yw/master1_contract/contractPurchaseOrder/editPurchaseOrder.jsp";
+			return;
+		} 
+	} 
+}

+ 26 - 17
src/main/webapp/yw/contract/contractPurchaseOrder/infoPurchaseOrder.jsp

@@ -77,34 +77,32 @@ body {
 	
 	function checkForm() {
 		var rs = true; 
-        rs = $.validate({name: "contractPurchaseOrder.orderName", model: [{type: "require", msg: "采购订单名称不能为空!"}]}) && rs; 
-        rs = $.validate({name: "contractPurchaseOrder.supplierName", model: [{type: "require", msg: "供应商不能为空!"}]}) && rs; 
-        $(".startTr1").not(".hide").each(function (i, v) {
-            rs = $.validate({ name: "contractPurchaseOrderDetailList[" + i + "].qty", model: [{type: "require", msg: "数量不能为空!"}] }) && rs;
-            rs = $.validate({ name: "contractPurchaseOrderDetailList[" + i + "].price", model: [{type: "require", msg: "价格不能为空!"}] }) && rs;
-            rs = $.validate({ name: "contractPurchaseOrderDetailList[" + i + "].cess", model: [{type: "require", msg: "税率不能为空!"}] }) && rs; 
-        });
+       	rs = $.validate({name: "contractPurchaseOrder.contractNumber", model: [{type: "require", msg: "请选择合同!"}]});
         return rs;
-	}
-	 
-	function saveOrder() {
+	} 
+ 
+	function saveContractNumber(){
 		var result = saveForm("contractPurchaseOrderAction.do", "#cform");
 		if(result){
 			closeTabAndRefreshOpener();
 		}
 	}
- 
 </script>
 </head>
 <body>
 	<form action="contractPurchaseOrderAction.do" method="post" id="cform" name="cform"
 		onsubmit="return checkForm();">
-		<!-- <div id="title" class="form-button" style="width: 100%;">
-			<input type="button" onclick="saveOrder()" class="l-button" value="保存" /> 
+		<input id="tabid" name="tabid" value="${param.tabid }" type="hidden"/> 
+		<input type="hidden" id="universalid" name="contractPurchaseOrder.universalid" value="${contractPurchaseOrder.universalid}">
+		<input type="hidden" id="task" name="task" value="saveContractNumber">
+		<div id="title" class="form-button" style="width: 100%;">
+			<c:if test="${contractPurchaseOrder.source == 1 && empty contractPurchaseOrder.contractNumber}"> 
+				<input type="button" onclick="saveContractNumber()" class="l-button" value="保存合同" /> 
+			</c:if>
 			<input onclick="closeTabUseInOA();" type="button" value="关闭" class="l-button">
-		</div> -->
-		<!-- <div class="container-layout"> -->
-		<div class="container">
+		</div>
+		<div class="container-layout">
+		<!-- <div class="container"> -->
 			<div class="forum-container"> 
 				<center>
 					<table class="l-table-edit line" style="width: 100%;">
@@ -138,7 +136,18 @@ body {
 								    </td> 
 								    <td class="l-table-edit-text">合同:</td>
 									<td class="l-table-edit-td">
-										 ${contractPurchaseOrder.contractNumber } 
+										 <c:choose>
+						                    <c:when test="${empty contractPurchaseOrder.contractNumber}">  
+						                    	<input type="hidden" id="contractId" name="contractPurchaseOrder.contractId" value="${contractPurchaseOrder.contractId }" />
+												<input type="text" readonly="readonly" id="contractNumber" name="contractPurchaseOrder.contractNumber" value="${contractPurchaseOrder.contractNumber }">
+												<input type="hidden" id="contractName" name="contractPurchaseOrder.contractName" value="${contractPurchaseOrder.contractName }">
+												<img id="searchContract" class="fee" onClick="selectContract()" src="${pageContext.request.contextPath}/images/sousuo.png" style="height: 20px; width: 20px; cursor: pointer;">
+												<input id="clearContractBtn" name="clearContractBtn" type="button" class="button_fj" value="清除" onclick="clearContract()"/>
+						                    </c:when>
+						                    <c:otherwise>
+						                    	${contractPurchaseOrder.contractNumber } 
+						                    </c:otherwise>
+					                    </c:choose> 
 									</td> 
 								</tr> 
 							</c:when>

+ 38 - 8
src/main/webapp/yw/contract/contractPurchaseOrder/js/purchaseOrder.js

@@ -55,7 +55,8 @@ function f_ContractOK(item, dialog){
 	$("#contractName").val(rows[0].contract_name);  
 	$("#supplierCode").val(rows[0].supplierCode);
 	$("#supplierName").val(rows[0].supplierName);
-	if(contractId_before!=contractId_after){
+	var task = $("#task").val(); 
+	if(contractId_before!=contractId_after && (task == 'create' || task == 'edit')){
 		$(".startTr1").not(".hide").each(function (i, v) {
 	    	$(v).remove(); 
 	    }); 
@@ -355,7 +356,7 @@ function clearContract(){
 }
 */
 
-function saveForm(actionUrl, formName) {
+function saveForm(actionUrl, formName, url) {
 	if (!checkForm()) {
 		return false;
 	}
@@ -379,28 +380,48 @@ function saveForm(actionUrl, formName) {
 		dataType : "json",
 		success : function(data) { 
 			if(data>0){
-				addInfo("保存成功!");
+				addInfo("保存成功!"); 
+				dialogWarn.close(); 
 				result = true;
+				if(!url){ 
+					closeTabAndRefreshOpener();
+				}else{
+					location = url;
+				} 
+			}else if(data == -99){
+				addError("合同物料和采购订单物料不匹配!"); 
 				dialogWarn.close(); 
-				closeTabAndRefreshOpener();
+				result = false;
+				if(url){ 
+					return;
+				}
 			}else{
 				//isSubmitting = false; 
 				dialogWarn.close(); 
 				addError("保存失败!");
 				result = false;
+				if(url){ 
+					return;
+				}
 			}
 		},
 		error : function() {
 			//isSubmitting = false; 
 			dialogWarn.close(); 
 			alert("数据处理失败,请检查网络重新登录或联系管理员!");
+			result = false;
+			if(url){ 
+				return;
+			}
 		}
 	});
-	return result;
+	if(!url){ 
+		return result;
+	}
 }
 
 
-function saveFormDesk(actionUrl, formName, url) {
+/*function saveFormDesk(actionUrl, formName, url) {
 	if (!checkForm()) {
 		return false;
 	}
@@ -420,6 +441,10 @@ function saveFormDesk(actionUrl, formName, url) {
 			if(data>0){
 				addInfo("保存成功!"); 
 				dialogWarn.close(); 
+			}else if(data == -99){
+				addError("合同物料和采购订单物料不匹配!"); 
+				dialogWarn.close(); 
+				return;
 			}else{
 				addError("保存失败!"); 
 				dialogWarn.close(); 
@@ -432,7 +457,7 @@ function saveFormDesk(actionUrl, formName, url) {
 			alert("数据处理失败,请检查网络重新登录或联系管理员!");
 		}
 	});
-}
+}*/
 
 function closeTabAndRefreshOpener() {
 	var oldTabId = $("#tabid").val();
@@ -576,4 +601,9 @@ function toggleSourceFields() {
     	$(v).remove(); 
     }); 
 	calTotalAmount();
-} 
+} 
+
+
+function closeTabUseInOA() {
+	window.parent.tab.removeSelectedTabItem();
+}

+ 6 - 5
src/main/webapp/yw/master1_contract/contractPurchaseOrder/createPurchaseOrder.jsp

@@ -15,7 +15,8 @@
 	rel="stylesheet" type="text/css" />
 <link href="/shares/css/yw/master1/reset.css" rel="stylesheet"
 	type="text/css" />
-<script type="text/javascript" src="/shares/js/jquery-1.3.2.min.js"></script>
+<!-- <script type="text/javascript" src="/shares/js/jquery-1.3.2.min.js"></script> -->
+<script type="text/javascript" src="/shares/js/jquery-1.8.2.js"></script>
 <script src="${pageContext.request.contextPath}/liger/lib/ligerUI/js/ligerui.all.js" type="text/javascript"></script>
 <script type="text/javascript" src="/shares/js/common.js"></script>
 <script type="text/javascript" src="/shares/js/constant.js"></script>
@@ -63,13 +64,13 @@ body {
 
 
         //计算物品合计金额
-        $(".qty").live('blur', function () {
+        $(".qty").live('blur', function () { 
             calTotalAmount();
         });
-        $(".price").live('blur', function () {
+        $(".price").live('blur', function () { 
             calTotalAmount();
         });
-        $(".cess").live('blur', function () {
+        $(".cess").live('blur', function () { 
             calTotalAmount();
         });
         
@@ -105,7 +106,7 @@ body {
 	 
 	function saveOrder(orderStatus) {
 		$("#orderStatus").val(orderStatus); 
-		saveFormDesk("contractPurchaseOrderAction.do", "#cform", "MTContractPurchaseOrderAction.do?task=toList");
+		saveForm("contractPurchaseOrderAction.do", "#cform", "MTContractPurchaseOrderAction.do?task=toList");
 	}
  
 </script>

+ 3 - 2
src/main/webapp/yw/master1_contract/contractPurchaseOrder/editPurchaseOrder.jsp

@@ -15,7 +15,8 @@
 	rel="stylesheet" type="text/css" />
 <link href="/shares/css/yw/master1/reset.css" rel="stylesheet"
 	type="text/css" />
-<script type="text/javascript" src="/shares/js/jquery-1.3.2.min.js"></script>
+<!-- <script type="text/javascript" src="/shares/js/jquery-1.3.2.min.js"></script> -->
+<script type="text/javascript" src="/shares/js/jquery-1.8.2.js"></script>
 <script src="${pageContext.request.contextPath}/liger/lib/ligerUI/js/ligerui.all.js" type="text/javascript"></script>
 <script type="text/javascript" src="/shares/js/common.js"></script>
 <script type="text/javascript" src="/shares/js/constant.js"></script>
@@ -104,7 +105,7 @@ body {
 	 
 	function saveOrder(orderStatus) {
 		$("#orderStatus").val(orderStatus);
-		saveFormDesk("contractPurchaseOrderAction.do", "#cform", "MTContractPurchaseOrderAction.do?task=toList");
+		saveForm("contractPurchaseOrderAction.do", "#cform", "MTContractPurchaseOrderAction.do?task=toList");
 	}
  
 </script>

+ 26 - 22
src/main/webapp/yw/master1_contract/contractPurchaseOrder/infoPurchaseOrder.jsp

@@ -15,7 +15,7 @@
 	rel="stylesheet" type="text/css" />
 <link href="/shares/css/yw/master1/reset.css" rel="stylesheet"
 	type="text/css" />
-<script type="text/javascript" src="/shares/js/jquery-1.3.2.min.js"></script>
+<script type="text/javascript" src="/shares/js/jquery-1.8.2.js"></script>
 <script src="${pageContext.request.contextPath}/liger/lib/ligerUI/js/ligerui.all.js" type="text/javascript"></script>
 <script type="text/javascript" src="/shares/js/common.js"></script>
 <script type="text/javascript" src="/shares/js/constant.js"></script>
@@ -87,21 +87,12 @@ body {
 	
 	function checkForm() {
 		var rs = true; 
-        rs = $.validate({name: "contractPurchaseOrder.orderName", model: [{type: "require", msg: "采购订单名称不能为空!"}]}) && rs; 
-        rs = $.validate({name: "contractPurchaseOrder.supplierName", model: [{type: "require", msg: "供应商不能为空!"}]}) && rs; 
-        $(".startTr1").not(".hide").each(function (i, v) {
-            rs = $.validate({ name: "contractPurchaseOrderDetailList[" + i + "].qty", model: [{type: "require", msg: "数量不能为空!"}] }) && rs;
-            rs = $.validate({ name: "contractPurchaseOrderDetailList[" + i + "].price", model: [{type: "require", msg: "价格不能为空!"}] }) && rs;
-            rs = $.validate({ name: "contractPurchaseOrderDetailList[" + i + "].cess", model: [{type: "require", msg: "税率不能为空!"}] }) && rs; 
-        });
+       	rs = $.validate({name: "contractPurchaseOrder.contractNumber", model: [{type: "require", msg: "请选择合同!"}]});
         return rs;
-	}
-	 
-	function saveOrder() {
-		var result = saveFormDesk("contractPurchaseOrderAction.do", "#cform");
-		if(result){
-			closeTabAndRefreshOpener();
-		}
+	} 
+ 
+	function saveContractNumber(){
+		saveForm("contractPurchaseOrderAction.do", "#cform", "MTContractPurchaseOrderAction.do?task=toList");
 	}
  
 </script>
@@ -115,14 +106,19 @@ body {
 		<div class="article_title">
 			<input class="art_back" title="返回" name=""
 				onclick="history.back(-1);" type="button" style="width: 50px;"/>
-			&nbsp;  
-			 <!-- <input class="art_sub" title="确认" type="button" onclick="saveOrder('1')" style="width: 50px;"/> -->
+			&nbsp;   
+			 <c:if test="${contractPurchaseOrder.source == 1 && empty contractPurchaseOrder.contractNumber}">  
+				<input class="art_sub" title="保存合同" type="button" onclick="saveContractNumber()" style="width: 50px;"/> 
+			</c:if>
 		</div>
 	</div>
 	<div id="jp-container" class="jp-container" style="margin-top:100px; ">
 	<div class="article_b">
 	<form action="contractPurchaseOrderAction.do" method="post" id="cform" name="cform"
 		onsubmit="return checkForm();"> 
+		<input id="tabid" name="tabid" value="${param.tabid }" type="hidden"/> 
+		<input type="hidden" id="universalid" name="contractPurchaseOrder.universalid" value="${contractPurchaseOrder.universalid}">
+		<input type="hidden" id="task" name="task" value="saveContractNumber">
 		<div position="center" id="center" title="" class="layout1">
 			<div class="forum-container"> 
 				<center>
@@ -157,7 +153,18 @@ body {
 								    </td> 
 								    <td class="l-table-edit-text">合同:</td>
 									<td class="l-table-edit-td">
-										 ${contractPurchaseOrder.contractNumber } 
+										<c:choose>
+						                    <c:when test="${empty contractPurchaseOrder.contractNumber}">  
+						                    	<input type="hidden" id="contractId" name="contractPurchaseOrder.contractId" value="${contractPurchaseOrder.contractId }" />
+												<input type="text" readonly="readonly" id="contractNumber" name="contractPurchaseOrder.contractNumber" value="${contractPurchaseOrder.contractNumber }">
+												<input type="hidden" id="contractName" name="contractPurchaseOrder.contractName" value="${contractPurchaseOrder.contractName }">
+												<img id="searchContract" class="fee" onClick="selectContract()" src="${pageContext.request.contextPath}/images/sousuo.png" style="height: 20px; width: 20px; cursor: pointer;">
+												<input id="clearContractBtn" name="clearContractBtn" type="button" class="button_fj" value="清除" onclick="clearContract()"/>
+						                    </c:when>
+						                    <c:otherwise>
+						                    	${contractPurchaseOrder.contractNumber } 
+						                    </c:otherwise>
+					                    </c:choose> 
 									</td> 
 								</tr> 
 							</c:when>
@@ -249,10 +256,7 @@ body {
 				
 				        </table>
 				    </div>
-				     
-					<input type="hidden" id="task" name="task" value="edit">
-					<input type="hidden" id="tabid" name="tabid"
-						value="${param.tabid }">  
+				      
 				</center>
 			</div>