|
|
@@ -129,21 +129,25 @@ public class OrderTask extends AbstractTask {
|
|
|
*/
|
|
|
private void generateOrder(List<Order> orderList) {
|
|
|
for (Order order : orderList) {
|
|
|
- //取已发货状态的订单生成
|
|
|
- if (order.getStatus() == 141040 || order.getStatus() == 141050 || order.getStatus() == 141091) {
|
|
|
- String purchaseCode = jdbcTemplate.generateCode("Purchase", 2);
|
|
|
- String saleCode = jdbcTemplate.generateCode("Sale", 2);
|
|
|
- //1.生成采购订单
|
|
|
- boolean success = generatePurchase(order, purchaseCode, saleCode);
|
|
|
- if (success) {
|
|
|
- //2.生成销售订单
|
|
|
- generateSale(order, saleCode);
|
|
|
- //3.生成采购验收单
|
|
|
- Map<String, String> purchaseInMap = purcahseIn(purchaseCode);
|
|
|
- //4.生成销售出货单
|
|
|
- String saleOutCode = saleOut(saleCode, purchaseInMap.get("batchCode"));
|
|
|
- //5.过账
|
|
|
- postPurchaseAndSale(purchaseInMap.get("inoutno"), saleOutCode);
|
|
|
+ //此单是否已下载过
|
|
|
+ int count = jdbcTemplate.getInt("SELECT COUNT(*) FROM SALE WHERE SA_POCODE = ?", order.getCode());
|
|
|
+ if (count == 0) {
|
|
|
+ //取已发货状态的订单生成
|
|
|
+ if (order.getStatus() == 141040 || order.getStatus() == 141050 || order.getStatus() == 141091) {
|
|
|
+ String purchaseCode = jdbcTemplate.generateCode("Purchase", 2);
|
|
|
+ String saleCode = jdbcTemplate.generateCode("Sale", 2);
|
|
|
+ //1.生成采购订单
|
|
|
+ boolean success = generatePurchase(order, purchaseCode, saleCode);
|
|
|
+ if (success) {
|
|
|
+ //2.生成销售订单
|
|
|
+ generateSale(order, saleCode);
|
|
|
+ //3.生成采购验收单
|
|
|
+ Map<String, String> purchaseInMap = purcahseIn(purchaseCode);
|
|
|
+ //4.生成销售出货单
|
|
|
+ String saleOutCode = saleOut(saleCode, purchaseInMap.get("batchCode"));
|
|
|
+ //5.过账
|
|
|
+ postPurchaseAndSale(purchaseInMap.get("inoutno"), saleOutCode);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -172,7 +176,7 @@ public class OrderTask extends AbstractTask {
|
|
|
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,pi_sellercode,pi_sellername,pi_sendstatus) SELECT " + saleOutId + ",'"+ saleOutCode +"','出货单',SYSDATE,'RMB','1',sa_custid,sa_custcode,sa_custname,"
|
|
|
- + "sa_apcustcode,sa_apcustname,sa_paymentscode,sa_payments,'ADMIN','管理员',sa_departmentcode,sa_departmentname,sa_toplace,'已审核','AUDITED','未过账','UNPOST',sa_need1,sa_need2,'普通','ADMIN',SYSDATE,'ADMIN',SYSDATE,'未打印','UNPRINT','ADMIN','管理员','已上传' "
|
|
|
+ + "sa_apcustcode,sa_apcustname,sa_paymentscode,sa_payments,'ADMIN','管理员',sa_departmentcode,sa_departmentname,sa_toplace,'已审核','AUDITED','未过账','UNPOST',sa_need3,sa_need2,'普通','ADMIN',SYSDATE,'ADMIN',SYSDATE,'未打印','UNPRINT','ADMIN','管理员','已上传' "
|
|
|
+ " 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,pd_pocode) "
|
|
|
@@ -223,7 +227,7 @@ public class OrderTask extends AbstractTask {
|
|
|
//销售订单主表
|
|
|
String insertSaleSql = "INSERT INTO SALE(SA_ID,SA_CODE,SA_DATE,SA_KIND,SA_CURRENCY,SA_RATE,SA_CUSTID,SA_CUSTCODE,SA_CUSTNAME,SA_APCUSTCODE,"
|
|
|
+ "SA_APCUSTNAME,SA_PAYMENTSCODE,SA_PAYMENTS,SA_SELLERCODE,SA_SELLER,SA_DEPARTMENTCODE,SA_DEPARTMENTNAME,"
|
|
|
- + "SA_TOPLACE,SA_POCODE,SA_STATUS,SA_STATUSCODE,SA_RECORDER,SA_RECORDDATE,SA_AUDITMAN,SA_AUDITDATE,SA_NEED1,SA_NEED2) "
|
|
|
+ + "SA_TOPLACE,SA_POCODE,SA_STATUS,SA_STATUSCODE,SA_RECORDER,SA_RECORDDATE,SA_AUDITMAN,SA_AUDITDATE,sa_need3,SA_NEED2) "
|
|
|
+ "VALUES(?,?,SYSDATE,'代运营订单','RMB','1',?,?,?,?,?,'PC31','CBD(款到发货)','ADMIN','管理员','B15','优软云运营组',?,?,'已审核','AUDITED','ADMIN',SYSDATE,'ADMIN',SYSDATE,?,?)";
|
|
|
//销售订单明细表
|
|
|
String insertDetailSql = "INSERT INTO SALEDETAIL(SD_ID, SD_SAID, SD_CODE, SD_DETNO, SD_PRODID, SD_PRODCODE, SD_QTY, SD_PRICE, SD_TAXRATE, SD_DELIVERY) "
|