diff --git a/.classpath b/.classpath
index 74cbf75..55fee7b 100644
--- a/.classpath
+++ b/.classpath
@@ -55,7 +55,16 @@
-
+
+
+
+
+
+
+
+
+
+
diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs
index 99f26c0..1df7838 100644
--- a/.settings/org.eclipse.core.resources.prefs
+++ b/.settings/org.eclipse.core.resources.prefs
@@ -1,2 +1,4 @@
eclipse.preferences.version=1
-encoding/=UTF-8
+encoding//mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/PMORowFinishBP.java=gbk
+encoding//uapbd/src/private/nc/bs/uapbd/bip/workplugin/ErpSaleOrderToBIPBackgroupWorkPlugin.java=UTF-8
+encoding/=gbk
diff --git a/arap/src/private/nc/bs/arap/actions/GatheringbillEditSaveBatchBSAction.java b/arap/src/private/nc/bs/arap/actions/GatheringbillEditSaveBatchBSAction.java
index a49745c..27127ea 100644
--- a/arap/src/private/nc/bs/arap/actions/GatheringbillEditSaveBatchBSAction.java
+++ b/arap/src/private/nc/bs/arap/actions/GatheringbillEditSaveBatchBSAction.java
@@ -41,34 +41,34 @@ public class GatheringbillEditSaveBatchBSAction extends BillUpdateBatchBSAction
}
/**
- * 收款单保存校验关联的销售订单实际收款金额是否超过价税合计
+ * տУ۶ʵտǷ˰ϼ
*/
int i = 0;
for(AggregatedValueObject bill : bills) {
AggregatedValueObject oriBill = orginBills[i++];
- BaseBillVO billVO = (BaseBillVO) bill.getParentVO(); //修改的收款单
- BaseBillVO billOriVO = (BaseBillVO) oriBill.getParentVO(); //之前的收款单
- UFDouble money = billVO.getMoney(); //修改后的金额
- UFDouble oriMoney = billOriVO.getMoney(); //修改前的金额
+ BaseBillVO billVO = (BaseBillVO) bill.getParentVO(); //ĵտ
+ BaseBillVO billOriVO = (BaseBillVO) oriBill.getParentVO(); //֮ǰտ
+ UFDouble money = billVO.getMoney(); //ĺĽ
+ UFDouble oriMoney = billOriVO.getMoney(); //ǰĽ
String pk_tradetype = billVO.getPk_tradetype();
if(!"F2-Cxx-02".equals(pk_tradetype)){
continue;
}
- String def3 = billVO.getDef3(); //收款单对应的销售订单id
+ String def3 = billVO.getDef3(); //տӦ۶id
if(StringUtil.isEmpty(def3) || "N".equals(def3) || "~".equals(def3)){
- //无绑定的销售订单则下一次循环
+ //ް۶һѭ
continue;
}
- //计算收款单金额差值
+ //տֵ
UFDouble changeMoney = money.sub(oriMoney);
- //根据销售订单id去查询销售订单
+ //۶idȥѯ۶
BaseDAO dao = new BaseDAO();
String sql = "select nreceivedmny,ntotalorigmny from so_saleorder where dr = 0 and csaleorderid = '" +def3+"'";
Map saleMap = (Map)dao.executeQuery(sql, new MapProcessor());
- //销售订单价税合计
+ //۶˰ϼ
UFDouble ntotalorigmny = UFDouble.ZERO_DBL;
- //销售订单实际收款金额
+ //۶ʵտ
UFDouble nreceivedmny = UFDouble.ZERO_DBL;
if(saleMap != null) {
nreceivedmny = new UFDouble(saleMap.get("nreceivedmny") == null ? "0" : saleMap.get("nreceivedmny").toString());
@@ -76,7 +76,7 @@ public class GatheringbillEditSaveBatchBSAction extends BillUpdateBatchBSAction
}
UFDouble moreMoney = nreceivedmny.add(changeMoney).sub(ntotalorigmny);
if(nreceivedmny.add(changeMoney).compareTo(ntotalorigmny) > 0){
- throw new BusinessException("【该笔收款已超销售订单"+ moreMoney +"元,无法传输!请检查订单累计收款金额!】");
+ throw new BusinessException("ñտѳ۶"+ moreMoney +"Ԫ䣡鶩ۼտ");
}
}
diff --git a/arap/src/private/nc/bs/arap/actions/GatheringbillSaveBatchBSAction.java b/arap/src/private/nc/bs/arap/actions/GatheringbillSaveBatchBSAction.java
index 00be7a2..0bb5e58 100644
--- a/arap/src/private/nc/bs/arap/actions/GatheringbillSaveBatchBSAction.java
+++ b/arap/src/private/nc/bs/arap/actions/GatheringbillSaveBatchBSAction.java
@@ -59,29 +59,29 @@ public class GatheringbillSaveBatchBSAction extends BillInsertBatchBSAction {
ArapBillVOUtils.setDefaultSettleFlag(bills);
/**
- * 收款单保存校验关联的销售订单实际收款金额是否超过价税合计
+ * տУ۶ʵտǷ˰ϼ
*/
for(AggregatedValueObject bill : bills) {
- BaseBillVO billVO = (BaseBillVO) bill.getParentVO(); //修改的收款单
- UFDouble money = billVO.getMoney(); //金额
+ BaseBillVO billVO = (BaseBillVO) bill.getParentVO(); //ĵտ
+ UFDouble money = billVO.getMoney(); //
String pk_tradetype = billVO.getPk_tradetype();
if(!"F2-Cxx-02".equals(pk_tradetype)){
continue;
}
- String def3 = billVO.getDef3(); //收款单对应的销售订单id
+ String def3 = billVO.getDef3(); //տӦ۶id
if(StringUtil.isEmpty(def3) || "N".equals(def3) || "~".equals(def3)){
- //无绑定的销售订单则下一次循环
+ //ް۶һѭ
continue;
}
- //根据销售订单id去查询销售订单
+ //۶idȥѯ۶
BaseDAO dao = new BaseDAO();
String sql = "select nreceivedmny,ntotalorigmny from so_saleorder where dr = 0 and csaleorderid = '" +def3+"'";
Map saleMap = (Map)dao.executeQuery(sql, new MapProcessor());
- //销售订单价税合计
+ //۶˰ϼ
UFDouble ntotalorigmny = UFDouble.ZERO_DBL;
- //销售订单实际收款金额
+ //۶ʵտ
UFDouble nreceivedmny = UFDouble.ZERO_DBL;
if(saleMap != null) {
nreceivedmny = new UFDouble(saleMap.get("nreceivedmny") == null ? "0" : saleMap.get("nreceivedmny").toString());
@@ -89,7 +89,7 @@ public class GatheringbillSaveBatchBSAction extends BillInsertBatchBSAction {
}
UFDouble moreMoney = nreceivedmny.add(money).sub(ntotalorigmny);
if(nreceivedmny.add(money).compareTo(ntotalorigmny) > 0){
- throw new BusinessException("【该笔收款已超销售订单"+ moreMoney +"元,无法传输!请检查订单累计收款金额!】");
+ throw new BusinessException("ñտѳ۶"+ moreMoney +"Ԫ䣡鶩ۼտ");
}
}
}
diff --git a/fbm/src/private/nc/impl/fbm/gather/GatherManageServiceImpl.java b/fbm/src/private/nc/impl/fbm/gather/GatherManageServiceImpl.java
index fbfd35c..1180d82 100644
--- a/fbm/src/private/nc/impl/fbm/gather/GatherManageServiceImpl.java
+++ b/fbm/src/private/nc/impl/fbm/gather/GatherManageServiceImpl.java
@@ -173,7 +173,7 @@ public class GatherManageServiceImpl implements IGatherManageService {
ICustsupPubService cusService = (ICustsupPubService) NCLocator.getInstance().lookup(ICustsupPubService.class);
String paybillunit = registervo.getPaybillunit();
String entrustedpaybillunit = registervo.getEntrustedpaybillunit();
- // zhangxinah 去掉收票单位校验
+ // zhangxinah ȥƱλУ
if (StringUtil.isNull(paybillunit) && StringUtil.isNull(entrustedpaybillunit)) {
throw new BusinessException(NCLangRes4VoTransl.getNCLangRes().getStrByID("3618ncc1_0", "03618ncc1-0000")
+ NCLangRes4VoTransl.getNCLangRes().getStrByID("3618ncc1_0", "03618ncc1-0000")
@@ -1374,7 +1374,7 @@ public class GatherManageServiceImpl implements IGatherManageService {
throw new BusinessException(obj.getExceptionMsg());
}
- Logger.debug("快速导入已完成");
+ Logger.debug("ٵ");
}
private void checkOrgIsExist(String pk_org) throws BusinessException {
@@ -1904,7 +1904,7 @@ public class GatherManageServiceImpl implements IGatherManageService {
AggRegisterVO[] aggVOs = gatherService.getAggVOsByPKs(pk_registers);
if (ArrayUtils.isEmpty(aggVOs)) {
- throw new BusinessException("传入AggRegisterVO数组为空,请检查");
+ throw new BusinessException("AggRegisterVOΪգ");
}
GatherCheckUtil.checkSameOrgCurr(aggVOs);
GatherCheckUtil.checkSamePaybillunit(aggVOs);
diff --git a/fbm/src/private/nccloud/impl/fbm/gather/excel/GatherExcelImport4NCCImpl.java b/fbm/src/private/nccloud/impl/fbm/gather/excel/GatherExcelImport4NCCImpl.java
index 079a4e1..86f4b3b 100644
--- a/fbm/src/private/nccloud/impl/fbm/gather/excel/GatherExcelImport4NCCImpl.java
+++ b/fbm/src/private/nccloud/impl/fbm/gather/excel/GatherExcelImport4NCCImpl.java
@@ -113,7 +113,7 @@ public class GatherExcelImport4NCCImpl extends AbstractImportProceeWithContext {
throw new BusinessException(
var10002 + NCLangRes4VoTransl.getNCLangRes().getStrByID("3618ncc_0", "03618ncc-0078"));
}
-//zhangxinah 去掉银行账户是否电票签约账户的校验
+//zhangxinah ȥ˻ǷƱǩԼ˻У
// if (!accbasVO.getIsenableelecbill().booleanValue()) {
// var10002 = pvo.getFbmbillno();
// throw new BusinessException(
@@ -201,7 +201,7 @@ public class GatherExcelImport4NCCImpl extends AbstractImportProceeWithContext {
pvo.setBillrange(var10001 + "-" + pvo.getBillrangeend());
} else if (ifBelongNewbillSys) {
if (!"0".equals(pvo.getBillrangestart()) || !"0".equals(pvo.getBillrangeend())) {
- throw new BusinessException("票据[" + pvo.getFbmbillno() + "]为新一代票且不可分包流转,子票区间开始和结束应为0!");
+ throw new BusinessException("Ʊ[" + pvo.getFbmbillno() + "]ΪһƱҲɷְתƱ俪ʼͽӦΪ0");
}
pvo.setBillrange(String.valueOf("0"));
diff --git a/fbm/src/public/nc/vo/fbm/pub/util/FbmCommonTools.java b/fbm/src/public/nc/vo/fbm/pub/util/FbmCommonTools.java
index 242c69a..888b82a 100644
--- a/fbm/src/public/nc/vo/fbm/pub/util/FbmCommonTools.java
+++ b/fbm/src/public/nc/vo/fbm/pub/util/FbmCommonTools.java
@@ -133,7 +133,7 @@ public class FbmCommonTools {
fbmbillno + NCLangRes4VoTransl.getNCLangRes().getStrByID("3618nccd_0", "03618nccd--186"));
} else {
- // zhangxinah 去掉收票登记导入时票据长度校验
+ // zhangxinah ȥƱǼǵʱƱݳУ
// checkFbmbillnoLength(fbmbillno);
if (fbmbillno.length() > 16) {
eBillNoCheck(fbmbillno);
@@ -196,7 +196,7 @@ public class FbmCommonTools {
private static void eBillNoCheck(String fbmno) throws BusinessException {
Pattern pattern = Pattern.compile("\\d{30}");
Boolean ismatch = pattern.matcher(fbmno).matches();
- // 电票不校验票据号长度
+ // ƱУƱݺų
ismatch = true;
if (!ismatch) {
throw new BusinessException(
@@ -353,7 +353,7 @@ public class FbmCommonTools {
&& BillRangeTools
.handleBillRange(register.getBillrangestart()) <= billrangeend)) {
throw new BusinessException(
- "票据号码" + fbmBillNo + "子票区间" + billrangestart + "-" + billrangeend + "已存在");
+ "Ʊݺ" + fbmBillNo + "Ʊ" + billrangestart + "-" + billrangeend + "Ѵ");
}
}
}
@@ -371,8 +371,8 @@ public class FbmCommonTools {
Integer total = billrangeend - billrangestart + 1;
UFDouble count = (new UFDouble("0.01")).multiply((double) total);
if (count.compareTo(money) != 0) {
- throw new BusinessException("票据号码" + registerVO.getFbmbillno() + "子票区间" + billrangestart + "-"
- + billrangeend + "的金额" + count.toString() + "与票据金额不相等,请修改");
+ throw new BusinessException("Ʊݺ" + registerVO.getFbmbillno() + "Ʊ" + billrangestart + "-"
+ + billrangeend + "Ľ" + count.toString() + "Ʊݽȣ");
}
}
@@ -420,17 +420,17 @@ public class FbmCommonTools {
String billRangeEnd = registerVO.getBillrangeend();
String firstNum = registerVO.getFbmbillno().substring(0, 1);
if (isEbill && !"5".equals(firstNum) && !"6".equals(firstNum)) {
- throw new BusinessException("票据" + registerVO.getFbmbillno() + "非新一代票据,不可进行分包流转!");
+ throw new BusinessException("Ʊ" + registerVO.getFbmbillno() + "һƱݣɽзְת");
}
if (StringUtil.isNull(billRangeStart) || StringUtil.isNull(billRangeEnd)) {
- throw new BusinessException("票据可分包流转状态下,票据子票区间开始和截止值不能为空!");
+ throw new BusinessException("Ʊݿɷְת״̬£ƱƱ俪ʼͽֵֹΪգ");
}
if (Long.valueOf(billRangeStart) > 0L && Long.valueOf(billRangeEnd) > 0L) {
if (billRangeStart.length() >= 12 && billRangeEnd.length() >= 12) {
if (Long.parseLong(billRangeEnd) < Long.parseLong(billRangeStart)) {
- throw new BusinessException("子票区间截止值不能小于开始值!");
+ throw new BusinessException("ƱֵֹСڿʼֵ");
}
checkMoneyFormatCorrect(registerVO.getMoney());
@@ -439,25 +439,25 @@ public class FbmCommonTools {
UFDouble diffMoney = (new UFDouble(rangeDiff)).add(1.0).multiply(0.01);
RegisterVO newRegisterVO = calcMoneyPrecision(registerVO, diffMoney);
if (newRegisterVO.getMoney().doubleValue() != registerVO.getMoney().doubleValue()) {
- throw new BusinessException("票据号码" + registerVO.getFbmbillno() + ",子票区间" + billRangeStart
- + "-" + billRangeEnd + "的金额" + newRegisterVO.getMoney().toString()
- + "(根据公式自动计算出的金额)与票据金额不相等,请修改!");
+ throw new BusinessException("Ʊݺ" + registerVO.getFbmbillno() + "Ʊ" + billRangeStart
+ + "-" + billRangeEnd + "Ľ" + newRegisterVO.getMoney().toString()
+ + "ݹʽԶĽƱݽȣģ");
}
if (!isEbill) {
- throw new BusinessException("纸票不能进行分包流转!");
+ throw new BusinessException("ֽƱܽзְת");
}
if (Long.parseLong(billRangeEnd) < Long.parseLong(billRangeStart)) {
- throw new BusinessException("子票区间截止值不能小于开始值!");
+ throw new BusinessException("ƱֵֹСڿʼֵ");
}
break label101;
}
- throw new BusinessException("子票区间开始值和截止值长度都必须为12位!");
+ throw new BusinessException("Ʊ俪ʼֵͽֵֹȶΪ12λ");
}
- throw new BusinessException("子票区间开始值和截止值都必须大于0!");
+ throw new BusinessException("Ʊ俪ʼֵͽֵֹ0");
}
}
@@ -474,10 +474,10 @@ public class FbmCommonTools {
}
} else {
- throw new BusinessException("非新一代票据不可进行分包流转,不可输入子票区间!");
+ throw new BusinessException("һƱݲɽзְתƱ䣡");
}
} else {
- throw new BusinessException("票据[" + registerVO.getFbmbillno() + "]为新一代票且不可分包流转,子票区间开始和结束应为0!");
+ throw new BusinessException("Ʊ[" + registerVO.getFbmbillno() + "]ΪһƱҲɷְתƱ俪ʼͽӦΪ0");
}
}
@@ -495,20 +495,20 @@ public class FbmCommonTools {
if (ifIncludesInterval(register, newRegisterVO)) {
var10002 = register.getparentVO().getFbmbillno();
throw new BusinessException(
- "票据号码" + var10002 + ",子票区间" + register.getparentVO().getBillrangestart() + "-"
+ "Ʊݺ" + var10002 + "Ʊ" + register.getparentVO().getBillrangestart() + "-"
+ register.getparentVO().getBillrangeend()
- + "已存在,请勿重复录入,请在票据台账节点查询该票据号对应单据是否处理完成!");
+ + "Ѵڣظ¼룬Ʊ̨˽ڵѯƱݺŶӦǷɣ");
}
return null;
}
- throw new BusinessException("票据号[" + newRegisterVO.getFbmbillno() + "]已存在,且为等分票据,不可再登记非等分票据信息!");
+ throw new BusinessException("Ʊݺ[" + newRegisterVO.getFbmbillno() + "]ѴڣΪȷƱݣٵǼǷǵȷƱϢ");
}
if (!StringUtil.isNull(newRegisterVO.getBillrangestart())
&& !StringUtil.isNull(newRegisterVO.getBillrangeend())) {
- return "票据号[" + newRegisterVO.getFbmbillno() + "]已存在,且为非等分票据,不可再登记等分票据信息!";
+ return "Ʊݺ[" + newRegisterVO.getFbmbillno() + "]ѴڣΪǵȷƱݣٵǼǵȷƱϢ";
}
throw new BusinessException(NCLangRes4VoTransl.getNCLangRes().getStrByID("3618fbm_0", "03618fbm-0598",
@@ -516,7 +516,7 @@ public class FbmCommonTools {
} else if (registers != null && registers.length > 1) {
if (StringUtil.isNull(newRegisterVO.getBillrangestart())
|| StringUtil.isNull(newRegisterVO.getBillrangeend())) {
- throw new BusinessException("票据号[" + newRegisterVO.getFbmbillno() + "]已存在,且为等分票据,不可再登记非等分票据信息!");
+ throw new BusinessException("Ʊݺ[" + newRegisterVO.getFbmbillno() + "]ѴڣΪȷƱݣٵǼǷǵȷƱϢ");
}
AggRegisterVO[] var7 = registers;
@@ -526,20 +526,20 @@ public class FbmCommonTools {
AggRegisterVO vo = var7[var4];
if (ifIncludesInterval(vo, newRegisterVO)) {
var10002 = vo.getparentVO().getFbmbillno();
- throw new BusinessException("票据号码" + var10002 + ",子票区间" + vo.getparentVO().getBillrangestart()
- + "-" + vo.getparentVO().getBillrangeend() + "已存在,请勿重复录入,请在票据台账节点查询该票据号对应单据是否处理完成!");
+ throw new BusinessException("Ʊݺ" + var10002 + "Ʊ" + vo.getparentVO().getBillrangestart()
+ + "-" + vo.getparentVO().getBillrangeend() + "Ѵڣظ¼룬Ʊ̨˽ڵѯƱݺŶӦǷɣ");
}
}
}
} else {
if (registers == null || registers.length == 0) {
- throw new BusinessException("修改失败,票据" + newRegisterVO.getFbmbillno() + "数据不存在!");
+ throw new BusinessException("ʧܣƱ" + newRegisterVO.getFbmbillno() + "ݲڣ");
}
if (registers != null && registers.length > 1) {
if (newRegisterVO.getSubcontractcirculation() != null
&& !newRegisterVO.getSubcontractcirculation().booleanValue()) {
- throw new BusinessException("票据号码 " + newRegisterVO.getFbmbillno() + "作为等分票据已拆包,无法再变更为非等分票据!");
+ throw new BusinessException("Ʊݺ " + newRegisterVO.getFbmbillno() + "ΪȷƱѲٱΪǵȷƱݣ");
}
boolean intervalRepeat = false;
@@ -551,7 +551,7 @@ public class FbmCommonTools {
if (StringUtil.isNull(vo.getparentVO().getBillrangestart())
|| StringUtil.isNull(vo.getparentVO().getBillrangeend())) {
throw new BusinessException(
- "修改失败,票据 " + newRegisterVO.getFbmbillno() + "既存在等分票据数据,又存在非等分票据数据!");
+ "ʧܣƱ " + newRegisterVO.getFbmbillno() + "ȴڵȷƱݣִڷǵȷƱݣ");
}
if (vo.getparentVO().getPk_register().equals(newRegisterVO.getPk_register())) {
@@ -566,8 +566,8 @@ public class FbmCommonTools {
if (intervalRepeat) {
var10002 = newRegisterVO.getFbmbillno();
- throw new BusinessException("票据号码" + var10002 + ",子票区间" + newRegisterVO.getBillrangestart() + "-"
- + newRegisterVO.getBillrangeend() + "已存在,请勿重复录入,请在票据台账节点查询该票据号对应单据是否处理完成!");
+ throw new BusinessException("Ʊݺ" + var10002 + "Ʊ" + newRegisterVO.getBillrangestart() + "-"
+ + newRegisterVO.getBillrangeend() + "Ѵڣظ¼룬Ʊ̨˽ڵѯƱݺŶӦǷɣ");
}
}
}
@@ -632,7 +632,7 @@ public class FbmCommonTools {
&& !(standardAmountMultiplier.sub(new UFDouble(roundmum)).doubleValue() < 0.0)) {
return roundmum;
} else {
- throw new BusinessException("等分票据的票据金额要等于标准金额的整数倍,请修改!");
+ throw new BusinessException("ȷƱݵƱݽҪڱģ");
}
}
}
diff --git a/ic/src/public/nccloud/resources/ic/ic/saleout/saveBeforeCheck.java b/ic/src/public/nccloud/resources/ic/ic/saleout/saveBeforeCheck.java
index d748044..c2e1861 100644
--- a/ic/src/public/nccloud/resources/ic/ic/saleout/saveBeforeCheck.java
+++ b/ic/src/public/nccloud/resources/ic/ic/saleout/saveBeforeCheck.java
@@ -24,9 +24,9 @@ import java.time.LocalDateTime;
/**
- * 发货时保存时验证销售订单累计发货数量,并校验销售发票标识,并验证发货款比例
+ * ʱʱ֤۶ۼƷУ۷Ʊʶ֤
* zhangxinah
- * 2005适配2312
+ * 20052312
*/
public class saveBeforeCheck implements IBusinessListener {
@@ -38,7 +38,7 @@ public class saveBeforeCheck implements IBusinessListener {
if (event != null) {
Map map = this.getBills(event);
SaleOutVO[] obills = map.get("obj");
- // 判断是否是需要控制的业务单元
+ // жǷҪƵҵԪ
SaleOutHeadVO parentVO = obills[0].getHead();
String pkstockorgStr = getPk_stockorg(parentVO.getPk_org());
if (pkstockorgStr == null || pkstockorgStr.equals("")) {
@@ -51,7 +51,7 @@ public class saveBeforeCheck implements IBusinessListener {
if (valMap == null || valMap.isEmpty()) {
return;
}
- // 历史数据不考虑
+ // ʷݲ
String storedDateStr = (String) valMap.get("creationtime");
String targetDateStr = "2024-12-31 00:00:00";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
@@ -60,51 +60,51 @@ public class saveBeforeCheck implements IBusinessListener {
if (storedDate.isBefore(targetDate)) {
return;
}
- // 销售发票表头pk_billtypecode=30-Cxx-12
+ // ۷Ʊͷpk_billtypecode=30-Cxx-12
if (valMap.get("pk_billtypecode").equals("30-Cxx-12")
|| valMap.get("pk_billtypecode").equals("30-Cxx-02")
|| valMap.get("pk_billtypecode").equals("30-Cxx-08")
|| valMap.get("pk_billtypecode").equals("30-Cxx-13")) {
return;
}
- // 销售发票表头vdef21=是
+ // ۷Ʊͷvdef21=
if (valMap.get("vdef20") == null || !valMap.get("vdef20").equals("Y")) {
- throw new BusinessException("销售出库单明细" + (i + 1) + ",销售发票验证不通过,无法保存!");
+ throw new BusinessException("۳ⵥϸ" + (i + 1) + "۷Ʊ֤ͨ棡");
}
if (valMap.get("sqty") == null) {
- throw new BusinessException("销售出库单明细" + (i + 1) + ",累计发货申请数量为0,无法保存!");
+ throw new BusinessException("۳ⵥϸ" + (i + 1) + "ۼƷΪ0棡");
} else {
try {
- double sQty = Double.parseDouble((String) valMap.get("sqty"));// 累计发货申请数量
- UFDouble bdnumUF = vo.getNshouldassistnum();// 本单应发数量
+ double sQty = Double.parseDouble((String) valMap.get("sqty"));// ۼƷ
+ UFDouble bdnumUF = vo.getNshouldassistnum();// Ӧ
double bdnum = 0;
if (bdnumUF != null) {
bdnum = bdnumUF.getDouble();
}
- // 应发数量判断
+ // Ӧж
Object ntotaloutnumsObj = valMap.get("ntotaloutnums");
String ntotaloutnums = (ntotaloutnumsObj != null) ? ntotaloutnumsObj.toString() : "";
- double ntotaloutnum = (ntotaloutnums.isEmpty()) ? 0 : Double.parseDouble(ntotaloutnums);// 累计出库主数量
+ double ntotaloutnum = (ntotaloutnums.isEmpty()) ? 0 : Double.parseDouble(ntotaloutnums);// ۼƳ
if (sQty < (ntotaloutnum + bdnum)) {
- throw new BusinessException("销售出库单明细" + (i + 1) + ",累计出库应发数量'" + (ntotaloutnum + bdnum)
- + "'大于销售订单累计发货申请数量'" + sQty + "',无法保存!");
+ throw new BusinessException("۳ⵥϸ" + (i + 1) + "ۼƳӦ'" + (ntotaloutnum + bdnum)
+ + "'۶ۼƷ'" + sQty + "'棡");
}
- // 实发数量判断
- UFDouble bdsfnumUF = vo.getNassistnum();// 本单实发数量
+ // ʵж
+ UFDouble bdsfnumUF = vo.getNassistnum();// ʵ
double bdsfnum = 0;
if (bdsfnumUF != null) {
bdsfnum = bdsfnumUF.getDouble();
}
Object nassistnumObj = valMap.get("nassistnum");
String nassistnums = (nassistnumObj != null) ? nassistnumObj.toString() : "";
- double nassistnum = (nassistnums.isEmpty()) ? 0 : Double.parseDouble(nassistnums);// 累计出库主数量
+ double nassistnum = (nassistnums.isEmpty()) ? 0 : Double.parseDouble(nassistnums);// ۼƳ
if (sQty < (nassistnum + bdsfnum)) {
- throw new BusinessException("销售出库单明细" + (i + 1) + ",累计出库实发数量'" + (nassistnum + bdsfnum)
- + "'大于销售订单累计发货申请数量'" + sQty + "',无法保存!");
+ throw new BusinessException("۳ⵥϸ" + (i + 1) + "ۼƳʵ'" + (nassistnum + bdsfnum)
+ + "'۶ۼƷ'" + sQty + "'棡");
}
} catch (NumberFormatException e) {
- throw new BusinessException("累计发货申请数量、累计出库数量转化数值失败" + e);
+ throw new BusinessException("ۼƷۼƳתֵʧ" + e);
}
}
@@ -142,7 +142,7 @@ public class saveBeforeCheck implements IBusinessListener {
Object object = null;
Object old = null;
Map retMap = new HashMap<>();
- // 类型判断和赋值
+ // жϺֵ
if (event instanceof BusinessEvent) {
BusinessEvent bills = (BusinessEvent) event;
object = bills.getObject();
@@ -155,17 +155,17 @@ public class saveBeforeCheck implements IBusinessListener {
object = e.getNewObjs();
old = e.getOldObjs();
} else {
- throw new BusinessException("未找到单据类型");
+ throw new BusinessException("δҵ");
}
- // 将 object 和 old 转换为 SaleOutVO[] 并添加到 retMap
+ // object old תΪ SaleOutVO[] ӵ retMap
retMap.put("new", toSaleOutVOArray(object));
retMap.put("old", toSaleOutVOArray(old));
- // 根据 new 或 old 来设置 "obj"
+ // new old "obj"
retMap.put("obj", retMap.get("new") != null ? retMap.get("new") : retMap.get("old"));
return retMap;
}
- // 辅助方法:将对象转换为 SaleOutVO 数组
+ // תΪ SaleOutVO
private SaleOutVO[] toSaleOutVOArray(Object object) {
if (object == null) {
return null;
diff --git a/mmpac/src/private/nc/bs/mmpac/pickm/bp/rule/PickmFillInfoFormMORule.java b/mmpac/src/private/nc/bs/mmpac/pickm/bp/rule/PickmFillInfoFormMORule.java
index d5cbc68..bd95b22 100644
--- a/mmpac/src/private/nc/bs/mmpac/pickm/bp/rule/PickmFillInfoFormMORule.java
+++ b/mmpac/src/private/nc/bs/mmpac/pickm/bp/rule/PickmFillInfoFormMORule.java
@@ -23,14 +23,14 @@ public class PickmFillInfoFormMORule implements IRule {
return;
}
try {
- //流程生产订单表体主键
+ //
Set bmopksSet = new HashSet<>();
Arrays.stream(vos).forEach(aggPickmVO -> bmopksSet.add(aggPickmVO.getParentVO().getVsourcemorowid()));
IPMOQueryService ipmoQueryService = NCLocator.getInstance().lookup(IPMOQueryService.class);
Map pMOItemVOMap = ipmoQueryService.queryItemBybid(bmopksSet.toArray(new String[0]));
Arrays.stream(vos).forEach(aggPickmVO -> {
- //生产订单行主键
+ //
String vsourcemorowid = aggPickmVO.getParentVO().getVsourcemorowid();
PickmItemVO[] children = (PickmItemVO[])aggPickmVO.getChildren(PickmItemVO.class);
if(!MMValueCheck.isNotEmpty(children)){
@@ -38,9 +38,9 @@ public class PickmFillInfoFormMORule implements IRule {
}
for (PickmItemVO pickmItemVO : children) {
PMOItemVO pmoItemVO = pMOItemVOMap.get(vsourcemorowid);
- pickmItemVO.setVbdef5(pmoItemVO.getVdef1());//合同编号
- pickmItemVO.setVbdef6(pmoItemVO.getVdef2());//合同销售订单号
- pickmItemVO.setVbdef7(pmoItemVO.getVdef7());//标前项目号
+ pickmItemVO.setVbdef5(pmoItemVO.getVdef1());//ͬ
+ pickmItemVO.setVbdef6(pmoItemVO.getVdef2());//ͬ۶
+ pickmItemVO.setVbdef7(pmoItemVO.getVdef7());//ǰĿ
}
});
} catch (BusinessException e) {
diff --git a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/PMOFinishBP.java b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/PMOFinishBP.java
index fb11fc9..92c1948 100644
--- a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/PMOFinishBP.java
+++ b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/PMOFinishBP.java
@@ -43,7 +43,7 @@ public class PMOFinishBP {
private void addFinishAfterRule(CompareAroundProcesser processer) {
IRule finishPutPlanRule = new PMOFinishAutoFinishPutPlanRule();
processer.addAfterRule(finishPutPlanRule);
- /** 同步修改备料计划完成(生产订单强制完工时) */
+ /** ͬıϼƻ(ǿ깤ʱ) */
IRule pMOToFinishPickMRule = new PMOToFinishPickMRule();
processer.addAfterRule(pMOToFinishPickMRule);
}
diff --git a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/PMORowFinishBP.java b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/PMORowFinishBP.java
index 7640377..ac9d2e4 100644
--- a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/PMORowFinishBP.java
+++ b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/PMORowFinishBP.java
@@ -88,7 +88,7 @@ public class PMORowFinishBP {
returnvos[0].setChildrenVO((CircularlyAccessibleValueObject[])newitemMap.values().toArray(new PMOItemVO[0]));
processer.after(returnvos, returnvos);
- /** 同步修改备料计划完成(生产订单强制完工时) */
+ /** ͬıϼƻ(ǿ깤ʱ) */
IRule pMOToFinishPickMRule = new PMOToFinishPickMRule();
pMOToFinishPickMRule.process(newaggvos);
/** ******************** */
diff --git a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/putBeforeCheckRule.java b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/putBeforeCheckRule.java
index d1f1f11..b24b5da 100644
--- a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/putBeforeCheckRule.java
+++ b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/putBeforeCheckRule.java
@@ -20,7 +20,7 @@ import nc.vo.so.m30.entity.SaleOrderBVO;
//import nc.bs.rbac.bizlistener.BaseDocDataPermChangeEventListener;
//import nc.impl.mmpac.pmo.pac0002.PMOTransTypeQueryServiceImpl;
//import nc.impl.mmpac.bcrule.predata.BarCodeDataInitListener;
-//import nc.ui.mmpub.setanalysis.action.SaAnalysisAction.actionPerformed;//流程生产订单齐套分析-分析
+//import nc.ui.mmpub.setanalysis.action.SaAnalysisAction.actionPerformed;//-
//import nc.impl.mmpub.setanalysis.SetAnalysisServiceImpl;
import nc.bs.mmpac.pmo.pac0002.bp.PMORowPutBP;
@@ -38,7 +38,7 @@ public class putBeforeCheckRule implements IRule {
// TODO Auto-generated method stub
List list = new ArrayList();
for (PMOAggVO vo : vos) {
- //判断是否是需要控制的业务单元
+ //жǷҪƵҵԪ
PMOHeadVO pmoHeadVO = vo.getParentVO();
String pkstockorgStr = getPk_stockorg(pmoHeadVO.getPk_org());
if (pkstockorgStr == null || pkstockorgStr.equals("")) {
@@ -47,16 +47,16 @@ public class putBeforeCheckRule implements IRule {
PMOItemVO[] iSuperVOs = vo.getChildrenVO();
for (int i = 0; i < iSuperVOs.length; i++) {
PMOItemVO itemvo = iSuperVOs[i];
- //判断是否类型是否为30
+ //жǷǷΪ30
if (itemvo.getVsrctype() == null || !itemvo.getVsrctype().equals("30")) {
return;
}
Map valMap = getVbdef6(itemvo.getVsrcbid());
- //销售发票表头pk_billtypecode=30-Cxx-12
+ //۷Ʊͷpk_billtypecode=30-Cxx-12
if (valMap.get("pk_billtypecode").equals("30-Cxx-12")||valMap.get("pk_billtypecode").equals("30-Cxx-02")||valMap.get("pk_billtypecode").equals("30-Cxx-08")||valMap.get("pk_billtypecode").equals("30-Cxx-13")) {
return;
}
- //历史数据不考虑
+ //ʷݲ
String storedDateStr = (String) valMap.get("creationtime");
String targetDateStr = "2024-12-31 00:00:00";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
@@ -65,15 +65,15 @@ public class putBeforeCheckRule implements IRule {
if (storedDate.isBefore(targetDate)) {
return;
}
- String vdef4Str = itemvo.getVdef4();//齐套率
+ String vdef4Str = itemvo.getVdef4();//
String vdef4 = (vdef4Str != null) ? vdef4Str.toString() : "";
- double vdef4qty = (vdef4.isEmpty()) ? 0 : Double.parseDouble(vdef4);//齐套率
- String vdef10Str = itemvo.getVdef10();//齐套率标准
+ double vdef4qty = (vdef4.isEmpty()) ? 0 : Double.parseDouble(vdef4);//
+ String vdef10Str = itemvo.getVdef10();//ʱ
String vdef10 = (vdef10Str != null) ? vdef10Str.toString() : "";
- double vdef10qty = (vdef10.isEmpty()) ? 0 : Double.parseDouble(vdef10);//齐套率标准
+ double vdef10qty = (vdef10.isEmpty()) ? 0 : Double.parseDouble(vdef10);//ʱ
if (vdef4qty < vdef10qty) {
throw new BusinessException(
- "齐套率" + vdef4qty + "小于齐套率标准'" + vdef10qty + "',无法保存!");
+ "" + vdef4qty + "Сʱ'" + vdef10qty + "'棡");
}
}
diff --git a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/saveBeforeCheckRule.java b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/saveBeforeCheckRule.java
index 5e56d69..dad157c 100644
--- a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/saveBeforeCheckRule.java
+++ b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/saveBeforeCheckRule.java
@@ -17,8 +17,8 @@ import nc.vo.pub.BusinessException;
import nc.vo.so.m30.entity.SaleOrderBVO;
/**
- * 流程生成订单保存时验证销售订单累计排产状态,并验收首付款比例
- * zhangxinah 适配2312
+ * ɶʱ֤۶ۼŲ״̬
+ * zhangxinah 2312
*/
public class saveBeforeCheckRule implements IRule {
@@ -28,7 +28,7 @@ public class saveBeforeCheckRule implements IRule {
try {
List list = new ArrayList();
for (PMOAggVO vo : vos) {
- //判断是否是需要控制的业务单元
+ //жǷҪƵҵԪ
PMOHeadVO pmoHeadVO = vo.getParentVO();
String pkstockorgStr = getPk_stockorg(pmoHeadVO.getPk_org());
if (pkstockorgStr == null || pkstockorgStr.equals("")) {
@@ -37,20 +37,20 @@ public class saveBeforeCheckRule implements IRule {
PMOItemVO[] iSuperVOs = vo.getChildrenVO();
for (int i = 0; i < iSuperVOs.length; i++) {
PMOItemVO itemvo = iSuperVOs[i];
- //判断是否类型是否为30
+ //жǷǷΪ30
if (itemvo.getVsrctype() == null || !itemvo.getVsrctype().equals("30")) {
return;
}
Map valMap = getVbdef6(itemvo.getVsrcbid());
if (valMap == null || valMap.isEmpty()) {
- throw new BusinessException("无法关联到销售订单,无法保存!");
+ throw new BusinessException("۶棡");
}
- //销售发票表头pk_billtypecode=30-Cxx-12
+ //۷Ʊͷpk_billtypecode=30-Cxx-12
if (valMap.get("pk_billtypecode").equals("30-Cxx-12")||valMap.get("pk_billtypecode").equals("30-Cxx-02")||valMap.get("pk_billtypecode").equals("30-Cxx-08")||valMap.get("pk_billtypecode").equals("30-Cxx-13")) {
return;
}
- //历史数据不考虑
+ //ʷݲ
String storedDateStr = (String) valMap.get("creationtime");
String targetDateStr = "2024-12-27 00:00:00";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
@@ -61,22 +61,22 @@ public class saveBeforeCheckRule implements IRule {
}
if (valMap.get("vbdef12") == null) {
throw new BusinessException(
- "生产订单明细" + (i + 1) + ",累计排产申请数量为0,无法保存!");
+ "ϸ" + (i + 1) + "ۼŲΪ0棡");
} else {
try {
- double sQty = Double.parseDouble((String) valMap.get("vbdef12"));//累计排产申请数量
+ double sQty = Double.parseDouble((String) valMap.get("vbdef12"));//ۼŲ
Object ntotaloutnumsObj = valMap.get("nastnum");
String ntotaloutnums = (ntotaloutnumsObj != null) ? ntotaloutnumsObj.toString() : "";
double ntotaloutnum =
- (ntotaloutnums.isEmpty()) ? 0 : Double.parseDouble(ntotaloutnums);//累计生产数量
+ (ntotaloutnums.isEmpty()) ? 0 : Double.parseDouble(ntotaloutnums);//ۼ
double bdnum = itemvo.getNastnum().getDouble();
if (sQty < (ntotaloutnum + bdnum)) {
throw new BusinessException(
- "生产订单明细" + (i + 1) + ",累计生产数量'" + (ntotaloutnum + bdnum)
- + "'大于销售订单累计排产申请数量'" + sQty + "',无法保存!");
+ "ϸ" + (i + 1) + "ۼ'" + (ntotaloutnum + bdnum)
+ + "'۶ۼŲ'" + sQty + "'棡");
}
} catch (NumberFormatException e) {
- throw new BusinessException("累计排产申请数量转化数值失败" + e);
+ throw new BusinessException("ۼŲתֵʧ" + e);
}
}
}
diff --git a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/rule/PMOToFinishPickMRule.java b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/rule/PMOToFinishPickMRule.java
index bf89dfc..38129aa 100644
--- a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/rule/PMOToFinishPickMRule.java
+++ b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/rule/PMOToFinishPickMRule.java
@@ -21,49 +21,49 @@ public class PMOToFinishPickMRule
return;
}
/**
- * 业务逻辑:
- * 1.循环生产订单明细表
- * 2.查看生产订单明细行的状态是否为完工(2)
- * 3.若为完工状态,则根据生产订单明细表中生产订单行查询备料计划
- * 4.修改备料计划为完成状态(3)
+ * ҵ
+ * 1.ѭϸ
+ * 2.鿴ϸе״̬ǷΪ깤2
+ * 3.Ϊ깤״̬ϸвѯϼƻ
+ * 4.ıϼƻΪ״̬3
*/
for(int i = 0; i < vos.length; i++) {
PMOAggVO vo = vos[i];
PMOItemVO[] items = vo.getChildrenVO();
- //循环生产订单明细
+ //ѭϸ
for(int j = 0; j < items.length; j++) {
PMOItemVO item = items[j];
- //查看生产订单行状态是否为完工(2)
+ //鿴״̬ǷΪ깤2
int fitemStatus = item.getFitemstatus();
if(fitemStatus != 2) {
continue;
}
- //根据生产订单行查询备料计划
+ //вѯϼƻ
String cmoid = item.getCmoid();
String whereSql = "nvl(mm_pickm.dr,0) = 0 and mm_pickm.vsourcemorowid = '" + cmoid + "'";
IMDPersistenceQueryService aggvoQueryService = NCLocator.getInstance().lookup(IMDPersistenceQueryService.class);
- // 根据主键查询得到aggvo
+ // ѯõaggvo
try {
@SuppressWarnings("unchecked")
ArrayList aggVOs = (ArrayList)aggvoQueryService.queryBillOfVOByCond(AggPickmVO.class, whereSql, true, false);
if(aggVOs.size() <= 0) {
continue;
}
- //数组转换
+ //ת
AggPickmVO[] aggVOsArr = new AggPickmVO[aggVOs.size()];
boolean flag = false;
for(int z=0; z snSaveRule = new WrSerialNoSaveRule();
processor.addAfterRule(snSaveRule);
- /** 同步修改备料计划完成 */
+ /** ͬıϼƻ */
IRule pickMFinishRule = new PickMFinishRule();
processor.addAfterRule(pickMFinishRule);
/** ******************** */
diff --git a/mmpac/src/private/nc/bs/mmpac/wr/rule/serialno/PickMFinishRule.java b/mmpac/src/private/nc/bs/mmpac/wr/rule/serialno/PickMFinishRule.java
index 037ab8b..ef2ac92 100644
--- a/mmpac/src/private/nc/bs/mmpac/wr/rule/serialno/PickMFinishRule.java
+++ b/mmpac/src/private/nc/bs/mmpac/wr/rule/serialno/PickMFinishRule.java
@@ -33,43 +33,43 @@ public class PickMFinishRule
return;
}
/**
- * 业务逻辑:
- * 1.根据生产报告子表中生产订单行查看生产订单明细表
- * 2.查看生产订单明细行的状态是否为完工(2)
- * 3.若为完工状态,则根据生成报告子表中生产订单行查询备料计划
- * 4.修改备料计划为完成状态(3)
+ * ҵ
+ * 1.ӱв鿴ϸ
+ * 2.鿴ϸе״̬ǷΪ깤2
+ * 3.Ϊ깤״̬ɱӱвѯϼƻ
+ * 4.ıϼƻΪ״̬3
*/
for(int i = 0; i < vos.length; i++) {
AggWrVO vo = vos[i];
WrItemVO[] items = vo.getChildrenVO();
- //循环生产报告子表
+ //ѭӱ
for(int j = 0; j < items.length; j++) {
WrItemVO item = items[j];
String cbmobid = item.getCbmobid();
String[] keys = {cbmobid};
- //生产订单行查询
+ //вѯ
PMOItemVO[] pmoItemvos = (new PMOItemVOQueryBP()).getPMOItemVOsByids(keys);
- //查看生产订单行状态是否为完工(2)
+ //鿴״̬ǷΪ깤2
if(pmoItemvos.length > 0) {
PMOItemVO pmoItem = pmoItemvos[0];
int fitemStatus = pmoItem.getFitemstatus();
if(fitemStatus != 2) {
continue;
}
- //根据生产订单行查询备料计划
+ //вѯϼƻ
// BillQuery query = new BillQuery(AggPickmVO.class);
// AggPickmVO[] aggVOs = (AggPickmVO[])query.query(keys);
String whereSql = "nvl(mm_pickm.dr,0) = 0 and mm_pickm.vsourcemorowid = '" + cbmobid + "'";
IMDPersistenceQueryService aggvoQueryService = NCLocator.getInstance().lookup(IMDPersistenceQueryService.class);
- // 根据主键查询得到aggvo
+ // ѯõaggvo
try {
@SuppressWarnings("unchecked")
ArrayList aggVOs = (ArrayList)aggvoQueryService.queryBillOfVOByCond(AggPickmVO.class, whereSql, true, false);
if(aggVOs.size() <= 0) {
continue;
}
- //数组转换
+ //ת
AggPickmVO[] aggVOsArr = new AggPickmVO[aggVOs.size()];
boolean flag = false;
for(int z=0; z
+
+
\ No newline at end of file
diff --git a/pu/config/billcodepredata/.gitkeep b/pu/config/billcodepredata/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/pu/config/doc-lucene-config/.gitkeep b/pu/config/doc-lucene-config/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/pu/config/pfxx/.gitkeep b/pu/config/pfxx/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/pu/config/tabconfig/.gitkeep b/pu/config/tabconfig/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/pu/designmodel/ace/.gitkeep b/pu/designmodel/ace/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/pu/designmodel/coderule/.gitkeep b/pu/designmodel/coderule/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/pu/designmodel/funcmodel/.gitkeep b/pu/designmodel/funcmodel/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/pu/designmodel/systemplatebase/.gitkeep b/pu/designmodel/systemplatebase/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/pu/designmodel/templet/.gitkeep b/pu/designmodel/templet/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/pu/doc/.gitkeep b/pu/doc/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/pu/resources/.gitkeep b/pu/resources/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/pu/script/business/.gitkeep b/pu/script/business/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/pu/script/conf/.gitkeep b/pu/script/conf/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/pu/script/dbcreate/.gitkeep b/pu/script/dbcreate/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/pu/script/dbml/.gitkeep b/pu/script/dbml/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/pu/src/client/.gitkeep b/pu/src/client/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/pu/src/client/yyconfig/modules/ic/outbound/config/action/sapplybill.xml b/pu/src/client/yyconfig/modules/ic/outbound/config/action/sapplybill.xml
new file mode 100644
index 0000000..47a6ba6
--- /dev/null
+++ b/pu/src/client/yyconfig/modules/ic/outbound/config/action/sapplybill.xml
@@ -0,0 +1,110 @@
+
+
+
+ ic.sapplybill.query
+
+ nccloud.web.ic.outbound.sapplybill.action.SapplyBillQueryAction
+
+
+ ic.sapplybill.queryPage
+
+ nccloud.web.ic.outbound.sapplybill.action.SapplyBillPageQueryAction
+
+
+ ic.sapplybill.maintain
+
+ nccloud.web.ic.outbound.sapplybill.action.SapplyBillMaintainAction
+ Commit,UnCommit,Delete
+
+
+ ic.sapplybill.save
+
+ nccloud.web.ic.outbound.sapplybill.action.SapplyBillSaveAction
+ Save
+
+
+ ic.sapplybill.saveAndCommit
+
+ nccloud.web.ic.outbound.sapplybill.action.SapplyBillSaveCommitAction
+ SaveCommit, Commit
+
+
+ ic.sapplybill.canbecopy
+
+ nccloud.web.ic.outbound.sapplybill.action.SapplyBillBeforeCopyAction
+
+
+ ic.sapplybill.copy
+
+ nccloud.web.ic.outbound.sapplybill.action.SapplyBillCopyAction
+ Copy
+
+
+ ic.sapplybill.cardquery
+
+ nccloud.web.ic.outbound.sapplybill.action.SapplyBillQueryCardAction
+
+
+ ic.sapplybill.query422x
+
+ nccloud.web.ic.outbound.sapplybill.action.Query422XFor4455Action
+
+
+ ic.sapplybill.transfervo
+
+ nccloud.web.ic.outbound.sapplybill.action.TransToSapplyBillAction
+
+
+ ic.sapplybill.queryPickm
+
+ nccloud.web.ic.outbound.sapplybill.action.QueryPickmFor4455Action
+
+
+ ic.sapplybill.transfervo1
+
+ nccloud.web.ic.outbound.sapplybill.action.TransToSapplyBill1Action
+
+
+ ic.sapplybill.print
+
+ nccloud.web.ic.outbound.sapplybill.action.SapplyBillPrintAction
+ Print,output,Print_list
+
+
+ ic.sapplybill.combine
+
+ nccloud.web.ic.outbound.sapplybill.action.SapplyBillCombineAction
+ CombinePrint
+
+
+ ic.sapplybill.checkprem
+
+ nccloud.web.ic.outbound.sapplybill.action.SapplyBillDataPermissionAction
+ Edit,Print
+
+
+ ic.sapplybill.headAfterEdit
+
+ nccloud.web.ic.outbound.sapplybill.events.SapplyBillHeadAfterEventAction
+
+
+ ic.sapplybill.bodyAfterEdit
+
+ nccloud.web.ic.outbound.sapplybill.events.SapplyBillBodyAfterEditAction
+
+
+ ic.sapplybill.rowOpenClose
+
+ nccloud.web.ic.outbound.sapplybill.action.SapplyBillRowOpenCloseAction
+
+
+ ic.sapplybill.billOpenClose
+
+ nccloud.web.ic.outbound.sapplybill.action.SapplyBillOpenCloseAction
+
+
+ ic.sapplybill.ntpLinkList
+
+ nccloud.web.ic.outbound.sapplybill.action.SapplyBillNtpLinkListAction
+
+
\ No newline at end of file
diff --git a/pu/src/client/yyconfig/modules/ic/outbound/config/authorize/sapplybill_authorize.xml b/pu/src/client/yyconfig/modules/ic/outbound/config/authorize/sapplybill_authorize.xml
new file mode 100644
index 0000000..4949b3b
--- /dev/null
+++ b/pu/src/client/yyconfig/modules/ic/outbound/config/authorize/sapplybill_authorize.xml
@@ -0,0 +1,27 @@
+
+
+ 400801200,400801204
+
+ ic.sapplybill.query
+ ic.sapplybill.queryPage
+ ic.sapplybill.maintain
+ ic.sapplybill.save
+ ic.sapplybill.saveAndCommit
+ ic.sapplybill.canbecopy
+ ic.sapplybill.copy
+ ic.sapplybill.cardquery
+ ic.sapplybill.query422x
+ ic.sapplybill.transfervo
+ ic.sapplybill.queryPickm
+ ic.sapplybill.transfervo1
+ ic.sapplybill.print
+ ic.sapplybill.combine
+ ic.sapplybill.checkprem
+ ic.sapplybill.headAfterEdit
+ ic.sapplybill.bodyAfterEdit
+ ic.sapplybill.rowOpenClose
+ ic.sapplybill.billOpenClose
+ ic.sapplybill.ntpLinkList
+
+
+
diff --git a/pu/src/test/.gitkeep b/pu/src/test/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/uapbd/src/private/nc/bs/bd/pfxx/plugin/MaterialPfxxPlugin.java b/uapbd/src/private/nc/bs/bd/pfxx/plugin/MaterialPfxxPlugin.java
new file mode 100644
index 0000000..29fc7d8
--- /dev/null
+++ b/uapbd/src/private/nc/bs/bd/pfxx/plugin/MaterialPfxxPlugin.java
@@ -0,0 +1,262 @@
+package nc.bs.bd.pfxx.plugin;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import com.yonyou.cloud.utils.CollectionUtils;
+
+import nc.bs.dao.BaseDAO;
+import nc.bs.dao.DAOException;
+import nc.bs.framework.common.NCLocator;
+import nc.bs.logging.Logger;
+import nc.bs.pfxx.ISwapContext;
+import nc.itf.bd.material.baseinfo.IMaterialBaseInfoService;
+import nc.jdbc.framework.processor.ColumnListProcessor;
+import nc.itf.bd.material.plan.IMaterialPlanQueryService;
+import nc.itf.bd.material.plan.IMaterialPlanService;
+import nc.itf.bd.material.stock.IMaterialStockQueryService;
+import nc.itf.bd.material.stock.IMaterialStockService;
+import nc.vo.bd.errorlog.ErrLogReturnValue;
+import nc.vo.bd.errorlog.ErrorMsgVO;
+import nc.vo.bd.material.IMaterialEnumConst;
+import nc.vo.bd.material.MaterialConvertVO;
+import nc.vo.bd.material.MaterialTaxTypeVO;
+import nc.vo.bd.material.MaterialVO;
+import nc.vo.bd.material.plan.MaterialPlanVO;
+import nc.vo.bd.material.stock.MaterialStockVO;
+import nc.vo.bd.pub.IPubEnumConst;
+import nc.vo.pfxx.auxiliary.AggxsysregisterVO;
+import nc.vo.pfxx.util.PfxxPluginUtils;
+import nc.vo.pub.BusinessException;
+import nc.vo.pub.VOStatus;
+import nc.vo.pub.lang.UFBoolean;
+
+import nccloud.commons.lang.StringUtils;
+
+/**
+ * 物料基本信息外部交互平台导入
+ *
+ * @author jiangjuna
+ * @since NC6.0
+ */
+public class MaterialPfxxPlugin extends nc.bs.pfxx.plugin.AbstractPfxxPlugin {
+
+ private BaseDAO baseDAO = null;
+
+ private IMaterialBaseInfoService service = null;
+
+ @Override
+ protected Object processBill(Object vo, ISwapContext swapContext, AggxsysregisterVO aggxsysvo) throws BusinessException {
+ String pk = null;
+ try {
+ MaterialVO materialVO = (MaterialVO) vo;
+ // by_zhangzhyz_20220113//项目专项需求 根据物料编码和组织进行查询,不通过ID对照表
+ String whereSql = MaterialVO.CODE + " = '" + materialVO.getCode() + "'";
+ @SuppressWarnings("unchecked")
+ Collection cols = new BaseDAO().retrieveByClause(MaterialVO.class, whereSql);
+ if (cols != null && !cols.isEmpty()) {
+ MaterialVO[] vos = cols.toArray(new MaterialVO[0]);
+ pk = vos[0].getPk_material();
+ }
+ if (StringUtils.isBlank(pk)) {
+ materialVO = this.insertMaterialVO(materialVO);
+ PfxxPluginUtils.addDocIDVsPKContrast(swapContext.getBilltype(), swapContext.getDocID(), materialVO.getPrimaryKey());
+ return materialVO.getPrimaryKey();
+ } else {
+ this.getService().updateMaterial(this.getUpdateVO(materialVO, pk));
+ String sender = swapContext.getSender();
+ if("pdm".equalsIgnoreCase(sender)) {
+ // 物料更新后更新计划信息
+ updatePlanVOsAfterMaterialUpdate(materialVO);
+ // 物料更新后更新库存信息
+ updateStockVOsAfterMaterialUpdate(materialVO);
+ }
+ }
+ } catch (Exception ex) {
+ Logger.error(ex.getMessage(), ex.getCause());
+ throw new BusinessException(ex.getMessage(), ex.getCause());
+ }
+ return pk;
+ }
+
+ /**
+ * 物料更新后更新计划信息
+ *
+ * @param materialVO
+ * @throws BusinessException
+ */
+ private void updatePlanVOsAfterMaterialUpdate(MaterialVO materialVO) throws BusinessException {
+ if (materialVO.getDef19() == null)
+ return;
+ String pk_org = materialVO.getPk_org();
+ String pk_material = materialVO.getPk_material();
+ IMaterialPlanQueryService queryService = NCLocator.getInstance().lookup(IMaterialPlanQueryService.class);
+ // 查询物料计划信息
+ MaterialPlanVO[] pvos = queryService.queryMaterialPlanVOs(new String[] { pk_org }, pk_material);
+ IMaterialPlanService planService = NCLocator.getInstance().lookup(IMaterialPlanService.class);
+ for (MaterialPlanVO planVO : pvos) {
+ // PLM计划虚项映射到计划信息
+ if (materialVO.getDef19() != null && UFBoolean.TRUE.toString().equals(materialVO.getDef19()))
+ planVO.setIsvirtual(UFBoolean.TRUE);
+ else
+ planVO.setIsvirtual(UFBoolean.FALSE);
+ planVO.setStatus(VOStatus.UPDATED);
+ planService.updateMaterialPlanVO(planVO);
+ }
+ }
+
+ /**
+ * 物料更新后更新库存信息
+ *
+ * @param materialVO
+ * @throws BusinessException
+ */
+ private void updateStockVOsAfterMaterialUpdate(MaterialVO materialVO) throws BusinessException {
+ if (materialVO.getDef18() == null)
+ return;
+ IMaterialStockQueryService queryService = NCLocator.getInstance().lookup(IMaterialStockQueryService.class);
+ MaterialStockVO[] svos = queryService.queryMaterialStockVOs(new String[] { materialVO.getPk_org() }, materialVO.getPk_material());
+ IMaterialStockService stockService = NCLocator.getInstance().lookup(IMaterialStockService.class);
+ for (MaterialStockVO stockVO : svos) {
+ if (stockVO.getMartype() != null) {
+ // PLM物料类型映射到库存信息
+ switch (materialVO.getDef18()) {
+ case IMaterialEnumConst.MATERTYPE_DR:
+ stockVO.setMartype(IMaterialEnumConst.MATERTYPE_DR);
+ break;
+ case IMaterialEnumConst.MATERTYPE_FR:
+ stockVO.setMartype(IMaterialEnumConst.MATERTYPE_FR);
+ break;
+ case IMaterialEnumConst.MATERTYPE_MR:
+ stockVO.setMartype(IMaterialEnumConst.MATERTYPE_MR);
+ break;
+ case IMaterialEnumConst.MATERTYPE_PR:
+ stockVO.setMartype(IMaterialEnumConst.MATERTYPE_PR);
+ break;
+ case IMaterialEnumConst.MATERTYPE_OT:
+ stockVO.setMartype(IMaterialEnumConst.MATERTYPE_OT);
+ break;
+ case IMaterialEnumConst.MATERTYPE_ET:
+ stockVO.setMartype(IMaterialEnumConst.MATERTYPE_ET);
+ break;
+ default:
+ // 物料类型默认为“MR”
+ stockVO.setMartype(IMaterialEnumConst.MATERTYPE_MR);
+ break;
+ }
+ }
+ }
+ stockService.updateMaterialStockVOs(svos);
+ }
+
+ private BaseDAO getBaseDAO() {
+ if (this.baseDAO == null) {
+ this.baseDAO = new BaseDAO();
+ }
+ return this.baseDAO;
+ }
+
+ private MaterialVO getInsertVO(MaterialVO materialVO) throws DAOException {
+ materialVO.setEnablestate(IPubEnumConst.ENABLESTATE_ENABLE);
+ materialVO.setStatus(VOStatus.NEW);
+ materialVO.setMaterialconvert(this.getMaterialConvertVOs(materialVO));
+ materialVO.setMaterialtaxtype(this.getMaterialTaxTypeVOs(materialVO));
+ return materialVO;
+ }
+
+ @SuppressWarnings("unchecked")
+ private MaterialConvertVO[] getMaterialConvertVOs(MaterialVO MaterialVO) throws DAOException {
+ List newConverts = new ArrayList();
+ if (StringUtils.isNotBlank(MaterialVO.getPrimaryKey())) {
+ Collection oldAgentStores = this.getBaseDAO().retrieveByClause(MaterialConvertVO.class,
+ MaterialConvertVO.PK_MATERIAL + " = '" + MaterialVO.getPrimaryKey() + "'", new String[] { MaterialConvertVO.PK_MATERIALCONVERT });
+ for (MaterialConvertVO agentstore : oldAgentStores) {
+ agentstore.setStatus(VOStatus.DELETED);
+ newConverts.add(agentstore);
+ }
+ }
+ if (MaterialVO.getMaterialconvert() != null && MaterialVO.getMaterialconvert().length > 0) {
+ for (MaterialConvertVO agentstore : MaterialVO.getMaterialconvert()) {
+ agentstore.setStatus(VOStatus.NEW);
+ newConverts.add(agentstore);
+ }
+ }
+ return newConverts.toArray(new MaterialConvertVO[0]);
+ }
+
+ private MaterialTaxTypeVO[] getMaterialTaxTypeVOs(MaterialVO MaterialVO) throws DAOException {
+ List newConverts = new ArrayList();
+ if (StringUtils.isNotBlank(MaterialVO.getPrimaryKey())) {
+ Collection oldAgentStores = this.getBaseDAO().retrieveByClause(MaterialTaxTypeVO.class,
+ MaterialTaxTypeVO.PK_MATERIAL + " = '" + MaterialVO.getPrimaryKey() + "'", new String[] { MaterialTaxTypeVO.PK_MATERIALTAXTYPE });
+ for (MaterialTaxTypeVO agentstore : oldAgentStores) {
+ agentstore.setStatus(VOStatus.DELETED);
+ newConverts.add(agentstore);
+ }
+ }
+ if (MaterialVO.getMaterialtaxtype() != null && MaterialVO.getMaterialtaxtype().length > 0) {
+ for (MaterialTaxTypeVO agentstore : MaterialVO.getMaterialtaxtype()) {
+ agentstore.setStatus(VOStatus.NEW);
+ newConverts.add(agentstore);
+ }
+ }
+ return newConverts.toArray(new MaterialTaxTypeVO[0]);
+ }
+
+ private IMaterialBaseInfoService getService() {
+ if (this.service == null) {
+ this.service = NCLocator.getInstance().lookup(IMaterialBaseInfoService.class);
+ }
+ return this.service;
+ }
+
+ private MaterialVO getUpdateVO(MaterialVO materialVO, String pk) throws BusinessException {
+ MaterialVO oldVO = (MaterialVO) this.getBaseDAO().retrieveByPK(MaterialVO.class, pk,
+ new String[] { MaterialVO.CREATOR, MaterialVO.CREATIONTIME, MaterialVO.PK_SOURCE, MaterialVO.VERSION, MaterialVO.LATEST, MaterialVO.ENABLESTATE });
+ if (oldVO == null) {
+ throw new BusinessException(nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("bdpub", "0bdpub0057")
+ /* @res "该数据已被删除" */);
+ }
+ materialVO.setPrimaryKey(pk);
+ materialVO.setCreator(oldVO.getCreator());
+ materialVO.setCreationtime(oldVO.getCreationtime());
+ materialVO.setPk_source(oldVO.getPk_source());
+ materialVO.setVersion(oldVO.getVersion());
+ materialVO.setLatest(oldVO.getLatest());
+ materialVO.setEnablestate(oldVO.getEnablestate());
+ materialVO.setStatus(VOStatus.UPDATED);
+ materialVO.setTs(oldVO.getTs());
+ materialVO.setMaterialconvert(this.getMaterialConvertVOs(materialVO));
+ materialVO.setMaterialtaxtype(this.getMaterialTaxTypeVOs(materialVO));
+ return materialVO;
+ }
+
+ private MaterialVO insertMaterialVO(MaterialVO materialVO) throws BusinessException, DAOException {
+ if (StringUtils.isBlank(materialVO.getPk_source())) {
+ materialVO = this.getService().insertMaterial(this.getInsertVO(materialVO));
+ } else {
+ ErrLogReturnValue value = this.getService().createMaterialVersion(materialVO, materialVO.getPk_source());
+ if (value.getReturnValue() == null || !value.getReturnValue().getClass().isArray()) {
+ return materialVO;
+ }
+ materialVO = (MaterialVO) ((Object[]) value.getReturnValue())[0];
+ this.LogErrorMessage(value);
+ }
+ return materialVO;
+ }
+
+ private void LogErrorMessage(ErrLogReturnValue value) {
+ ErrorMsgVO[] vos = value.getErrLogResult().getErrorMsgs();
+ if (vos != null && vos.length > 0) {
+ String message = nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("10140mag", "010140mag0200", null,
+ new String[] { Integer.toString(value.getTotalNum()), Integer.toString(value.getErrLogResult().getErrorMessagegNum()) })
+ /* @res "外部交换平台导入物料新版本数据时,分配操作部分成功,共处理了{0}条记录,其中有{1}条处理失败:" */+ "\n";
+ for (int i = 0; i < vos.length; i++) {
+ message += vos[i].getErrormsg() + "\n";
+ }
+ Logger.debug(message);
+ }
+ }
+
+}