完善erp对接:
1.下推-》2.查询-》3.保存-》4.提交-》5.审核
| | |
| | | private Integer accountDay; |
| | | |
| | | /** |
| | | * 邮费支付类型 1: 在线支付 2: 货到付款 |
| | | * ERP下推ID |
| | | */ |
| | | @ApiModelProperty(value= "邮费支付类型 1: 在线支付 2: 货到付款 ") |
| | | @ApiModelProperty(value= "ERP下推ID") |
| | | @TableField("post_fee_type") |
| | | private Integer postFeeType; |
| | | |
| | |
| | | private String suppCode; |
| | | |
| | | /** |
| | | * 是否批次 1: 是 0: 否 |
| | | * 行ID |
| | | */ |
| | | @ApiModelProperty(value= "是否批次 1: 是 0: 否 ") |
| | | @ApiModelProperty(value= "行ID") |
| | | @TableField("be_batch") |
| | | private Integer beBatch; |
| | | |
| | |
| | | List<Order> selectCompleteMome1(); |
| | | List<Order> selectCompleteMome2(); |
| | | List<Order> selectCompleteMome3(); |
| | | List<Order> selectCompleteMome4(); |
| | | int addToLogTable(Order order); |
| | | |
| | | Integer checkDetlWorkQtyLess0(@Param("orderNo") String orderNo); |
| | |
| | | |
| | | List<Order> selectCompletemEmo3(); |
| | | |
| | | List<Order> selectCompletemEmo4(); |
| | | |
| | | List<Order> selectComplete2(); |
| | | |
| | | |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<Order> selectCompletemEmo4() { |
| | | return this.baseMapper.selectCompleteMome4(); |
| | | } |
| | | |
| | | @Override |
| | | public List<Order> selectComplete2() { |
| | | return this.baseMapper.selectComplete2(); |
| | | } |
New file |
| | |
| | | package com.zy.asrs.task.kingdee; |
| | | |
| | | import com.zy.asrs.entity.Order; |
| | | import com.zy.asrs.service.OrderService; |
| | | import com.zy.asrs.task.core.ReturnT; |
| | | import com.zy.asrs.task.kingdee.handler.ExecuteBillQueryHandler; |
| | | import com.zy.asrs.task.kingdee.handler.SaveOrderSyncHandler; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.scheduling.annotation.Async; |
| | | import org.springframework.scheduling.annotation.Scheduled; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * Created by Monkey D. Luffy on 2023.10.21 |
| | | */ |
| | | @Slf4j |
| | | @Component |
| | | public class ExecuteBillQueryScheduler { |
| | | @Autowired |
| | | private ExecuteBillQueryHandler executeBillQueryHandler; |
| | | @Autowired |
| | | private OrderService orderService; |
| | | |
| | | @Value("${erp.switch.SaveOrderSwitch}") |
| | | private boolean SaveOrderSwitch; |
| | | |
| | | /** |
| | | * 1.查询接口 |
| | | */ |
| | | @Scheduled(cron = "0/3 * * * * ? ") |
| | | @Async("orderThreadPool") |
| | | public synchronized void completeAndReport() { |
| | | if (!SaveOrderSwitch) { |
| | | return; |
| | | } |
| | | List<Order> orders = orderService.selectCompletemEmo1(); |
| | | for (Order order : orders) { |
| | | try { |
| | | |
| | | ReturnT<String> result = executeBillQueryHandler.start(order); |
| | | if (!result.isSuccess()) { |
| | | log.error("单据[orderNo={}]保存至erp失败", order.getOrderNo()); |
| | | } |
| | | |
| | | } catch (Exception e) { |
| | | Order order1 = orderService.selectById(order.getId()); |
| | | order1.setUpdateTime(new Date()); |
| | | orderService.updateById(order1); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | |
| | | @Value("${erp.switch.PushDowmOrderSwitch}") |
| | | private boolean PushDowmOrderSwitch; |
| | | |
| | | /** |
| | | * 0.下推接口 |
| | | */ |
| | | @Scheduled(cron = "0/3 * * * * ? ") |
| | | void login(){ |
| | | synchronized void login(){ |
| | | if(!PushDowmOrderSwitch){ |
| | | return; |
| | | } |
| | |
| | | @Value("${erp.switch.ReviewOrderSwitch}") |
| | | private boolean ReviewOrderSwitch; |
| | | |
| | | /** |
| | | * 4.审核接口 |
| | | */ |
| | | @Scheduled(cron = "0/3 * * * * ? ") |
| | | @Async("orderThreadPool") |
| | | public void completeAndReport(){ |
| | | public synchronized void completeAndReport(){ |
| | | if(!ReviewOrderSwitch){ |
| | | return; |
| | | } |
| | | List<Order> orders = orderService.selectCompletemEmo3(); |
| | | List<Order> orders = orderService.selectCompletemEmo4(); |
| | | for (Order order : orders) { |
| | | try{ |
| | | ReturnT<String> result = reviewOrderSyncHandler.start(order); |
| | |
| | | @Value("${erp.switch.SaveOrderSwitch}") |
| | | private boolean SaveOrderSwitch; |
| | | |
| | | /** |
| | | * 2.保存接口 |
| | | */ |
| | | @Scheduled(cron = "0/3 * * * * ? ") |
| | | @Async("orderThreadPool") |
| | | public void completeAndReport() { |
| | | public synchronized void completeAndReport() { |
| | | if (!SaveOrderSwitch) { |
| | | return; |
| | | } |
| | | List<Order> orders = orderService.selectCompletemEmo1(); |
| | | List<Order> orders = orderService.selectCompletemEmo2(); |
| | | for (Order order : orders) { |
| | | try { |
| | | |
| | |
| | | @Value("${erp.switch.SubmitOrderSwitch}") |
| | | private boolean SubmitOrderSwitch; |
| | | |
| | | /** |
| | | * 3.提交接口 |
| | | */ |
| | | @Scheduled(cron = "0/3 * * * * ? ") |
| | | @Async("orderThreadPool") |
| | | public void completeAndReport(){ |
| | | public synchronized void completeAndReport(){ |
| | | if(!SubmitOrderSwitch){ |
| | | return; |
| | | } |
| | | List<Order> orders = orderService.selectCompletemEmo2(); |
| | | List<Order> orders = orderService.selectCompletemEmo3(); |
| | | for (Order order : orders) { |
| | | try{ |
| | | ReturnT<String> result = submitOrderSyncHandler.start(order); |
New file |
| | |
| | | package com.zy.asrs.task.kingdee.handler; |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.core.common.Cools; |
| | | import com.core.common.DateUtils; |
| | | import com.fasterxml.jackson.databind.JsonNode; |
| | | import com.fasterxml.jackson.databind.ObjectMapper; |
| | | import com.zy.asrs.entity.DocType; |
| | | import com.zy.asrs.entity.Order; |
| | | import com.zy.asrs.entity.OrderDetl; |
| | | import com.zy.asrs.service.ApiLogService; |
| | | import com.zy.asrs.service.DocTypeService; |
| | | import com.zy.asrs.service.OrderDetlService; |
| | | import com.zy.asrs.service.OrderService; |
| | | import com.zy.asrs.task.AbstractHandler; |
| | | import com.zy.asrs.task.core.ReturnT; |
| | | import com.zy.common.utils.HttpHandler; |
| | | import com.zy.erp.kingdee.enums.KingDeeUtilType; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * Created by Monkey D. Luffy on 2023.10.21 |
| | | */ |
| | | @Slf4j |
| | | @Service |
| | | public class ExecuteBillQueryHandler extends AbstractHandler<String> { |
| | | @Value("${erp.address.URL}") |
| | | //端口 |
| | | private String URL; |
| | | |
| | | @Value("${erp.address.executeBillQuery}") |
| | | //保存地址 |
| | | private String executeBillQuery; |
| | | |
| | | @Autowired |
| | | private OrderService orderService; |
| | | @Autowired |
| | | private ApiLogService apiLogService; |
| | | @Autowired |
| | | private DocTypeService docTypeService; |
| | | @Autowired |
| | | private OrderDetlService orderDetlService; |
| | | @Autowired |
| | | private LoginAuthenticationHandler loginAuthenticationHandler; |
| | | |
| | | /** |
| | | * 查询接口 |
| | | * 获取订单物料的ID |
| | | * |
| | | * @param order |
| | | * @return |
| | | */ |
| | | @Transactional |
| | | public ReturnT<String> start(Order order) { |
| | | List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); |
| | | if (Cools.isEmpty(orderDetls) || orderDetls.size() == 0) { |
| | | return SUCCESS; |
| | | } |
| | | //登录金蝶r |
| | | ReturnT<String> start = loginAuthenticationHandler.start(); |
| | | DocType docType = docTypeService.selectById(order.getDocType()); |
| | | if (null == docType) { |
| | | return SUCCESS; |
| | | } |
| | | KingDeeUtilType kingDeeUtilType = KingDeeUtilType.get(docType.getDocName()); |
| | | // if (kingDeeUtilType.entryId!=2){ |
| | | // return SUCCESS; |
| | | // } |
| | | Date now = new Date(); |
| | | //条件拼接 |
| | | JSONObject data = new JSONObject(); |
| | | JSONObject jsonObject = new JSONObject(); |
| | | // jsonObject.put("Ids","100083"); |
| | | jsonObject.put("FormId", kingDeeUtilType.correspondingFormId); |
| | | data.put("FormId", kingDeeUtilType.correspondingFormId); |
| | | //查询字段 erp下发的订单ID、行ID、物料编号、数量 |
| | | jsonObject.put("FieldKeys", "fid,FEntity_FEntryID,FMaterialID.FNumber,"+kingDeeUtilType.anfme); |
| | | |
| | | List<JSONObject> filterStrings = new ArrayList<>(); |
| | | JSONObject filterString = new JSONObject(); |
| | | filterString.put("Left", ""); |
| | | filterString.put("FieldName", "FBILLNO"); |
| | | filterString.put("Compare", "="); |
| | | filterString.put("Value", order.getShipCode()); |
| | | filterString.put("Right", ""); |
| | | filterString.put("Logic", "AND"); |
| | | filterStrings.add(filterString); |
| | | jsonObject.put("FilterString", filterStrings); |
| | | |
| | | jsonObject.put("OrderString", ""); |
| | | jsonObject.put("TopRowCount", 0); |
| | | jsonObject.put("StartRow", 0); |
| | | jsonObject.put("Limit", 2000); |
| | | jsonObject.put("SubSystemId", ""); |
| | | |
| | | data.put("data", jsonObject); |
| | | String add = data.toJSONString(); |
| | | //上报 |
| | | String response = ""; |
| | | boolean success = false; |
| | | try { |
| | | //获取Cookie值 |
| | | HashMap<String, Object> headers = new HashMap<>(); |
| | | headers.put("Cookie", start.getContent()); |
| | | response = new HttpHandler.Builder() |
| | | .setHeaders(headers) |
| | | .setUri(URL) |
| | | .setPath(executeBillQuery) |
| | | .setJson(add) |
| | | .setHttps(true) |
| | | .build() |
| | | .doPost(); |
| | | |
| | | JSONArray jsonArray = JSON.parseArray(response); |
| | | //保存完成原订单1转2 2.查询完成 |
| | | if (jsonArray.size() > 0) { |
| | | for (int i = 0; i < jsonArray.size(); i++) { |
| | | for (OrderDetl orderDetl : orderDetls) { |
| | | JSONArray jsonArray1 = JSON.parseArray(jsonArray.get(i).toString()); |
| | | if (jsonArray1.get(2).equals(orderDetl.getMatnr())) { |
| | | //跟新订单明细行号 |
| | | orderDetl.setBeBatch(Integer.valueOf(jsonArray1.get(1).toString())); |
| | | if (Cools.isEmpty(orderDetl.getBatch())) { |
| | | orderDetlService.update(orderDetl, new EntityWrapper<OrderDetl>() |
| | | .eq("order_no", order.getOrderNo()) |
| | | .eq("matnr", orderDetl.getMatnr())); |
| | | } else { |
| | | orderDetlService.update(orderDetl, new EntityWrapper<OrderDetl>() |
| | | .eq("order_no", order.getOrderNo()) |
| | | .eq("matnr", orderDetl.getMatnr()) |
| | | .eq("batch", orderDetl.getBatch())); |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | //提交完成原订单1转2 2.查询完成 |
| | | success = true; |
| | | order.setMemo("2"); |
| | | order.setUpdateTime(new Date()); |
| | | orderService.update(order, new EntityWrapper<Order>().eq("order_no", order.getOrderNo())); |
| | | } |
| | | |
| | | // if (!bool1.equals("true") || !bool){ |
| | | // order.setSettle(7L); |
| | | // order.setUpdateTime(new Date()); |
| | | // orderService.update(order,new EntityWrapper<Order>().eq("order_no",order.getOrderNo())); |
| | | // } |
| | | |
| | | } catch (Exception e) { |
| | | log.error("fail", e); |
| | | // TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | return FAIL.setMsg(e.getMessage()); |
| | | } finally { |
| | | try { |
| | | // 保存接口日志 |
| | | apiLogService.save( |
| | | "2.查询", |
| | | URL + executeBillQuery, |
| | | null, |
| | | "127.0.0.1", |
| | | add, |
| | | response, |
| | | success |
| | | ); |
| | | } catch (Exception e) { |
| | | log.error("", e); |
| | | } |
| | | } |
| | | return SUCCESS; |
| | | } |
| | | |
| | | public static Object findValueByKey(JSONObject json, String key) { |
| | | Set<String> keySet = json.keySet(); |
| | | for (String k : keySet) { |
| | | Object v = json.get(k); |
| | | if (k.equals(key)) { |
| | | return v; |
| | | } else if (v instanceof JSONArray) { |
| | | int size = ((JSONArray) v).size(); |
| | | for (int i = 0; i <= size - 1; i++) { |
| | | Object result = findValueByKey((JSONObject) ((JSONArray) v).get(i), key); |
| | | if (result != null) { |
| | | return result; |
| | | } |
| | | } |
| | | } else if (v instanceof JSONObject) { |
| | | Object result = findValueByKey((JSONObject) v, key); |
| | | if (result != null) { |
| | | return result; |
| | | } |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | } |
| | |
| | | if(bool){ |
| | | //获取下推订单号 |
| | | String number=rootNode.get("Result").get("ResponseStatus").get("SuccessEntitys").get(0).get("Number").asText(); |
| | | int id=Integer.valueOf(rootNode.get("Result").get("ResponseStatus").get("SuccessEntitys").get(0).get("Id").asText()); |
| | | success = true; |
| | | // order.setSettle(6L); |
| | | order.setMemo("1"); |
| | | order.setShipCode(number);//下推订单号 |
| | | order.setPostFeeType(id);//下推ID |
| | | order.setUpdateTime(new Date()); |
| | | |
| | | orderService.update(order,new EntityWrapper<Order>().eq("order_no",order.getOrderNo())); |
| | |
| | | try { |
| | | // 保存接口日志 |
| | | apiLogService.save( |
| | | "下推", |
| | | "1.下推", |
| | | URL+ pushDowmAudit, |
| | | null, |
| | | "127.0.0.1", |
| | |
| | | |
| | | //条件拼接 |
| | | JSONObject dataJsonObject = new JSONObject(); |
| | | dataJsonObject.put("Numbers", "CGTL10124120003"); |
| | | dataJsonObject.put("ids", order.getPostFeeType()); |
| | | |
| | | JSONObject jsonObject = new JSONObject(); |
| | | jsonObject.put("data", dataJsonObject); |
| | | jsonObject.put("FormId", kingDeeUtilType.ruleId); |
| | | jsonObject.put("FormId", kingDeeUtilType.correspondingFormId); |
| | | String add = jsonObject.toJSONString(); |
| | | //上报 |
| | | String response = ""; |
| | |
| | | .setJson(add) |
| | | .build() |
| | | .doPost(); |
| | | JSONObject data = JSON.parseObject(response); |
| | | // JSONObject data = JSON.parseObject(response); |
| | | Object IsSuccess = findValueByKey(JSON.parseObject(response), "IsSuccess"); |
| | | String bool1 = IsSuccess.toString(); |
| | | |
| | |
| | | JsonNode rootNode = objectMapper.readTree(response); |
| | | boolean bool = rootNode.get("Result").get("ResponseStatus").get("IsSuccess").asBoolean(); |
| | | log.info("审核bool:" + bool); |
| | | //审核完成原订单3转4 4.审核完成 |
| | | //审核完成原订单4转5 5.审核完成 |
| | | if (bool) { |
| | | success = true; |
| | | order.setMemo("4");//审核完成 |
| | | order.setMemo("5");//审核完成 |
| | | order.setUpdateTime(new Date()); |
| | | |
| | | |
| | |
| | | try { |
| | | // 保存接口日志 |
| | | apiLogService.save( |
| | | " 审核", |
| | | "5.审核", |
| | | URL + outaddressAudit, |
| | | null, |
| | | "127.0.0.1", |
| | |
| | | // } |
| | | Date now = new Date(); |
| | | //条件拼接 |
| | | JSONObject jsonObjectFBillTypeID = new JSONObject(); |
| | | JSONObject jsonObjectFPickerId = new JSONObject(); |
| | | if (kingDeeUtilType.pakIn==1){ |
| | | jsonObjectFBillTypeID.put("FNUMBER","TLD01_SYS"); |
| | | }else { |
| | | jsonObjectFBillTypeID.put("FNUMBER","TLD01_SYS"); |
| | | jsonObjectFPickerId.put("FStaffNumber","X0103_GLGW074_1"); |
| | | } |
| | | JSONObject jsonObject=new JSONObject(); |
| | | jsonObject.put("FormId",kingDeeUtilType.correspondingFormId); |
| | | |
| | | JSONObject jsonObjectFStockOrgId = new JSONObject(); |
| | | jsonObjectFStockOrgId.put("FNUMBER","100"); |
| | | JSONObject model=new JSONObject(); |
| | | model.put("fid",order.getPostFeeType()); |
| | | |
| | | JSONObject jsonObjectFOwnerIdHead = new JSONObject(); |
| | | jsonObjectFOwnerIdHead.put("FNUMBER","100"); |
| | | |
| | | JSONObject jsonObjectFDEPTID = new JSONObject(); |
| | | jsonObjectFDEPTID.put("FNUMBER","CX"); |
| | | |
| | | List<JSONObject> jsonObjects = new ArrayList<>(); |
| | | |
| | | for (OrderDetl orderDetl:orderDetls){ |
| | | JSONObject jsonObjectFMATERIALID = new JSONObject(); |
| | | jsonObjectFMATERIALID.put("FNUMBER",orderDetl.getMatnr()); |
| | | |
| | | JSONObject jsonObjectFSTOCKID = new JSONObject(); |
| | | jsonObjectFSTOCKID.put("FNUMBER","CK001"); |
| | | |
| | | JSONObject jsonObjectFLOT = new JSONObject(); |
| | | jsonObjectFLOT.put("FNUMBER",orderDetl.getBatch()); |
| | | |
| | | // 使用LinkedHashMap来保持插入顺序 |
| | | Map<String, Object> orderedMap = new LinkedHashMap<>(); |
| | | |
| | | // 按照期望的顺序添加键值对 |
| | | orderedMap.put("FMATERIALID", jsonObjectFMATERIALID); |
| | | orderedMap.put("FSTOCKID", jsonObjectFSTOCKID); |
| | | orderedMap.put("FLOT", jsonObjectFLOT); |
| | | JSONArray fEntitys = new JSONArray(); |
| | | for (OrderDetl orderDetl : orderDetls) { |
| | | JSONObject fEntity = new JSONObject(); |
| | | fEntity.put("FEntryID",orderDetl.getBeBatch()); |
| | | //完成数量-已上报数量 |
| | | if(orderDetl.getQty().equals(0.0)){ |
| | | orderedMap.put("FQty", orderDetl.getQty()); |
| | | fEntity.put(kingDeeUtilType.anfme, orderDetl.getQty()); |
| | | }else{ |
| | | orderedMap.put("FQty", orderDetl.getQty()-orderDetl.getPrice()); // 将"FQty"放到最后 |
| | | fEntity.put(kingDeeUtilType.anfme, orderDetl.getQty()-orderDetl.getPrice()); // 将"FQty"放到最后 |
| | | } |
| | | |
| | | JSONObject jsonObjectEnd = new JSONObject(orderedMap); |
| | | |
| | | jsonObjects.add(jsonObjectEnd); |
| | | fEntitys.add(fEntity); |
| | | } |
| | | |
| | | JSONObject jsonObject = new JSONObject(); |
| | | jsonObject.put("FBillTypeID",jsonObjectFBillTypeID); |
| | | if (kingDeeUtilType.pakIn==0){ |
| | | jsonObject.put("FPickerId",jsonObjectFPickerId); |
| | | } |
| | | jsonObject.put("FDate",DateUtils.convert(now, DateUtils.yyyyMMdd_F)); |
| | | jsonObject.put("FStockOrgId",jsonObjectFStockOrgId); |
| | | jsonObject.put("FOwnerTypeIdHead","BD_OwnerOrg"); |
| | | jsonObject.put("FOwnerIdHead",jsonObjectFOwnerIdHead); |
| | | jsonObject.put("FDEPTID",jsonObjectFDEPTID); |
| | | jsonObject.put("FEntity",jsonObjects); |
| | | |
| | | JSONObject jsonObjectModel = new JSONObject(); |
| | | jsonObjectModel.put("Model",jsonObject); |
| | | |
| | | JSONObject jsonObject1 = new JSONObject(); |
| | | jsonObject1.put("data", jsonObjectModel); |
| | | jsonObject1.put("FormId",kingDeeUtilType.correspondingFormId); |
| | | String add = jsonObject1.toJSONString(); |
| | | model.put("FEntity",fEntitys); |
| | | JSONObject data= new JSONObject(); |
| | | data.put("Model",model); |
| | | jsonObject.put("data",data); |
| | | String add = jsonObject.toJSONString(); |
| | | //上报 |
| | | String response = ""; |
| | | boolean success = false; |
| | |
| | | .setHttps(true) |
| | | .build() |
| | | .doPost(); |
| | | JSONObject data = JSON.parseObject(response); |
| | | // JSONObject data = JSON.parseObject(response); |
| | | Object IsSuccess = findValueByKey(JSON.parseObject(response), "IsSuccess"); |
| | | String bool1=IsSuccess.toString(); |
| | | boolean bool = false; |
| | | //保存完成原订单1转2 2.保存完成 |
| | | //保存完成原订单2转3 3.保存完成 |
| | | if(bool1.equals("true")){ |
| | | ObjectMapper objectMapper = new ObjectMapper(); |
| | | JsonNode rootNode = objectMapper.readTree(response); |
| | | bool = rootNode.get("Result").get("ResponseStatus").get("IsSuccess").asBoolean(); |
| | | log.info("保存bool:"+bool); |
| | | //提交完成原订单1转2 2.上报完成 |
| | | //提交完成原订单2转3 3.上报完成 |
| | | if(bool){ |
| | | success = true; |
| | | order.setMemo("2"); |
| | | order.setMemo("3"); |
| | | order.setUpdateTime(new Date()); |
| | | orderService.update(order,new EntityWrapper<Order>().eq("order_no",order.getOrderNo())); |
| | | |
| | |
| | | try { |
| | | // 保存接口日志 |
| | | apiLogService.save( |
| | | "保存", |
| | | "3.保存", |
| | | URL+ outaddressSave, |
| | | null, |
| | | "127.0.0.1", |
| | |
| | | // } |
| | | //条件拼接 |
| | | JSONObject jsonObject = new JSONObject(); |
| | | // jsonObject.put("Ids","100083"); |
| | | jsonObject.put("Numbers", order.getOrderNo()); |
| | | jsonObject.put("Ids",order.getPostFeeType()); |
| | | // jsonObject.put("Numbers", order.getOrderNo()); |
| | | JSONObject jsonObject1 = new JSONObject(); |
| | | jsonObject1.put("data", jsonObject); |
| | | jsonObject1.put("FormId",kingDeeUtilType.ruleId); |
| | | jsonObject1.put("FormId",kingDeeUtilType.correspondingFormId); |
| | | String add = jsonObject1.toJSONString(); |
| | | //上报 |
| | | String response = ""; |
| | |
| | | JsonNode rootNode = objectMapper.readTree(response); |
| | | boolean bool = rootNode.get("Result").get("ResponseStatus").get("IsSuccess").asBoolean(); |
| | | log.info("审核bool:"+bool); |
| | | //提交完成原订单2转3 3.提交完成 |
| | | //提交完成原订单3转4 4.提交完成 |
| | | if(bool){ |
| | | success = true; |
| | | // order.setSettle(7L); |
| | | order.setMemo("3"); |
| | | order.setMemo("4"); |
| | | order.setUpdateTime(new Date()); |
| | | orderService.update(order,new EntityWrapper<Order>().eq("order_no",order.getOrderNo())); |
| | | } |
| | |
| | | try { |
| | | // 保存接口日志 |
| | | apiLogService.save( |
| | | "提交", |
| | | "4.提交", |
| | | URL+ outaddressSubmit, |
| | | null, |
| | | "127.0.0.1", |
| | |
| | | |
| | | public enum KingDeeUtilType { |
| | | |
| | | SAL_DELIVERYNOTICE1(1, "发货通知单-销售出库单","SAL_DELIVERYNOTICE","FQty","销售出库单","SAL_OUTSTOCK",0,"DeliveryNotice-Outstock",0), |
| | | SAL_DELIVERYNOTICE1(1, "发货通知单-销售出库单","SAL_DELIVERYNOTICE","FRealQty","销售出库单","SAL_OUTSTOCK",0,"DeliveryNotice-Outstock",0), |
| | | |
| | | //米多青岛 |
| | | SAL_DELIVERYNOTICE2(2, "试用品发货通知单-其他出库单","SAL_DELIVERYNOTICE","","其他出库单","STK_MisDelivery",0,"731ce15d-c58d-4c21-96f9-d121c0a7b255",0), |
| | | SAL_DELIVERYNOTICE2(2, "试用品发货通知单-其他出库单","SAL_DELIVERYNOTICE","FQty","其他出库单","STK_MisDelivery",0,"731ce15d-c58d-4c21-96f9-d121c0a7b255",0), |
| | | /* |
| | | * 退货通知单至销售退货单单据唯一标识:一级:SalReturnNotice-SalReturnstock 二级:a0ab8e5c-5224-4ba2-b31f-b061e64aa1a2 |
| | | * */ |
| | | SAL_RETURNNOTICE(3, "退货通知单-销售退货单","SAL_RETURNNOTICE","","销售退货单","SAL_RETURNSTOCK",1,"SalReturnNotice-SalReturnstock",0), |
| | | SAL_RETURNNOTICE(3, "退货通知单-销售退货单","SAL_RETURNNOTICE","FRealQty","销售退货单","SAL_RETURNSTOCK",1,"SalReturnNotice-SalReturnstock",0), |
| | | /* |
| | | * 采购收料单至采购入库单唯一标识:一级:PUR_ReceiveBill-STK_InStock 二级:b60e30ca-634c-4f92-b874-db9837496705 |
| | | * */ |
| | | PUR_ReceiveBill(4, "收料通知单-采购入库单","PUR_ReceiveBill","","采购入库单","STK_InStock",1,"PUR_ReceiveBill-STK_InStock",0), |
| | | PUR_ReceiveBill(4, "收料通知单-采购入库单","PUR_ReceiveBill","FRealQty","采购入库单","STK_InStock",1,"PUR_ReceiveBill-STK_InStock",0), |
| | | /* |
| | | * 退料申请单至采购退料单单据唯一标识:PUR_MRAPP-PUR_MRB |
| | | * */ |
| | | PUR_MRAPP(5, "退料申请单-采购退料单","PUR_MRAPP","","采购退料单","TLD01_SYS",1,"PUR_MRB",0), |
| | | PUR_MRAPP(5, "退料申请单-采购退料单","PUR_MRAPP","FRealQty","采购退料单","TLD01_SYS",1,"PUR_MRB",0), |
| | | /* |
| | | * 生产用料清单到生产领料单唯一标识:一级:PRD_PPBOM2PICKMTRL_NORMAL 二级:3539ff08-0c46-435d-a8cd-b6308b0b57b5 |
| | | * */ |
| | | PRD_PPBOM1(6, "生产用料清单-生产领料单","PRD_PPBOM","","生产领料单","PRD_PickMtrl",0,"PRD_PPBOM2PICKMTRL_NORMAL",1), |
| | | PRD_PPBOM1(6, "生产用料清单-生产领料单","PRD_PPBOM","FActualQty","生产领料单","PRD_PickMtrl",0,"PRD_PPBOM2PICKMTRL_NORMAL",1), |
| | | |
| | | // PRD_PPBOM2(7, "生产用料清单-生产补料单","PRD_PPBOM","","生产补料单","PRD_FeedMtrl",1,"PRD_PPBOM2FEEDMTRL",1), |
| | | PRD_PPBOM2(7, "生产用料清单-生产补料单","PRD_PPBOM","","生产领料单","PRD_PickMtrl",0,"PRD_PPBOM2PICKMTRL_NORMAL",1), |
| | | PRD_PPBOM2(7, "生产用料清单-生产补料单","PRD_PPBOM","FActualQty","生产领料单","PRD_PickMtrl",0,"PRD_PPBOM2PICKMTRL_NORMAL",1), |
| | | |
| | | PRD_PPBOM3(8, "生产用料清单-生产退料单","PRD_PPBOM","","生产退料单","PRD_ReturnMtrl",1,"PRD_PPBOM2RETURNMTRL",11), |
| | | PRD_PPBOM3(8, "生产用料清单-生产退料单","PRD_PPBOM","FQty","生产退料单","PRD_ReturnMtrl",1,"PRD_PPBOM2RETURNMTRL",11), |
| | | |
| | | PRD_MO(9, "生产订单-生产入库单","PRD_MO","","生产入库单","PRD_INSTOCK",1,"PRD_MO2INSTOCK",0), |
| | | PRD_MO(9, "生产订单-生产入库单","PRD_MO","FRealQty","生产入库单","PRD_INSTOCK",1,"PRD_MO2INSTOCK",0), |
| | | |
| | | PRD_MORPT(10, "生产汇报单-生产入库单","PRD_MORPT","","生产入库单","PRD_INSTOCK",1,"PRD_MORPT2INSTOCK",0), |
| | | PRD_MORPT(10, "生产汇报单-生产入库单","PRD_MORPT","FRealQty","生产入库单","PRD_INSTOCK",1,"PRD_MORPT2INSTOCK",0), |
| | | |
| | | STK_TRANSFERAPPLY1(11, "直接调拨单","STK_TRANSFERAPPLY","","直接调拨单","STK_TransferDirect",0,"StkTransferApply-StkTransferDirect",10), |
| | | //下面数量字段没有校验 |
| | | |
| | | STK_OUTSTOCKAPPLY(12, "研发领料出库申请单-研发领料出库单","STK_OUTSTOCKAPPLY","","研发领料出库单","",0,"STK_OutstockApplyTosTK_MisDelivery",0), |
| | | STK_TRANSFERAPPLY1(11, "直接调拨单","STK_TRANSFERAPPLY","FQty","直接调拨单","STK_TransferDirect",0,"StkTransferApply-StkTransferDirect",10), |
| | | |
| | | STK_OUTSTOCKAPPLY(12, "研发领料出库申请单-研发领料出库单","STK_OUTSTOCKAPPLY","FQty","研发领料出库单","",0,"STK_OutstockApplyTosTK_MisDelivery",0), |
| | | |
| | | STK_ASSEMBLY1(13, "组装拆卸单1","STK_ASSEMBLY","","","",1,"",10), |
| | | |
| | |
| | | loginaddress: K3CLOUD/Kingdee.BOS.WebApi.ServicesStub.AuthService.ValidateUser.common.kdsvc |
| | | #单据,商品档案地址 |
| | | inaddress: K3CLOUD/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.ExecuteBillQuery.common.kdsvc |
| | | #单据下推地址 |
| | | #1.单据下推地址 |
| | | pushDowmAudit: K3cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Push.common.kdsvc |
| | | #结果上报(保存)单地址 |
| | | #2.结果上报(保存)单地址 |
| | | outaddressSave: K3CLOUD/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save.common.kdsvc |
| | | #结果上报(提交)单地址 |
| | | #3.查询接口调用地址 |
| | | executeBillQuery: K3CLOUD/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.ExecuteBillQuery.common.kdsvc |
| | | #4.结果上报(提交)单地址 |
| | | outaddressSubmit: K3Cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit.common.kdsvc |
| | | #结果上报(审核)单地址 |
| | | #5.结果上报(审核)单地址 |
| | | outaddressAudit: K3CLOUD/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit.common.kdsvc |
| | | # 登录账号管理 |
| | | login : |
| | |
| | | and status = 1 |
| | | order by update_time asc |
| | | </select> |
| | | |
| | | <select id="selectCompleteMome4" resultMap="BaseResultMap"> |
| | | select top 5 * |
| | | from man_order |
| | | where 1=1 |
| | | and memo = '4' |
| | | and status = 1 |
| | | order by update_time asc |
| | | </select> |
| | | <select id="selectInOrOutOrders" resultMap="BaseResultMap"> |
| | | SELECT * FROM man_order o left join man_doc_type d on o.doc_type = d.doc_id WHERE d.pakin = #{flag} and o.settle in (1,2) |
| | | </select> |