Jelajahi Sumber

2024090141
冲应付款单增加复制按钮

zxl 1 Minggu lalu
induk
melakukan
b2fcfa07e2

+ 34 - 1
WebContent/app/controller/fa/arp/PayBalance.js

@@ -9,7 +9,7 @@ Ext.define('erp.controller.fa.arp.PayBalance', {
       		'core.button.Save','core.button.Add','core.button.Close','core.button.Delete','core.button.Update','core.button.DeleteDetail',
       		'core.trigger.DbfindTrigger','core.trigger.TextAreaTrigger','core.form.YnField','core.button.ResAccounted','core.button.Accounted','core.button.StrikeBalance',
       		'core.grid.AssPanel','core.window.AssWindow','core.trigger.AddDbfindTrigger','core.trigger.CateTreeDbfindTrigger','core.trigger.HrOrgTreeDbfindTrigger','core.button.Post','core.button.ResPost','core.button.Print',
-      		'core.button.Submit','core.button.ResAudit','core.button.Audit','core.button.ResSubmit','core.button.AssDetail','core.button.AssMain', 'core.trigger.MultiDbfindTrigger','core.button.GetSumAmount'
+      		'core.button.Submit','core.button.ResAudit','core.button.Audit','core.button.ResSubmit','core.button.AssDetail','core.button.AssMain', 'core.trigger.MultiDbfindTrigger','core.button.GetSumAmount','core.button.CopyAll'
       	],
     init:function(){
     	var me = this;
@@ -101,6 +101,11 @@ Ext.define('erp.controller.fa.arp.PayBalance', {
     				}
     			}
     		},
+			'erpCopyButton': {
+				click: function(btn) {
+					this.copy();
+				}
+			},
     		'field[name=pb_amount]':{
 				beforerender: function(field){
 					if(caller != 'PayBalance!CAID'){
@@ -959,6 +964,34 @@ Ext.define('erp.controller.fa.arp.PayBalance', {
 			showError('明细第' + warn.join(',') + '行 已付金额与本次结算额的合计超过发票金额,不能保存!');
 		}
 	},
+	copy: function(){
+		var me = this;
+		var form = Ext.getCmp('form');
+		var v = form.down('#pb_id').value;
+		if(v > 0) {
+			form.setLoading(true);
+			Ext.Ajax.request({
+				url: basePath + 'fa/arp/copyPayBalance.action',
+				params: {
+					id: v
+				},
+				callback: function(opt, s, r){
+					form.setLoading(false);
+					var res = Ext.decode(r.responseText);
+					if(res.pb) {
+						turnSuccess(function(){
+							var id = res.pb.pb_id;
+							var url = "jsps/fa/arp/paybalance.jsp?whoami=PayBalance!CAID&formCondition=pb_idIS" +
+								+ id + "&gridCondition=pbd_pbidIS" + id + "&whoami="+caller;
+							me.FormUtil.onAdd('PayBalance' + id, '冲应付款' + id, url);
+						});
+					} else {
+						showError(res.exceptionInfo);
+					}
+				}
+			});
+		}
+	},
 	onUpdate: function(){
 		var me = this;
 		var form = Ext.getCmp('form');

+ 12 - 0
src/com/uas/erp/controller/fa/PayBalanceController.java

@@ -262,4 +262,16 @@ public class PayBalanceController {
 		modelMap.put("data", payBalanceService.getAPBillDet(vendcode, currency));
 		return modelMap;
 	}
+
+	/**
+	 * 复制
+	 */
+	@RequestMapping("/fa/arp/copyPayBalance.action")
+	@ResponseBody
+	public Map<String, Object> copyARBill(String caller, int id) {
+		Map<String, Object> modelMap = new HashMap<String, Object>();
+		modelMap.put("pb", payBalanceService.copyPayBalance(id, caller));
+		modelMap.put("success", true);
+		return modelMap;
+	}
 }

+ 4 - 0
src/com/uas/erp/service/fa/PayBalanceService.java

@@ -1,5 +1,7 @@
 package com.uas.erp.service.fa;
 
+import net.sf.json.JSONObject;
+
 import java.util.List;
 
 public interface PayBalanceService {
@@ -48,4 +50,6 @@ public interface PayBalanceService {
 
 	void insertPayBalanceDetail(Object pb_id, String caller);
 
+	JSONObject copyPayBalance(int id, String caller);
+
 }

+ 28 - 4
src/com/uas/erp/service/fa/impl/PayBalanceServiceImpl.java

@@ -1,10 +1,8 @@
 package com.uas.erp.service.fa.impl;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
 
+import net.sf.json.JSONObject;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -1411,4 +1409,30 @@ public class PayBalanceServiceImpl implements PayBalanceService {
 		SqlRowList list = baseDao.queryForRowSet(sql, vendcode, currency);
 		return list.getResultList();
 	}
+
+	/**
+	 * 冲应付
+	 */
+	public JSONObject copyPayBalance(int id, String caller) {
+		Map<String, Object> dif = new HashMap<String, Object>();
+		// Copy 银行登记
+		int nId = baseDao.getSeqId("PayBalance_SEQ");
+		String code = baseDao.sGetMaxNumber("PayBalance", 2);
+		dif.put("pb_id", nId);
+		dif.put("pb_code", "'" + code + "'");
+		dif.put("pb_recorder", "'" + SystemSession.getUser().getEm_name() + "'");
+		dif.put("pb_auditstatus", "'" + BaseUtil.getLocalMessage("ENTERING") + "'");
+		dif.put("pb_auditstatuscode", "'ENTERING'");
+		dif.put("pb_status", "'" + BaseUtil.getLocalMessage("UNPOST") + "'");
+		dif.put("pb_statuscode", "'UNPOST'");
+		dif.put("pb_date", "sysdate");
+		dif.put("pb_source", "null");
+		dif.put("pb_sourcecode", "null");
+		dif.put("pb_vouchcode", "null");
+		baseDao.copyRecord("PayBalance", "PayBalance", "pb_id=" + id, dif);
+		JSONObject obj = new JSONObject();
+		obj.put("pb_id", nId);
+		obj.put("pb_code", code);
+		return obj;
+	}
 }