|
@@ -1,17 +1,16 @@
|
|
|
package com.uas.erp.schedular.diymall.task;
|
|
package com.uas.erp.schedular.diymall.task;
|
|
|
|
|
|
|
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
import com.sun.deploy.net.URLEncoder;
|
|
import com.sun.deploy.net.URLEncoder;
|
|
|
import com.uas.erp.schedular.b2b.domain.Customer;
|
|
import com.uas.erp.schedular.b2b.domain.Customer;
|
|
|
import com.uas.erp.schedular.diymall.domain.*;
|
|
import com.uas.erp.schedular.diymall.domain.*;
|
|
|
import com.uas.erp.schedular.finance.mq.HttpsClientRequestFactory;
|
|
import com.uas.erp.schedular.finance.mq.HttpsClientRequestFactory;
|
|
|
-import com.uas.erp.schedular.mall.domain.Stock;
|
|
|
|
|
import com.uas.erp.schedular.publicproduct.domain.Prod;
|
|
import com.uas.erp.schedular.publicproduct.domain.Prod;
|
|
|
import com.uas.erp.schedular.task.support.Method;
|
|
import com.uas.erp.schedular.task.support.Method;
|
|
|
import com.uas.erp.schedular.task.support.Role;
|
|
import com.uas.erp.schedular.task.support.Role;
|
|
|
import com.uas.erp.schedular.task.support.TaskMapping;
|
|
import com.uas.erp.schedular.task.support.TaskMapping;
|
|
|
import com.uas.erp.schedular.util.CollectionUtil;
|
|
import com.uas.erp.schedular.util.CollectionUtil;
|
|
|
import com.uas.erp.schedular.util.ContextHolder;
|
|
import com.uas.erp.schedular.util.ContextHolder;
|
|
|
-import com.uas.erp.schedular.util.ObjectUtil;
|
|
|
|
|
import com.usoft.security.utils.OpenApiSignUtil;
|
|
import com.usoft.security.utils.OpenApiSignUtil;
|
|
|
import org.springframework.stereotype.Component;
|
|
import org.springframework.stereotype.Component;
|
|
|
import org.springframework.util.CollectionUtils;
|
|
import org.springframework.util.CollectionUtils;
|
|
@@ -20,6 +19,7 @@ import org.springframework.util.StringUtils;
|
|
|
import org.springframework.web.client.RestTemplate;
|
|
import org.springframework.web.client.RestTemplate;
|
|
|
import org.springframework.web.util.DefaultUriTemplateHandler;
|
|
import org.springframework.web.util.DefaultUriTemplateHandler;
|
|
|
|
|
|
|
|
|
|
+import javax.transaction.Transactional;
|
|
|
import java.io.UnsupportedEncodingException;
|
|
import java.io.UnsupportedEncodingException;
|
|
|
import java.security.InvalidKeyException;
|
|
import java.security.InvalidKeyException;
|
|
|
import java.security.NoSuchAlgorithmException;
|
|
import java.security.NoSuchAlgorithmException;
|
|
@@ -136,6 +136,7 @@ public class DiymallApplyTask extends AbstractTask {
|
|
|
* 默认每天2:00触发
|
|
* 默认每天2:00触发
|
|
|
*/
|
|
*/
|
|
|
@TaskMapping(title = "订单同步", cron = "0 0 2 * * ?")
|
|
@TaskMapping(title = "订单同步", cron = "0 0 2 * * ?")
|
|
|
|
|
+ @Transactional
|
|
|
public void getOrdersByPage() throws NoSuchAlgorithmException, InvalidKeyException, UnsupportedEncodingException {
|
|
public void getOrdersByPage() throws NoSuchAlgorithmException, InvalidKeyException, UnsupportedEncodingException {
|
|
|
|
|
|
|
|
String url = BASEPATH + "/openapi/trade/order/page/get?";
|
|
String url = BASEPATH + "/openapi/trade/order/page/get?";
|
|
@@ -163,13 +164,11 @@ public class DiymallApplyTask extends AbstractTask {
|
|
|
if(totalCount/pageSize < 1){
|
|
if(totalCount/pageSize < 1){
|
|
|
page = 1;
|
|
page = 1;
|
|
|
}
|
|
}
|
|
|
- tag:
|
|
|
|
|
for(int i = 0 ; i < page ; i ++ ){
|
|
for(int i = 0 ; i < page ; i ++ ){
|
|
|
getOrdersByPage = gstOrderList(url,materialCod,updateTime,totalCount,1);
|
|
getOrdersByPage = gstOrderList(url,materialCod,updateTime,totalCount,1);
|
|
|
orders = getOrdersByPage.getOrder();
|
|
orders = getOrdersByPage.getOrder();
|
|
|
|
|
|
|
|
if(StringUtils.isEmpty(orders)) {
|
|
if(StringUtils.isEmpty(orders)) {
|
|
|
-
|
|
|
|
|
continue ;
|
|
continue ;
|
|
|
}
|
|
}
|
|
|
if (orders.get(i).getStatus().equals(141095)) {
|
|
if (orders.get(i).getStatus().equals(141095)) {
|
|
@@ -196,30 +195,32 @@ public class DiymallApplyTask extends AbstractTask {
|
|
|
pa_code = payment.get("PA_CODE");
|
|
pa_code = payment.get("PA_CODE");
|
|
|
pa_name = payment.get("PA_NAME");
|
|
pa_name = payment.get("PA_NAME");
|
|
|
}
|
|
}
|
|
|
- String sql = "insert into SALE (SA_ID , SA_CODE , SA_DATE , SA_ORDERTYPE , SA_CURRENCY , SA_RATE , SA_CUSTCODE , SA_CUSTNAME , SA_APCUSTCODE , SA_APCUSTNAME ," +
|
|
|
|
|
- "SA_PAYMENTSCODE , SA_PAYMENTS , SA_SELLER , SA_DEPARTMENTCODE , SA_DEPARTMENTNAME , SA_TOPLACE , SA_POCODE , SA_B2CSTATUS , SA_RECORDER , SA_RECORDDATE ," +
|
|
|
|
|
- "SA_AUDITMAN , SA_AUDITDATE , SA_UPDATEMAN , SA_UPDATEDATE , sa_need1 , sa_need2) values ('" + saleId + "','"+ code + "',sysdate,'商城订单','RMB','1','" + (ObjectUtils.isEmpty(customer) ? "" : customer.getCu_code()) +"','" + (ObjectUtils.isEmpty(customer) ? "" : customer.getCu_name()) +"', " +
|
|
|
|
|
|
|
+ int amount = jdbcTemplate.getInt("select SUM(SD_PRICE*SD_QTY) 总额 from SALE left join SALEDETAIL on SA_ID = sd_said where sd_said='" + saleId+ "'");
|
|
|
|
|
+
|
|
|
|
|
+ String sql = "insert into SALE (SA_ID , SA_CODE , SA_DATE , SA_KIND , SA_CURRENCY , SA_RATE , SA_CUSTCODE , SA_CUSTNAME , SA_APCUSTCODE , SA_APCUSTNAME ," +
|
|
|
|
|
+ "SA_PAYMENTSCODE , SA_PAYMENTS , SA_SELLER , SA_DEPARTMENTCODE , SA_DEPARTMENTNAME , SA_TOPLACE , SA_POCODE , SA_STATUS , SA_STATUSCODE, SA_RECORDER , SA_RECORDDATE ," +
|
|
|
|
|
+ "SA_AUDITMAN , SA_AUDITDATE , SA_UPDATEMAN , SA_UPDATEDATE ,SA_TOTAL, sa_need1 , sa_need2) values ('" + saleId + "','"+ code + "',sysdate,'商城订单','RMB','1','" + (ObjectUtils.isEmpty(customer) ? "" : customer.getCu_code()) +"','" + (ObjectUtils.isEmpty(customer) ? "" : customer.getCu_name()) +"', " +
|
|
|
"'C18060102','深圳优软商城科技有限公司','" + pa_code +"','" + pa_name +"','周连军','1202', " +
|
|
"'C18060102','深圳优软商城科技有限公司','" + pa_code +"','" + pa_name +"','周连军','1202', " +
|
|
|
- "'研发二部','"+ order.getOrderDeliveryAddr() + "','" + order.getCode() + "','已审核','ADMIN',sysdate,'ADMIN',sysdate, " +
|
|
|
|
|
- "'ADMIN',sysdate,'" + order.getBuyerName() +"','" + order.getBuyerMobile() + "')";
|
|
|
|
|
|
|
+ "'研发二部','"+ order.getOrderDeliveryAddr() + "','" + order.getCode() + "','已审核','AUDITED','ADMIN',sysdate,'ADMIN',sysdate, " +
|
|
|
|
|
+ "'ADMIN',sysdate,'" + amount + "','" + order.getBuyerName() +"','" + order.getBuyerMobile() + "')";
|
|
|
|
|
|
|
|
LoggingOrder loggingOrder = new LoggingOrder();
|
|
LoggingOrder loggingOrder = new LoggingOrder();
|
|
|
|
|
|
|
|
List<OrderProduct> orderProductList = order.getOrderProduct();
|
|
List<OrderProduct> orderProductList = order.getOrderProduct();
|
|
|
List<String> detailList = new ArrayList<>();
|
|
List<String> detailList = new ArrayList<>();
|
|
|
|
|
+ int detno = 1;
|
|
|
for(int n = 0, len = orderProductList.size() ; n < len ; n ++){
|
|
for(int n = 0, len = orderProductList.size() ; n < len ; n ++){
|
|
|
OrderProduct orderProduct = orderProductList.get(n);
|
|
OrderProduct orderProduct = orderProductList.get(n);
|
|
|
|
|
|
|
|
- String productSql = "select * from product where pr_code = '" + orderProduct.getCode() + "'";
|
|
|
|
|
|
|
+ String productSql = "select * from product where pr_code = '" + orderProduct.getMaterialCode() + "'";
|
|
|
Prod product = jdbcTemplate.queryForBean(productSql, Prod.class);
|
|
Prod product = jdbcTemplate.queryForBean(productSql, Prod.class);
|
|
|
if (!ObjectUtils.isEmpty(product)) {
|
|
if (!ObjectUtils.isEmpty(product)) {
|
|
|
- String DetailSql = "insert into saleDetail( sd_id , sd_said , SD_PRODID , SD_PRODCODE , SD_QTY , SD_PRICE , SD_TAXRATE , SD_DELIVERY) " +
|
|
|
|
|
- "values(saleDetail_seq.nextval, " + saleId + ", " + product.getPr_id() + ", " + product.getPr_code() + ", " + orderProduct.getAmount() +", " + orderProduct.getUnitPrice() +", " + "13%" +", " + "sysdate" + orderProduct.getMaxDelivery() + ")";
|
|
|
|
|
|
|
+ String DetailSql = "insert into saleDetail( sd_id , sd_said , sd_detno, SD_PRODID , SD_PRODCODE , SD_QTY , SD_PRICE , SD_TAXRATE , SD_DELIVERY) " +
|
|
|
|
|
+ "values(saleDetail_seq.nextval, " + saleId + ", " + (detno++) + "," + product.getPr_id() + ", '" + product.getPr_code() + "', " + orderProduct.getAmount() +", " + orderProduct.getUnitPrice() +", " + "13" +", " + "sysdate + " + orderProduct.getMaxDelivery() + ")";
|
|
|
detailList.add(DetailSql);
|
|
detailList.add(DetailSql);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-
|
|
|
|
|
boolean exists = !ObjectUtils.isEmpty(customer);
|
|
boolean exists = !ObjectUtils.isEmpty(customer);
|
|
|
|
|
|
|
|
if(!exists){
|
|
if(!exists){
|
|
@@ -241,17 +242,15 @@ public class DiymallApplyTask extends AbstractTask {
|
|
|
loggingOrder.setOrderNumber(code);
|
|
loggingOrder.setOrderNumber(code);
|
|
|
loggingOrder.setRemark("销售订单生成成功");
|
|
loggingOrder.setRemark("销售订单生成成功");
|
|
|
String logOrderSql = "insert into LOGORDER(LO_ID, ORDERCODE , STATUS , SALESTIME , ORDERNUMBER , REMARK)" +
|
|
String logOrderSql = "insert into LOGORDER(LO_ID, ORDERCODE , STATUS , SALESTIME , ORDERNUMBER , REMARK)" +
|
|
|
- "values(logorder_seq.nextval,'" + order.getCode() + "', '" + loggingOrder.getStatus() + "', sysdate,'" + loggingOrder.getOrderNumber() + "', '" + loggingOrder.getRemark() + "')";
|
|
|
|
|
|
|
+ "values(LOGORDER_SEQ.NEXTVAL,'" + order.getCode() + "', '" + loggingOrder.getStatus() + "', sysdate,'" + loggingOrder.getOrderNumber() + "', '" + loggingOrder.getRemark() + "')";
|
|
|
jdbcTemplate.execute(logOrderSql);
|
|
jdbcTemplate.execute(logOrderSql);
|
|
|
- break tag;
|
|
|
|
|
}else {
|
|
}else {
|
|
|
loggingOrder.setStatus("失败");
|
|
loggingOrder.setStatus("失败");
|
|
|
loggingOrder.setOrderNumber("");
|
|
loggingOrder.setOrderNumber("");
|
|
|
loggingOrder.setRemark("客户资料不存在或者状态不等于已审核");
|
|
loggingOrder.setRemark("客户资料不存在或者状态不等于已审核");
|
|
|
String logOrderSql = "insert into LOGORDER(LO_ID, ORDERCODE , STATUS , SALESTIME , ORDERNUMBER , REMARK)" +
|
|
String logOrderSql = "insert into LOGORDER(LO_ID, ORDERCODE , STATUS , SALESTIME , ORDERNUMBER , REMARK)" +
|
|
|
- "values(logorder_seq.nextval,'" + order.getCode() + "', '" + loggingOrder.getStatus() + "', sysdate,'" + loggingOrder.getOrderNumber() + "', '" + loggingOrder.getRemark() + "')";
|
|
|
|
|
|
|
+ "values(LOGORDER_SEQ.NEXTVAL,'" + order.getCode() + "', '" + loggingOrder.getStatus() + "', sysdate,'" + loggingOrder.getOrderNumber() + "', '" + loggingOrder.getRemark() + "')";
|
|
|
jdbcTemplate.execute(logOrderSql);
|
|
jdbcTemplate.execute(logOrderSql);
|
|
|
- break tag;
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
}
|
|
}
|
|
@@ -259,7 +258,7 @@ public class DiymallApplyTask extends AbstractTask {
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+ //throw new RuntimeException("asdlf");
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@@ -277,9 +276,10 @@ public class DiymallApplyTask extends AbstractTask {
|
|
|
|
|
|
|
|
RestTemplate restTemp = new RestTemplate(new HttpsClientRequestFactory());
|
|
RestTemplate restTemp = new RestTemplate(new HttpsClientRequestFactory());
|
|
|
restTemp.setUriTemplateHandler(uriTemplateHandler);
|
|
restTemp.setUriTemplateHandler(uriTemplateHandler);
|
|
|
- GetOrdersByPage result = restTemp.getForObject(requestURL, GetOrdersByPage.class);
|
|
|
|
|
- //String result1 = restTemp.getForObject(requestURL, String.class);
|
|
|
|
|
- return result;
|
|
|
|
|
|
|
+ String result = restTemp.getForObject(requestURL, String.class);
|
|
|
|
|
+ //System.out.println(result);
|
|
|
|
|
+ GetOrdersByPage getOrdersByPage = JSON.parseObject(result, GetOrdersByPage.class);
|
|
|
|
|
+ return getOrdersByPage;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
}
|
|
}
|