chenw 6 лет назад
Родитель
Сommit
3f8071a03a
1 измененных файлов с 23 добавлено и 20 удалено
  1. 23 20
      src/main/java/com/uas/erp/schedular/mall/task/OrderTask.java

+ 23 - 20
src/main/java/com/uas/erp/schedular/mall/task/OrderTask.java

@@ -47,7 +47,8 @@ import java.util.Map;
 @TaskMapping(title = "商城订单")
 public class OrderTask extends AbstractTask {
 
-    private static final String BASEPATH_TRADE = "https://malltraderest.usoftchina.com";
+//    private static final String BASEPATH_TRADE = "https://malltraderest.usoftchina.com";
+    private static final String BASEPATH_TRADE = "https://malltraderest.uuzcc.cn";
 
     private static final Logger LOGGER = LoggerFactory.getLogger(OrderTask.class);
 
@@ -61,7 +62,7 @@ public class OrderTask extends AbstractTask {
             JSONObject json = new JSONObject();
             json.put("secretId", master.getMa_uu());
             json.put("signature", "");
-            json.put("DeliverReq", orderDeliverList);
+            json.put("orderDeliver", orderDeliverList);
             String signatureValues = OpenApiSignUtil.sign(JSON.toJSONString(json), master.getMa_accesssecret());
             json.put("signature", signatureValues);
 
@@ -89,7 +90,7 @@ public class OrderTask extends AbstractTask {
         String url = BASEPATH_TRADE + "/openapi/trade/order/page/get?";
         Long updateTime = System.currentTimeMillis() - 24 * 60 * 60 * 1000;
         //获取需要生成数据的供应商
-        List<Map<String, Object>> vendorList = jdbcTemplate.queryForList("SELECT VE_UU,VE_ACCESSSECRET FROM VENDOR WHERE VE_ENABLE");
+        List<Map<String, Object>> vendorList = jdbcTemplate.queryForList("SELECT VE_UU,VE_ACCESSSECRET FROM VENDOR WHERE VE_ENABLEMALL = '1'");
         if (CollectionUtils.isEmpty(vendorList)) {
             LOGGER.error("没有启用的供应商");
             return;
@@ -148,7 +149,7 @@ public class OrderTask extends AbstractTask {
     private void postPurchaseAndSale(String purchaseInCode, String saleOutCode) {
         String message = jdbcTemplate.callForString("{call SP_COMMITPRODINOUT(?,?,?,?)}", "采购验收单", purchaseInCode, "ADMIN");
         if (StringUtils.isEmpty(message)) {
-            jdbcTemplate.callForString("{call SP_COMMITPRODINOUT(?,?,?,?)}", "出货单", saleOutCode, "ADMIN");
+            message = jdbcTemplate.callForString("{call SP_COMMITPRODINOUT(?,?,?,?)}", "出货单", saleOutCode, "ADMIN");
         }
 
     }
@@ -159,16 +160,16 @@ public class OrderTask extends AbstractTask {
      */
     private String saleOut(String saleCode,String batchCode) {
         String saleOutCode = jdbcTemplate.generateCode("ProdInOut!Sale", 2);
-        Integer saleOutId = jdbcTemplate.generate("prodinout_seq.nextval");
+        Integer saleOutId = jdbcTemplate.generate("prodinout_seq");
         //主表
         String mainSql = "INSERT INTO PRODINOUT(pi_id,pi_inoutno,pi_class,pi_date,pi_currency,pi_rate,pi_cardid,pi_cardcode,pi_title,pi_arcode,pi_arname,pi_paymentcode,pi_payment,pi_emcode,pi_emname,"
                         + "pi_departmentcode,pi_departmentname,pi_address,pi_invostatus,pi_invostatuscode,pi_status,pi_statuscode,pi_purposename,pi_expresscode,pi_tocode,pi_recordman,pi_recorddate,"
                         + "pi_auditman,pi_auditdate,pi_printstatus,pi_printstatuscode) SELECT " + saleOutId + ",'"+ saleOutCode +"','出货单',SYSDATE,'RMB','1',sa_custid,sa_custcode,sa_custname,"
-                        + "sa_apcustcode,sa_apcustname,sa_departmentcode,sa_departmentname,sa_toplace,'在录入','ENTERING','未过账','UNPOST',sa_need1,sa_need2,'普通','ADMIN',SYSDATE,'ADMIN',SYSDATE,'未打印','UNPRINT' "
+                        + "sa_apcustcode,sa_apcustname,sa_paymentscode,sa_payments,'ADMIN','管理员',sa_departmentcode,sa_departmentname,sa_toplace,'在录入','ENTERING','未过账','UNPOST',sa_need1,sa_need2,'普通','ADMIN',SYSDATE,'ADMIN',SYSDATE,'未打印','UNPRINT' "
                         + " FROM SALE WHERE SA_CODE = ?";
         //明细表
         String detailSql = "INSERT INTO PRODIODETAIL(pd_id,pd_piid,pd_pdno,pd_inoutno,pd_piclass,pd_auditstatus,pd_outqty,pd_ordercode,pd_orderdetno,pd_prodcode,pd_prodid,pd_whcode,pd_whname,pd_sendprice,pd_taxrate,pd_batchCode) "
-                        + " SELECT PRODIODETAIL_SEQ.NEXTVAL," + saleOutId + ",ROWNUM,'" + saleOutCode + "','出货单','ENTERING',SD_QTY,SA_CODE,SD_DETNO,SD_PRODCODE,SD_PRODID,'SZ001','深圳仓',SD_PRICE,'13','"+ batchCode +"' "
+                        + " SELECT PRODIODETAIL_SEQ.NEXTVAL," + saleOutId + ",ROWNUM,'" + saleOutCode + "','出货单','ENTERING',SD_QTY,SA_CODE,SD_DETNO,SD_PRODCODE,SD_PRODID,'SZ01','深圳仓',SD_PRICE,'13','"+ batchCode +"' "
                         + " FROM SALE LEFT JOIN SALEDETAIL ON SA_ID = SD_SAID WHERE SA_CODE = ?";
 
         jdbcTemplate.execute(mainSql, saleCode);
@@ -242,10 +243,10 @@ public class OrderTask extends AbstractTask {
                 }else {
                     int id = jdbcTemplate.getInt("SELECT CUSTOMER_SEQ.NEXTVAL FROM DUAL");
                     String customerCode = jdbcTemplate.generateCode("Customer!Base", 2);
-                    String insertCustomerSql = "insert into customer(cu_id,cu_code,cu_name,cu_shortname,cu_businesscode,cu_uu,cu_paymentscode,cu_payments,cu_sellercode,cu_sellername,cu_servicecode,"
-                            + "cu_servicename,cu_agenttype,cu_cop,cu_enablecredit,cu_shipment,cu_email,cu_tel,cu_contact,cu_recordman,cu_recorddate,cu_auditman,cu_auditdate)"
-                            + "values(" + id + ",'" + customerCode + "','" + orderInvoice.getName() + "','" + orderInvoice.getName() + "','" + orderInvoice.getIdentityNum() + "',null,'SK004','款到发货','ADMIN','管理员','ADMIN','管理员',"
-                            + "'普通客户','深圳怡海能达','否','快递',null,null,null,'ADMIN',sysdate,'ADMIN',sysdate)";
+                    String insertCustomerSql = "insert into customer(cu_id,cu_code,cu_name,cu_shortname,cu_businesscode,cu_uu,cu_arcode,cu_arname,cu_paymentscode,cu_payments,cu_sellercode,cu_sellername,cu_servicecode,"
+                            + "cu_servicename,cu_agenttype,cu_cop,cu_enablecredit,cu_shipment,cu_email,cu_tel,cu_contact,cu_recordman,cu_recorddate,cu_auditman,cu_auditdate,cu_status,cu_statuscode)"
+                            + "values(" + id + ",'" + customerCode + "','" + orderInvoice.getName() + "','" + orderInvoice.getName() + "','" + orderInvoice.getIdentityNum() + "',null,'"+customerCode+"','"+orderInvoice.getName()+"','SK004','款到发货','ADMIN','管理员','ADMIN','管理员',"
+                            + "'普通客户','深圳怡海能达','否','快递',null,null,null,'ADMIN',sysdate,'ADMIN',sysdate,'已审核','AUDITED')";
                     jdbcTemplate.execute(insertCustomerSql);
                     customer = jdbcTemplate.queryForBean("SELECT * FROM CUSTOMER WHERE CU_ID = ?", Customer.class, id);
                     return customer;
@@ -267,10 +268,10 @@ public class OrderTask extends AbstractTask {
                     if (!ObjectUtils.isEmpty(orderInvoice)) {
                         identityNum = orderInvoice.getIdentityNum();
                     }
-                    String insertCustomerSql = "insert into customer(cu_id,cu_code,cu_name,cu_shortname,cu_businesscode,cu_uu,cu_paymentscode,cu_payments,cu_sellercode,cu_sellername,cu_servicecode,"
-                            + "cu_servicename,cu_agenttype,cu_cop,cu_enablecredit,cu_shipment,cu_email,cu_tel,cu_contact,cu_recordman,cu_recorddate,cu_auditman,cu_auditdate)"
-                            + "values(" + id + ",'" + customerCode + "','" + order.getBuyerEnName() + "','" + order.getBuyerEnName() + "','" + identityNum + "','" + order.getEnuu() + "','SK004','款到发货','ADMIN','管理员','ADMIN','管理员',"
-                            + "'普通客户','深圳怡海能达','否','快递','" + order.getBuyerEmail() + "','" + order.getBuyerMobile() + "','" + order.getBuyerName() + "','ADMIN',sysdate,'ADMIN',sysdate)";
+                    String insertCustomerSql = "insert into customer(cu_id,cu_code,cu_name,cu_shortname,cu_businesscode,cu_uu,cu_arcode,cu_arname,cu_paymentscode,cu_payments,cu_sellercode,cu_sellername,cu_servicecode,"
+                            + "cu_servicename,cu_agenttype,cu_cop,cu_enablecredit,cu_shipment,cu_email,cu_tel,cu_contact,cu_recordman,cu_recorddate,cu_auditman,cu_auditdate,cu_status,cu_statuscode)"
+                            + "values(" + id + ",'" + customerCode + "','" + order.getBuyerEnName() + "','" + order.getBuyerEnName() + "','" + identityNum + "','" + order.getEnuu() + "','"+customerCode+"','"+order.getBuyerEnName()+"','SK004','款到发货','ADMIN','管理员','ADMIN','管理员',"
+                            + "'普通客户','深圳怡海能达','否','快递','" + order.getBuyerEmail() + "','" + order.getBuyerMobile() + "','" + order.getBuyerName() + "','ADMIN',sysdate,'ADMIN',sysdate,'已审核','AUDITED')";
                     jdbcTemplate.execute(insertCustomerSql);
                     customer = jdbcTemplate.queryForBean("SELECT * FROM CUSTOMER WHERE CU_ID = ?", Customer.class, id);
                 }
@@ -285,7 +286,7 @@ public class OrderTask extends AbstractTask {
      */
     private boolean generatePurchase(Order order,String purchaseCode, String saleCode) {
         int purchaseId = jdbcTemplate.getInt("select purchase_seq.nextval from dual");
-        String insertMainSql = "insert into purchase(pu_id,pu_code,pu_date,pu_kind,pu_currency,pu_rate,pu_refcode,pu_vendcode,pu_vendname,pu_receivecode,pu_receivename,ve_uu,"
+        String insertMainSql = "insert into purchase(pu_id,pu_code,pu_date,pu_kind,pu_currency,pu_rate,pu_refcode,pu_vendcode,pu_vendname,pu_receivecode,pu_receivename,pu_vendoruu,"
                         + "pu_paymentscode,pu_payments,pu_buyercode,pu_buyername,pu_departmentcode,pu_departmentname,pu_shipaddresscode,pu_pocode,pu_status,pu_statuscode,"
                         + "pu_recordman,pu_indate,pu_auditman,pu_auditdate,pu_getprice,pu_isadvance) values(?,?,sysdate,'代运营订单','RMB','1',?,?,?,?,?,?,?,?,'ADMIN','管理员','B15','优软云运营组',?,?,'已审核','AUDITED','ADMIN',sysdate,'ADMIN',sysdate,'0','unadvance')";
         //供应商资料生成逻辑
@@ -308,12 +309,12 @@ public class OrderTask extends AbstractTask {
                 return false;
             }
             String insertDetailSql = "insert into PurchaseDetail(pd_id,pd_puid,pd_detno,pd_code,pd_prodcode,pd_prodid,pd_qty,pd_price,pd_rate,pd_delivery) "
-                    + " value(PurchaseDetail_seq.nextval,"+ purchaseId +","+ (i+1) +",'"+ purchaseCode +"','"+ prodCode +"',"+prodId+",'"+ product.getAmount() +"','"+ product.getUnitPrice() +"','13',sysdate+"+product.getMaxDelivery()+")";
+                    + " values(PurchaseDetail_seq.nextval,"+ purchaseId +","+ (i+1) +",'"+ purchaseCode +"','"+ prodCode +"',"+prodId+",'"+ product.getAmount() +"','"+ product.getUnitPrice() +"','13',sysdate+"+product.getMaxDelivery()+")";
             insertDetailSqlList.add(insertDetailSql);
         }
 
         jdbcTemplate.execute(insertMainSql, purchaseId, purchaseCode, saleCode, vendor.getVe_code(), vendor.getVe_name(), vendor.getVe_apvendcode(), vendor.getVe_apvendname(), vendor.getVe_uu(),
-                vendor.getVe_paymentcode(), vendor.getVe_payment(), order.getOrderDeliveryAddr(), order.getCode());
+                vendor.getVe_paymentcode(), vendor.getVe_payment(), order.getOrderDeliveryAddr().getDeliveryAddress(), order.getCode());
         jdbcTemplate.batchExecute(insertDetailSqlList);
         return true;
     }
@@ -326,7 +327,8 @@ public class OrderTask extends AbstractTask {
      * @return
      */
     private Map<String, Object> generateProduct(OrderProduct product, String orderCode, Vendor vendor){
-        Map<String, Object> productMap = jdbcTemplate.queryForMap("SELECT PV_PRODCODE AS prodCode,PV_PRODID AS prodId FROM PRODUCTVENDOR WHERE PV_VENDPRODCODE = ? AND PV_VENDCODE = ?", product.getMaterialCode(), vendor.getVe_code());
+        Map<String, Object> productMap = new HashMap<>(2);
+        productMap = jdbcTemplate.queryForMap("SELECT PV_PRODCODE AS \"prodCode\",PV_PRODID AS \"prodId\" FROM PRODUCTVENDOR WHERE PV_VENDPRODCODE = ? AND PV_VENDCODE = ?", product.getMaterialCode(), vendor.getVe_code());
         if (!CollectionUtils.isEmpty(productMap)) {
             return productMap;
         }else {
@@ -339,7 +341,7 @@ public class OrderTask extends AbstractTask {
                 return null;
             }else if (count == 1) {
                 //返回物料信息
-                productMap = jdbcTemplate.queryForMap("SELECT PR_CODE AS prodCode,PR_ID as prodId FROM PRODUCT WHERE PR_ORISPECCODE = ? AND PR_BRAND = ?", product.getModel(), product.getBrand());
+                productMap = jdbcTemplate.queryForMap("SELECT PR_CODE AS \"prodCode\",PR_ID as \"prodId\" FROM PRODUCT WHERE PR_ORISPECCODE = ? AND PR_BRAND = ?", product.getModel(), product.getBrand());
                 //生成供应商物料对照关系
                 String insertProductVendorSql = "insert into productVendor(pv_id,pv_prodid,pv_detno,pv_vendid,pv_vendcode,pv_vendprodcode,pv_vendprodspec,pv_vendprodunit,pv_vendname,pv_prodcode,pv_zxbzs) "
                         + "values(productVendor_seq.nextval, ?, 1, ?, ?, ?, ?, ?, ?, ?, ?)";
@@ -354,6 +356,7 @@ public class OrderTask extends AbstractTask {
                 //生成供应商物料对照关系
                 jdbcTemplate.execute("insert into productVendor(pv_id,pv_prodid,pv_detno,pv_vendid,pv_vendcode,pv_vendprodcode,pv_vendprodspec,pv_vendprodunit,pv_vendname,pv_prodcode,pv_zxbzs) "
                         + "values(productVendor_seq.nextval, ?, 1, ?, ?, ?, ?, ?, ?, ?, ?)", id, vendor.getVe_id(), vendor.getVe_code(), product.getMaterialCode(), product.getSpec(), product.getUnit(), vendor.getVe_name(), code, product.getMpq());
+                productMap = new HashMap<>(2);
                 productMap.put("prodCode", code);
                 productMap.put("prodId", id);
             }