Przeglądaj źródła

【BUG】+【反馈:2024090070】+【通知单判断超信用额度修改】

DINGYL 2 tygodni temu
rodzic
commit
8cbba582c3
1 zmienionych plików z 28 dodań i 55 usunięć
  1. 28 55
      src/com/uas/erp/service/scm/impl/ScmHandler.java

+ 28 - 55
src/com/uas/erp/service/scm/impl/ScmHandler.java

@@ -1,30 +1,24 @@
 package com.uas.erp.service.scm.impl;
 
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.math.BigDecimal;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.UUID;
-
-
+import com.uas.b2b.model.VendorRate;
+import com.uas.b2c.service.common.GetGoodsReserveService;
 import com.uas.erp.core.*;
+import com.uas.erp.core.HttpUtil.Response;
+import com.uas.erp.core.bind.Constant;
 import com.uas.erp.core.bind.Operation;
+import com.uas.erp.core.support.SystemSession;
+import com.uas.erp.dao.BaseDao;
+import com.uas.erp.dao.SpObserver;
+import com.uas.erp.dao.SqlRowList;
+import com.uas.erp.dao.common.*;
+import com.uas.erp.model.Employee;
+import com.uas.erp.model.Master;
+import com.uas.erp.model.MessageLog;
+import com.uas.erp.service.common.EnterpriseService;
+import com.uas.erp.service.oa.SendMailService;
+import com.uas.erp.service.scm.*;
 import com.uas.open.OperationEvent;
 import net.sf.json.JSONObject;
-
 import org.apache.poi.hssf.usermodel.HSSFCell;
 import org.apache.poi.hssf.usermodel.HSSFRow;
 import org.apache.poi.hssf.usermodel.HSSFSheet;
@@ -38,39 +32,11 @@ import org.springframework.transaction.TransactionStatus;
 import org.springframework.transaction.support.DefaultTransactionDefinition;
 import org.springframework.util.CollectionUtils;
 
-import com.uas.erp.core.NumberUtil.*;
-import com.uas.b2b.model.VendorRate;
-import com.uas.b2c.service.common.GetGoodsReserveService;
-import com.uas.erp.core.HttpUtil.Response;
-import com.uas.erp.core.bind.Constant;
-import com.uas.erp.core.support.SystemSession;
-import com.uas.erp.dao.BaseDao;
-import com.uas.erp.dao.SpObserver;
-import com.uas.erp.dao.SqlRowList;
-import com.uas.erp.dao.common.AcceptNotifyDao;
-import com.uas.erp.dao.common.ApplicationDao;
-import com.uas.erp.dao.common.BorrowApplyDao;
-import com.uas.erp.dao.common.MakeDao;
-import com.uas.erp.dao.common.OtherExplistDao;
-import com.uas.erp.dao.common.ProdInOutDao;
-import com.uas.erp.dao.common.PurchaseDao;
-import com.uas.erp.dao.common.QUAVerifyApplyDetailDao;
-import com.uas.erp.dao.common.ReturnApplyDao;
-import com.uas.erp.dao.common.SaleDao;
-import com.uas.erp.dao.common.SaleForecastDao;
-import com.uas.erp.dao.common.SendNotifyDao;
-import com.uas.erp.dao.common.VerifyApplyDao;
-import com.uas.erp.model.Employee;
-import com.uas.erp.model.Master;
-import com.uas.erp.model.MessageLog;
-import com.uas.erp.service.common.EnterpriseService;
-import com.uas.erp.service.oa.SendMailService;
-import com.uas.erp.service.scm.ApplicationService;
-import com.uas.erp.service.scm.PreProductService;
-import com.uas.erp.service.scm.ProductKindService;
-import com.uas.erp.service.scm.SaleClashService;
-import com.uas.erp.service.scm.SaleDetailDetService;
-import com.uas.erp.service.scm.VerifyApplyService;
+import java.io.*;
+import java.math.BigDecimal;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.*;
 
 /**
  * scm模块的所有业务逻辑 单据执行的业务逻辑需先从documentSetup表得到对应的配置,根据配置再调用scmHandler中对用的方法 注意:
@@ -6458,6 +6424,11 @@ public class ScmHandler {
 				if (parentMaster == null) {
 					parentMaster = enterpriseService.getMasterByName(BaseUtil.getXmlSetting("defaultSob"));
 				}
+				int count_cm =baseDao.getCount("select count(1) from sendnotify where sn_id="+id+" " +
+						" and exists(select 1 from "+parentMaster.getMa_user()+".CURRENCYSMONTH where sn_currency=cm_crname and to_char(sn_date,'yyyymm')=cm_yearmonth)");
+				if (count_cm==0){
+					BaseUtil.showError("集团账套未设置月度汇率,不能执行当前操作!");
+				}
 				if ("group".equals(baseDao.getDBSetting("creditMethod")) && null != parentMaster
 						&& !StringUtils.isEmpty(parentMaster.getMa_soncode())) {
 					baseDao.procedure("SP_CALCREDIT", new Object[] { parentMaster.getMa_user(), parentMaster.getMa_soncode(), custcode });
@@ -6487,7 +6458,9 @@ public class ScmHandler {
 						BigDecimal E = baseDao
 								.getJdbcTemplate()
 								.queryForObject(
-										"select nvl(round(nvl(sum((snd_outqty)*snd_sendprice*NVL(CM_CRRATE,1)),0),2),0) from sendnotify,sendnotifydetail,YITOA_DATACENTER.CURRENCYSMONTH where sn_id=snd_snid and sn_currency=cm_crname and to_char(sn_date,'yyyymm')=cm_yearmonth and sn_id=?",
+										"select nvl(round(nvl(sum((snd_outqty)*snd_sendprice*NVL(CM_CRRATE,1)),0),2),0) " +
+												" from sendnotify left join sendnotifydetail on sn_id=snd_snid left join YITOA_DATACENTER.CURRENCYSMONTH on sn_currency=cm_crname and to_char(sn_date,'yyyymm')=cm_yearmonth" +
+												" where sn_id=?",
 										new Object[] { id }, BigDecimal.class);// 本次通知单本币金额
 						BigDecimal F = new BigDecimal(credit.getGeneralDouble("cuc_salecredit"));// 已提交审核未结案的订单未转出的订单本币金额
 						if (tempcreditdate != null