|
@@ -47,10 +47,8 @@ public class PurContractHaveNotJGSDTask extends AbstractTask {
|
|
|
Object billno = saleData.get("billno");
|
|
|
xshtbillnos.add(billno);
|
|
|
}
|
|
|
- logger.info("PurContractHaveNotJGSDTask-xshtbillnos:" + xshtbillnos);
|
|
|
if (!xshtbillnos.isEmpty()) {
|
|
|
- Map<String,String> xsht2cghtbillno = new HashMap<>();
|
|
|
- Map<String,Set<String>> xsht2cght = new HashMap<>();
|
|
|
+ Map<String,Set<String>> xsht2cghtbillno = new HashMap<>();
|
|
|
QFilter qcght = new QFilter("billstatus", QCP.equals, "C");
|
|
|
qcght.and("nckd_refbillfield.billno", QCP.in, xshtbillnos);
|
|
|
List<String> cghtbillnos = new ArrayList<>();
|
|
@@ -58,11 +56,16 @@ public class PurContractHaveNotJGSDTask extends AbstractTask {
|
|
|
for(DynamicObject cght : cghts) {
|
|
|
String billno = cght.getString("billno");
|
|
|
String xshtbillno = cght.getString("nckd_refbillfield.billno");
|
|
|
- xsht2cghtbillno.put(xshtbillno, billno);
|
|
|
+ Set<String> cghtkeys = xsht2cghtbillno.get(xshtbillno);
|
|
|
+ if(cghtkeys == null) {
|
|
|
+ cghtkeys = new HashSet<>();
|
|
|
+ cghtkeys.add(billno);
|
|
|
+ xsht2cghtbillno.put(xshtbillno, cghtkeys);
|
|
|
+ }else {
|
|
|
+ cghtkeys.add(billno);
|
|
|
+ }
|
|
|
cghtbillnos.add(billno);
|
|
|
}
|
|
|
- logger.info("PurContractHaveNotJGSDTask-cghtbillnos:" + cghtbillnos);
|
|
|
- logger.info("PurContractHaveNotJGSDTask-xsht2cghtbillno:" + xsht2cghtbillno);
|
|
|
if(!cghtbillnos.isEmpty()) {
|
|
|
QFilter qcghtbg = new QFilter("billstatus", QCP.equals, "C");
|
|
|
qcghtbg.and("billno", QCP.in, cghtbillnos);
|
|
@@ -72,36 +75,23 @@ public class PurContractHaveNotJGSDTask extends AbstractTask {
|
|
|
for (DynamicObject cghtbg : cghtbgs) {
|
|
|
String billno = cghtbg.getString("billno");//采购合同编号
|
|
|
cghtbillnos.remove(billno);
|
|
|
+ for(String xsht : xsht2cghtbillno.keySet()) {
|
|
|
+ Set<String> cght = xsht2cghtbillno.get(xsht);
|
|
|
+ cght.remove(billno);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
- logger.info("PurContractHaveNotJGSDTask-cghtbillnos2:" + cghtbillnos);
|
|
|
}
|
|
|
- logger.info("PurContractHaveNotJGSDTask-cghtbillnos3:" + cghtbillnos);
|
|
|
StringBuffer bf = new StringBuffer();
|
|
|
if(!cghtbillnos.isEmpty()) {
|
|
|
-
|
|
|
- for(String cghtbillno : cghtbillnos) {
|
|
|
- String xshtbillno = xsht2cghtbillno.get(cghtbillno);
|
|
|
- Set<String> cgs = xsht2cght.get(xshtbillno);
|
|
|
- if(cgs == null) {
|
|
|
- cgs = new HashSet<>();
|
|
|
- cgs.add(cghtbillno);
|
|
|
- xsht2cght.put(xshtbillno, cgs);
|
|
|
- }else {
|
|
|
- cgs.add(cghtbillno);
|
|
|
- }
|
|
|
- }
|
|
|
- logger.info("PurContractHaveNotJGSDTask-xsht2cght:" + xsht2cght);
|
|
|
-
|
|
|
- for(String xsht : xsht2cght.keySet()) {
|
|
|
- Set<String> cght = xsht2cght.get(xsht);
|
|
|
+ for(String xsht : xsht2cghtbillno.keySet()) {
|
|
|
+ Set<String> cght = xsht2cghtbillno.get(xsht);
|
|
|
String tm = "以下采购合同(来源于销售合同:" + xsht + ")未进行价格审定";
|
|
|
bf.append(tm);
|
|
|
bf.append(System.lineSeparator());
|
|
|
bf.append(cght.toString());
|
|
|
bf.append(System.lineSeparator());
|
|
|
}
|
|
|
- logger.info("PurContractHaveNotJGSDTask-bf:" + bf);
|
|
|
if(StringUtils.isNotBlank(bf.toString())) {
|
|
|
this.buildBGYJD(bf.toString());
|
|
|
}
|
|
@@ -110,12 +100,14 @@ public class PurContractHaveNotJGSDTask extends AbstractTask {
|
|
|
}
|
|
|
|
|
|
private void buildBGYJD(String error) {
|
|
|
- logger.info("PurContractHaveNotJGSDTask-buildBGYJD");
|
|
|
String entityNumSupplier = "nckd_cght_bg_yjd";
|
|
|
DynamicObject yjd = BusinessDataServiceHelper.newDynamicObject(entityNumSupplier);
|
|
|
+ Long orgid = RequestContext.getOrCreate().getOrgId();
|
|
|
+ DynamicObject org = BusinessDataServiceHelper.loadSingle(orgid, "bos_org");
|
|
|
//结算组织
|
|
|
yjd.set("nckd_error", error);
|
|
|
-
|
|
|
+ yjd.set("billstatus", "A");
|
|
|
+ yjd.set("org",org);
|
|
|
List<DynamicObject> yjds = new ArrayList<>();
|
|
|
yjds.add(yjd);
|
|
|
//保存单据
|
|
@@ -125,15 +117,9 @@ public class PurContractHaveNotJGSDTask extends AbstractTask {
|
|
|
List<Object> yjdids = sRet.getSuccessPkIds();
|
|
|
DynamicObject[] yjdobs = BusinessDataServiceHelper.load(yjdids.toArray(), (DynamicObjectType)dt);
|
|
|
sRet = OperationServiceHelper.executeOperate("submit","nckd_cght_bg_yjd",yjdobs,OperateOption.create());
|
|
|
- if(sRet.isSuccess()) {
|
|
|
- yjdids = sRet.getSuccessPkIds();
|
|
|
- yjdobs = BusinessDataServiceHelper.load(yjdids.toArray(), (DynamicObjectType)dt);
|
|
|
- sRet = OperationServiceHelper.executeOperate("audit","nckd_cght_bg_yjd",yjdobs,OperateOption.create());
|
|
|
- }
|
|
|
}
|
|
|
- logger.info("PurContractHaveNotJGSDTask-isSuccess:" + sRet.isSuccess());
|
|
|
- logger.info("PurContractHaveNotJGSDTask-getMessage:" + sRet.getMessage());
|
|
|
-
|
|
|
- logger.info("PurContractHaveNotJGSDTask-getAllErrorInfo:" + SerializationUtils.toJsonString(sRet.getAllErrorInfo()));
|
|
|
+ if(!sRet.isSuccess()) {
|
|
|
+ logger.error("PurContractHaveNotJGSDTask-buildBGYJD:" + sRet.getMessage() + System.lineSeparator() + SerializationUtils.toJsonString(sRet.getAllErrorInfo()));
|
|
|
+ }
|
|
|
}
|
|
|
}
|