|
|
@@ -154,9 +154,9 @@ public class OrderTask extends AbstractTask {
|
|
|
//2.生成销售订单
|
|
|
generateSale(order, saleCode);
|
|
|
//3.生成采购验收单
|
|
|
- Map<String, String> purchaseInMap = purcahseIn(purchaseCode);
|
|
|
+ Map<String, String> purchaseInMap = purcahseIn(order, saleCode, purchaseCode);
|
|
|
//4.生成销售出货单
|
|
|
- String saleOutCode = saleOut(saleCode, purchaseInMap.get("batchCode"));
|
|
|
+ String saleOutCode = saleOut(order, saleCode, purchaseInMap.get("batchCode"));
|
|
|
//5.过账
|
|
|
postPurchaseAndSale(purchaseInMap.get("inoutno"), saleOutCode);
|
|
|
}
|
|
|
@@ -181,7 +181,7 @@ public class OrderTask extends AbstractTask {
|
|
|
* 生成销售出货单并过账
|
|
|
* @param saleCode
|
|
|
*/
|
|
|
- private String saleOut(String saleCode,String batchCode) {
|
|
|
+ private String saleOut(Order order, String saleCode,String batchCode) {
|
|
|
String saleOutCode = jdbcTemplate.generateCode("ProdInOut!Sale", 2);
|
|
|
Integer saleOutId = jdbcTemplate.generate("prodinout_seq");
|
|
|
//主表
|
|
|
@@ -197,6 +197,9 @@ public class OrderTask extends AbstractTask {
|
|
|
|
|
|
jdbcTemplate.execute(mainSql, saleCode);
|
|
|
jdbcTemplate.execute(detailSql, saleCode);
|
|
|
+ String logOrderSql = "insert into LOGORDER(LO_ID, ORDERCODE , STATUS , SALESTIME , ORDERNUMBER , REMARK)" +
|
|
|
+ "values(LOGORDER_SEQ.NEXTVAL,'" + order.getCode() + "', '成功', sysdate,'" + saleCode + "', '销售出货单生成成功')";
|
|
|
+ jdbcTemplate.execute(logOrderSql);
|
|
|
return saleOutCode;
|
|
|
}
|
|
|
|
|
|
@@ -204,7 +207,7 @@ public class OrderTask extends AbstractTask {
|
|
|
* 生成采购验收单
|
|
|
* @param purchaseCode
|
|
|
*/
|
|
|
- private Map<String, String> purcahseIn(String purchaseCode) {
|
|
|
+ private Map<String, String> purcahseIn(Order order,String saleCode, String purchaseCode) {
|
|
|
Map<String, String> resultMap = new HashMap<>(2);
|
|
|
String purcCheckinCode = jdbcTemplate.generateCode("ProdInOut!PurcCheckin",2);
|
|
|
Integer purcCheckinId = jdbcTemplate.getInt("SELECT PRODINOUT_SEQ.NEXTVAL FROM DUAL");
|
|
|
@@ -224,6 +227,9 @@ public class OrderTask extends AbstractTask {
|
|
|
jdbcTemplate.execute(detailSql, purchaseCode);
|
|
|
resultMap.put("batchCode", batchCode);
|
|
|
resultMap.put("inoutno", purcCheckinCode);
|
|
|
+ String logOrderSql = "insert into LOGORDER(LO_ID, ORDERCODE , STATUS , SALESTIME , ORDERNUMBER , REMARK)" +
|
|
|
+ "values(LOGORDER_SEQ.NEXTVAL,'" + order.getCode() + "', '成功', sysdate,'" + saleCode + "', '采购验收单生成成功')";
|
|
|
+ jdbcTemplate.execute(logOrderSql);
|
|
|
return resultMap;
|
|
|
}
|
|
|
|
|
|
@@ -236,6 +242,12 @@ public class OrderTask extends AbstractTask {
|
|
|
int saleId = jdbcTemplate.getInt("SELECT SALE_SEQ.NEXTVAL FROM DUAL");
|
|
|
//客户资料
|
|
|
Customer customer = generateCustomer(order);
|
|
|
+ if(ObjectUtils.isEmpty(customer)){
|
|
|
+ String logOrderSql = "insert into LOGORDER(LO_ID, ORDERCODE , STATUS , SALESTIME , ORDERNUMBER , REMARK)" +
|
|
|
+ "values(LOGORDER_SEQ.NEXTVAL,'" + order.getCode() + "', '失败', sysdate,'', '销售订单生成失败,没有客户资料')";
|
|
|
+ jdbcTemplate.execute(logOrderSql);
|
|
|
+ return;
|
|
|
+ }
|
|
|
//销售订单主表
|
|
|
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,"
|
|
|
@@ -248,6 +260,9 @@ public class OrderTask extends AbstractTask {
|
|
|
jdbcTemplate.execute(insertSaleSql, saleId, saleCode, customer.getCu_id(), customer.getCu_code(), customer.getCu_name(), customer.getCu_arcode(), customer.getCu_arname(),
|
|
|
order.getOrderDeliveryAddr().getDeliveryAddress(), order.getCode(), order.getBuyerName(), order.getBuyerMobile());
|
|
|
jdbcTemplate.execute(insertDetailSql);
|
|
|
+ String logOrderSql = "insert into LOGORDER(LO_ID, ORDERCODE , STATUS , SALESTIME , ORDERNUMBER , REMARK)" +
|
|
|
+ "values(LOGORDER_SEQ.NEXTVAL,'" + order.getCode() + "', '成功', sysdate,'" + saleCode + "', '销售订单生成成功')";
|
|
|
+ jdbcTemplate.execute(logOrderSql);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -331,6 +346,9 @@ public class OrderTask extends AbstractTask {
|
|
|
prodCode = String.valueOf(productMap.get("prodCode"));
|
|
|
prodId = Integer.valueOf(String.valueOf(productMap.get("prodId")));
|
|
|
}else {
|
|
|
+ String logOrderSql = "insert into LOGORDER(LO_ID, ORDERCODE , STATUS , SALESTIME , ORDERNUMBER , REMARK)" +
|
|
|
+ "values(LOGORDER_SEQ.NEXTVAL,'" + order.getCode() + "', '失败', sysdate,'', '采购订单生成失败,没有物料资料')";
|
|
|
+ jdbcTemplate.execute(logOrderSql);
|
|
|
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) "
|
|
|
@@ -344,6 +362,9 @@ public class OrderTask extends AbstractTask {
|
|
|
String sendStatus = jdbcTemplate.getString("SELECT PU_SENDSTATUS FROM PURCHASE WHERE PU_ID = ?", purchaseId);
|
|
|
LOGGER.info("生成的采购订单id={},上传状态={}", purchaseId, sendStatus);
|
|
|
jdbcTemplate.execute("UPDATE PURCHASE SET PU_SENDSTATUS = '已上传' WHERE PU_ID = ?", purchaseId);
|
|
|
+ String logOrderSql = "insert into LOGORDER(LO_ID, ORDERCODE , STATUS , SALESTIME , ORDERNUMBER , REMARK)" +
|
|
|
+ "values(LOGORDER_SEQ.NEXTVAL,'" + order.getCode() + "', '成功', sysdate,'" + saleCode + "', '采购订单生成成功')";
|
|
|
+ jdbcTemplate.execute(logOrderSql);
|
|
|
return true;
|
|
|
}
|
|
|
|