|
|
@@ -11,6 +11,7 @@ import com.uas.erp.schedular.diymall.domain.OrderProduct;
|
|
|
import com.uas.erp.schedular.diymall.domain.OrdersInfo;
|
|
|
import com.uas.erp.schedular.entity.Master;
|
|
|
import com.uas.erp.schedular.finance.mq.HttpsClientRequestFactory;
|
|
|
+import com.uas.erp.schedular.mall.domain.DeliverError;
|
|
|
import com.uas.erp.schedular.mall.domain.DeliverResp;
|
|
|
import com.uas.erp.schedular.mall.domain.OrderDeliver;
|
|
|
import com.uas.erp.schedular.mall.domain.PagingInfo;
|
|
|
@@ -57,7 +58,7 @@ public class OrderTask extends AbstractTask {
|
|
|
public void uploadPoststatus() throws NoSuchAlgorithmException, InvalidKeyException, UnsupportedEncodingException {
|
|
|
Master master = ContextHolder.getMaster();
|
|
|
//获取需要上传的数据
|
|
|
- List<OrderDeliver> orderDeliverList = jdbcTemplate.queryForBeanList("SELECT distinct SA_POCODE as orderCode,PI_LOGISTICSCODE AS expressCode,PI_TRANSPORT AS expressInc FROM SALE LEFT JOIN PRODIODETAIL ON PD_ORDERCODE = SA_CODE LEFT JOIN PRODINOUT ON PI_ID = PD_PIID WHERE NVL(SA_SENDPOSTSTATUS,' ') = '待上传' AND PI_CLASS = '出货单' AND SA_KIND = '商城订单'", OrderDeliver.class);
|
|
|
+ List<OrderDeliver> orderDeliverList = jdbcTemplate.queryForBeanList("SELECT distinct SA_POCODE as orderCode,TRIM(',' FROM SA_EXPRESSCODE_USER) AS expressCode,TRIM(',' FROM SA_EXPRESSINC_USER) AS expressInc FROM SALE WHERE NVL(SA_SENDPOSTSTATUS,' ') = '待上传' AND SA_KIND = '商城订单'", OrderDeliver.class);
|
|
|
if (!CollectionUtils.isEmpty(orderDeliverList)) {
|
|
|
//发送同步数据
|
|
|
JSONObject json = new JSONObject();
|
|
|
@@ -82,6 +83,16 @@ public class OrderTask extends AbstractTask {
|
|
|
}
|
|
|
String pocodes = sb.substring(0, sb.length() - 1);
|
|
|
jdbcTemplate.execute("UPDATE SALE SET SA_SENDPOSTSTATUS = '已上传' WHERE SA_KIND = '商城订单' AND SA_POCODE IN (" + pocodes +")");
|
|
|
+ }else if (deliverResp.getRespHeader().getCode() == 120) {
|
|
|
+ List<DeliverError> deliverErrorList = deliverResp.getDeliverError();
|
|
|
+ StringBuilder sb = new StringBuilder();
|
|
|
+ for (DeliverError deliverError : deliverErrorList) {
|
|
|
+ jdbcTemplate.execute("INSERT INTO LOGORDER(LO_ID, ORDERCODE , STATUS , SALESTIME , ORDERNUMBER , REMARK) VALUES(LOGORDER_SEQ.NEXTVAL, "
|
|
|
+ + "'"+deliverError.getOrderCode()+"','失败',SYSDATE,NULL,'出货单过账状态同步失败,原因:"+deliverError.getErrorMsg()+"')");
|
|
|
+ sb.append("'" + deliverError.getOrderCode() + "',");
|
|
|
+ }
|
|
|
+ String pocodes = sb.substring(0, sb.length() - 1);
|
|
|
+ jdbcTemplate.execute("UPDATE SALE SET SA_SENDPOSTSTATUS = '已上传' WHERE SA_KIND = '商城订单' AND SA_POCODE NOT IN (" + pocodes +")");
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -367,9 +378,9 @@ public class OrderTask extends AbstractTask {
|
|
|
String code = "YS" + product.getMaterialCode();
|
|
|
int id = jdbcTemplate.getInt("SELECT PRODUCT_SEQ.NEXTVAL FROM DUAL");
|
|
|
//生成物料资料
|
|
|
- String insertProductSql = "INSERT INTO PRODUCT(PR_ID,PR_CODE,PR_DETAIL,PR_SPEC,PR_UNIT,PR_ORISPECCODE,PR_BRAND,pr_remark_sale,pr_manutype,pr_dhzc,PR_SUPPLYTYPE,PR_ZXBZS,PR_ZXDHL,PR_ACCEPTMETHOD,"
|
|
|
- + "PR_RECORDMAN,PR_DOCDATE,PR_AUDITMAN,PR_AUDITDATE,PR_STATUS,PR_STATUSCODE) VALUES(?,?,?,?,?,?,?,?,'PURCHASE','MRP','PUSH',?,?,'不检验','ADMIN',SYSDATE,'ADMIN',SYSDATE,'已审核','AUDITED')";
|
|
|
- jdbcTemplate.execute(insertProductSql, id, code, product.getModel(), product.getSpec(), product.getUnit(), product.getModel(), product.getBrand(),product.getInvoiceModel() , product.getMpq(), product.getMoq());
|
|
|
+ String insertProductSql = "INSERT INTO PRODUCT(PR_ID,PR_CODE,PR_DETAIL,PR_SPEC,PR_UNIT,PR_ORISPECCODE,PR_BRAND,pr_taxcode,pr_manutype,pr_dhzc,PR_SUPPLYTYPE,PR_ZXBZS,PR_ZXDHL,PR_ACCEPTMETHOD,"
|
|
|
+ + "PR_RECORDMAN,PR_DOCDATE,PR_AUDITMAN,PR_AUDITDATE,PR_STATUS,PR_STATUSCODE,PR_REMARK_PURCHASE) VALUES(?,?,?,?,?,?,?,?,'PURCHASE','MRP','PUSH',?,?,'不检验','ADMIN',SYSDATE,'ADMIN',SYSDATE,'已审核','AUDITED',?)";
|
|
|
+ jdbcTemplate.execute(insertProductSql, id, code, product.getModel(), product.getSpec(), product.getUnit(), product.getModel(), product.getBrand(),product.getInvoiceModel() , product.getMpq(), product.getMoq(), product.getInvoiceName());
|
|
|
//生成供应商物料对照关系
|
|
|
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());
|