| | |
| | | private String shipName; |
| | | |
| | | /** |
| | | * 物流单号 |
| | | * 下推订单编号 |
| | | */ |
| | | @ApiModelProperty(value= "物流单号") |
| | | @ApiModelProperty(value= "下推订单编号") |
| | | @TableField("ship_code") |
| | | private String shipCode; |
| | | |
| | |
| | | private Date updateTime; |
| | | |
| | | /** |
| | | * 备注 |
| | | * 备注-上报状态 |
| | | * 0.待上报 |
| | | * 1.下推完成 |
| | | * 2.提交完成 |
| | | * 3.审核完成 |
| | | */ |
| | | @ApiModelProperty(value= "备注") |
| | | private String memo; |
| | |
| | | private Double weight; |
| | | |
| | | /** |
| | | * 长度 |
| | | * 已上报数量 |
| | | */ |
| | | @ApiModelProperty(value= "长度") |
| | | @ApiModelProperty(value= "已上报数量") |
| | | private Double length; |
| | | |
| | | /** |
| | |
| | | int updateSettle(@Param("orderId")Long orderId, @Param("settle")Long settle, @Param("userId")Long userId); |
| | | |
| | | List<Order> selectComplete(); |
| | | List<Order> selectCompleteSave(); |
| | | List<Order> selectComplete1(); |
| | | List<Order> selectComplete2(); |
| | | |
| | | List<Order> selectCompleteMome0(); |
| | | List<Order> selectCompleteMome1(); |
| | | List<Order> selectCompleteMome2(); |
| | | List<Order> selectCompleteMome3(); |
| | | int addToLogTable(Order order); |
| | | |
| | | Integer checkDetlWorkQtyLess0(@Param("orderNo") String orderNo); |
| | |
| | | |
| | | void remove(Long orderId); |
| | | |
| | | //完成 |
| | | //下推 |
| | | List<Order> selectComplete(); |
| | | //保存 |
| | | List<Order> selectComplete1(); |
| | | List<Order> selectCompleteSave(); |
| | | //提交 |
| | | List<Order> selectComplete1(); |
| | | //审核 |
| | | List<Order> selectCompletemEmo0(); |
| | | |
| | | List<Order> selectCompletemEmo1(); |
| | | |
| | | List<Order> selectCompletemEmo2(); |
| | | |
| | | List<Order> selectCompletemEmo3(); |
| | | |
| | | List<Order> selectComplete2(); |
| | | |
| | | |
| | | boolean addToLogTable(Order order); |
| | | |
| | | void BackToInit(String orderNo); |
| | |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Collections; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | |
| | |
| | | orderDetlService.updateById(orderDetl); |
| | | } |
| | | } |
| | | order.setMemo("0"); |
| | | if (!this.updateSettle(order.getId(), 4L, null)) { |
| | | throw new CoolException("修改订单【orderNo = " + order.getOrderNo() + "】状态为已完成失败"); |
| | | } |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<Order> selectCompleteSave() { |
| | | return this.baseMapper.selectCompleteSave(); |
| | | } |
| | | |
| | | @Override |
| | | public List<Order> selectComplete1() { |
| | | return this.baseMapper.selectComplete1(); |
| | | } |
| | | |
| | | @Override |
| | | public List<Order> selectCompletemEmo0() { |
| | | return this.baseMapper.selectCompleteMome0(); |
| | | } |
| | | |
| | | @Override |
| | | public List<Order> selectCompletemEmo1() { |
| | | return this.baseMapper.selectCompleteMome1(); |
| | | } |
| | | |
| | | @Override |
| | | public List<Order> selectCompletemEmo2() { |
| | | return this.baseMapper.selectCompleteMome2(); |
| | | } |
| | | |
| | | @Override |
| | | public List<Order> selectCompletemEmo3() { |
| | | return this.baseMapper.selectCompleteMome3(); |
| | | } |
| | | |
| | | @Override |
| | |
| | | |
| | | @Override |
| | | public List<Order> selectToBeHistoryOrder(boolean isERP) { |
| | | int settle = isERP ? 7 : 4; |
| | | int settle = isERP ? 8 : 4; |
| | | return this.baseMapper.selectToBeHistoryOrder(settle); |
| | | } |
| | | |
| | |
| | | /** |
| | | * 将已完成order和orderDetl移动到log表 |
| | | */ |
| | | @Scheduled(cron = "0/30 * * * * ?") |
| | | // @Scheduled(cron = "0/30 * * * * ?") |
| | | public void execute(){ |
| | | orderMoveHistoryHandler.start(); |
| | | } |
| | |
| | | if(!PushDowmOrderSwitch){ |
| | | return; |
| | | } |
| | | List<Order> orders = orderService.selectComplete(); |
| | | List<Order> orders = orderService.selectCompletemEmo0(); |
| | | for (Order order : orders) { |
| | | try{ |
| | | ReturnT<String> result = pushDowmOrderSyncHandler.start(order); |
| | |
| | | if(!ReviewOrderSwitch){ |
| | | return; |
| | | } |
| | | List<Order> orders = orderService.selectComplete2(); |
| | | List<Order> orders = orderService.selectCompletemEmo3(); |
| | | for (Order order : orders) { |
| | | try{ |
| | | ReturnT<String> result = reviewOrderSyncHandler.start(order); |
| | |
| | | package com.zy.asrs.task.kingdee; |
| | | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.zy.asrs.entity.Order; |
| | | import com.zy.asrs.service.OrderService; |
| | | import com.zy.asrs.task.core.ReturnT; |
| | |
| | | if(!SaveOrderSwitch){ |
| | | return; |
| | | } |
| | | List<Order> orders = orderService.selectComplete(); |
| | | List<Order> orders = orderService.selectCompletemEmo1(); |
| | | for (Order order : orders) { |
| | | try{ |
| | | ReturnT<String> result = saveOrderSyncHandler.start(order); |
| | | if (!result.isSuccess()) { |
| | | log.error("单据[orderNo={}]保存至erp失败", order.getOrderNo()); |
| | | if(order.getSettle()==4){ |
| | | order.setMemo("2"); |
| | | order.setUpdateTime(new Date()); |
| | | orderService.update(order,new EntityWrapper<Order>().eq("order_no",order.getOrderNo())); |
| | | }else{ |
| | | ReturnT<String> result = saveOrderSyncHandler.start(order); |
| | | if (!result.isSuccess()) { |
| | | log.error("单据[orderNo={}]保存至erp失败", order.getOrderNo()); |
| | | } |
| | | } |
| | | }catch (Exception e){ |
| | | Order order1 = orderService.selectById(order.getId()); |
| | |
| | | if(!SubmitOrderSwitch){ |
| | | return; |
| | | } |
| | | List<Order> orders = orderService.selectComplete1(); |
| | | List<Order> orders = orderService.selectCompletemEmo2(); |
| | | for (Order order : orders) { |
| | | try{ |
| | | ReturnT<String> result = submitOrderSyncHandler.start(order); |
| | |
| | | } |
| | | KingDeeUtilType kingDeeUtilType = KingDeeUtilType.get(docType.getDocName()); |
| | | |
| | | if (kingDeeUtilType.entryId>1){ |
| | | Order order1 = orderService.selectById(order.getId()); |
| | | order1.setUpdateTime(new Date()); |
| | | orderService.updateById(order1); |
| | | return SUCCESS; |
| | | } |
| | | // if (kingDeeUtilType.entryId>1){ |
| | | // Order order1 = orderService.selectById(order.getId()); |
| | | // order1.setUpdateTime(new Date()); |
| | | // orderService.updateById(order1); |
| | | // return SUCCESS; |
| | | // } |
| | | //条件拼接 |
| | | log.info("条件拼接"); |
| | | String entryIds = null; |
| | |
| | | JsonNode rootNode = objectMapper.readTree(response); |
| | | bool = rootNode.get("Result").get("ResponseStatus").get("IsSuccess").asBoolean(); |
| | | |
| | | //下推完成原订单4转6 6.上报完成 |
| | | //下推完成原订单0转1 1.下推完成 |
| | | if(bool){ |
| | | //获取下推订单号 |
| | | String number=rootNode.get("Result").get("ResponseStatus").get("SuccessEntitys").get(0).get("Number").asText(); |
| | | success = true; |
| | | order.setSettle(6L); |
| | | // order.setSettle(6L); |
| | | order.setMemo("1"); |
| | | order.setShipCode(number);//下推订单号 |
| | | 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.info("下推error:"+response); |
| | | log.error("fail", e); |
| | |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.core.common.Cools; |
| | | 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.entity.WrkDetl; |
| | | import com.zy.asrs.mapper.OrderDetlMapper; |
| | | import com.zy.asrs.service.ApiLogService; |
| | | import com.zy.asrs.service.DocTypeService; |
| | | import com.zy.asrs.service.OrderService; |
| | |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.util.Date; |
| | | import java.util.HashMap; |
| | | import java.util.Set; |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * Created by vincent on 2023/10/21 |
| | |
| | | private DocTypeService docTypeService; |
| | | @Autowired |
| | | private LoginAuthenticationHandler loginAuthenticationHandler; |
| | | @Autowired |
| | | private OrderDetlMapper orderDetlMapper; |
| | | |
| | | @Transactional |
| | | public ReturnT<String> start(Order order) { |
| | |
| | | |
| | | //条件拼接 |
| | | JSONObject dataJsonObject = new JSONObject(); |
| | | dataJsonObject.put("Numbers",order.getOrderNo()); |
| | | dataJsonObject.put("Numbers", "CGTL10124120003"); |
| | | |
| | | JSONObject jsonObject = new JSONObject(); |
| | | jsonObject.put("data", dataJsonObject); |
| | | jsonObject.put("FormId",kingDeeUtilType.formId); |
| | | jsonObject.put("FormId", kingDeeUtilType.ruleId); |
| | | String add = jsonObject.toJSONString(); |
| | | //上报 |
| | | String response = ""; |
| | |
| | | .doPost(); |
| | | JSONObject data = JSON.parseObject(response); |
| | | Object IsSuccess = findValueByKey(JSON.parseObject(response), "IsSuccess"); |
| | | String bool1=IsSuccess.toString(); |
| | | String bool1 = IsSuccess.toString(); |
| | | |
| | | if(bool1.equals("true")){ |
| | | ObjectMapper objectMapper = new ObjectMapper(); |
| | | if (bool1.equals("true")) { |
| | | ObjectMapper objectMapper = new ObjectMapper(); |
| | | JsonNode rootNode = objectMapper.readTree(response); |
| | | boolean bool = rootNode.get("Result").get("ResponseStatus").get("IsSuccess").asBoolean(); |
| | | log.info("审核bool:"+bool); |
| | | //审核完成原订单6转7 7.审核完成 |
| | | if(bool){ |
| | | log.info("审核bool:" + bool); |
| | | //审核完成原订单2转3 3.审核完成 |
| | | if (bool) { |
| | | success = true; |
| | | order.setSettle(10L); |
| | | order.setMemo("3");//审核完成 |
| | | order.setUpdateTime(new Date()); |
| | | orderService.update(order,new EntityWrapper<Order>().eq("order_no",order.getOrderNo())); |
| | | |
| | | |
| | | //判断订单是否已经全部做完 |
| | | List<OrderDetl> orderDetls = orderDetlMapper.selectList(new EntityWrapper<OrderDetl>().eq("order_id", order.getId())); |
| | | boolean complete = true; |
| | | for (OrderDetl orderDetl : orderDetls) { |
| | | if (orderDetl.getAnfme() > orderDetl.getQty()) { |
| | | complete = false; |
| | | break; |
| | | } |
| | | } |
| | | if(complete){ |
| | | order.setSettle(8L); |
| | | } |
| | | orderService.update(order, new EntityWrapper<Order>().eq("order_no", order.getOrderNo())); |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | |
| | | try { |
| | | // 保存接口日志 |
| | | apiLogService.save( |
| | | "审核", |
| | | URL+ outaddressAudit, |
| | | " 审核", |
| | | URL + outaddressAudit, |
| | | null, |
| | | "127.0.0.1", |
| | | add, |
| | |
| | | } |
| | | return SUCCESS; |
| | | } |
| | | |
| | | public static Object findValueByKey(JSONObject json, String key) { |
| | | Set<String> keySet = json.keySet(); |
| | | for (String k : keySet) { |
| | |
| | | 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){ |
| | | if (result != null) { |
| | | return result; |
| | | } |
| | | } |
| | | } else if (v instanceof JSONObject){ |
| | | } else if (v instanceof JSONObject) { |
| | | Object result = findValueByKey((JSONObject) v, key); |
| | | if (result != null){ |
| | | if (result != null) { |
| | | return result; |
| | | } |
| | | } |
| | |
| | | return SUCCESS; |
| | | } |
| | | KingDeeUtilType kingDeeUtilType = KingDeeUtilType.get(docType.getDocName()); |
| | | if (kingDeeUtilType.entryId!=2){ |
| | | return SUCCESS; |
| | | } |
| | | // if (kingDeeUtilType.entryId!=2){ |
| | | // return SUCCESS; |
| | | // } |
| | | Date now = new Date(); |
| | | //条件拼接 |
| | | JSONObject jsonObjectFBillTypeID = new JSONObject(); |
| | | JSONObject jsonObjectFPickerId = new JSONObject(); |
| | | if (kingDeeUtilType.pakIn==1){ |
| | | jsonObjectFBillTypeID.put("FNUMBER","QTRKD01_SYS"); |
| | | jsonObjectFBillTypeID.put("FNUMBER","TLD01_SYS"); |
| | | }else { |
| | | jsonObjectFBillTypeID.put("FNUMBER","QTCKD01_SYS"); |
| | | jsonObjectFBillTypeID.put("FNUMBER","TLD01_SYS"); |
| | | jsonObjectFPickerId.put("FStaffNumber","X0103_GLGW074_1"); |
| | | } |
| | | |
| | |
| | | Object IsSuccess = findValueByKey(JSON.parseObject(response), "IsSuccess"); |
| | | String bool1=IsSuccess.toString(); |
| | | boolean bool = false; |
| | | //保存完成原订单4转5 6.保存完成 |
| | | //保存完成原订单5转6 6.保存完成 |
| | | 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); |
| | | //提交完成原订单4转6 6.上报完成 |
| | | log.info("保存bool:"+bool); |
| | | //提交完成原订单5转6 6.上报完成 |
| | | if(bool){ |
| | | success = true; |
| | | order.setSettle(6L); |
| | |
| | | } |
| | | } |
| | | |
| | | if (!bool1.equals("true") || !bool){ |
| | | order.setSettle(7L); |
| | | 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); |
| | |
| | | return SUCCESS; |
| | | } |
| | | KingDeeUtilType kingDeeUtilType = KingDeeUtilType.get(docType.getDocName()); |
| | | if (kingDeeUtilType.entryId!=2){ |
| | | return SUCCESS; |
| | | } |
| | | // if (kingDeeUtilType.entryId!=2){ |
| | | // return SUCCESS; |
| | | // } |
| | | //条件拼接 |
| | | JSONObject jsonObject = new JSONObject(); |
| | | jsonObject.put("Numbers",order.getOrderNo()); |
| | | // jsonObject.put("Ids","100083"); |
| | | jsonObject.put("Numbers", order.getOrderNo()); |
| | | JSONObject jsonObject1 = new JSONObject(); |
| | | jsonObject1.put("data", jsonObject); |
| | | jsonObject1.put("FormId",kingDeeUtilType.correspondingFormId); |
| | | jsonObject1.put("FormId",kingDeeUtilType.ruleId); |
| | | String add = jsonObject1.toJSONString(); |
| | | //上报 |
| | | String response = ""; |
| | |
| | | // JSONObject data = JSON.parseObject(response); |
| | | Object IsSuccess = findValueByKey(JSON.parseObject(response), "IsSuccess"); |
| | | String bool1=IsSuccess.toString(); |
| | | //提交完成原订单8转6 |
| | | //提交完成原订单6转7 |
| | | if(bool1.equals("true")){ |
| | | ObjectMapper objectMapper = new ObjectMapper(); |
| | | JsonNode rootNode = objectMapper.readTree(response); |
| | | boolean bool = rootNode.get("Result").get("ResponseStatus").get("IsSuccess").asBoolean(); |
| | | log.info("审核bool:"+bool); |
| | | //提交完成原订单5转6 6.提交完成 |
| | | //提交完成原订单1转2 2.提交完成 |
| | | if(bool){ |
| | | success = true; |
| | | order.setSettle(5L); |
| | | // order.setSettle(7L); |
| | | order.setMemo("2"); |
| | | order.setUpdateTime(new Date()); |
| | | orderService.update(order,new EntityWrapper<Order>().eq("order_no",order.getOrderNo())); |
| | | } |
| | |
| | | /* |
| | | * 退货通知单至销售退货单单据唯一标识:一级:SalReturnNotice-SalReturnstock 二级:a0ab8e5c-5224-4ba2-b31f-b061e64aa1a2 |
| | | * */ |
| | | SAL_RETURNNOTICE(3, "退货通知单-销售退货单","SAL_RETURNNOTICE","","销售退货单","SAL_RETURNSTOCK",0,"SalReturnNotice-SalReturnstock",0), |
| | | SAL_RETURNNOTICE(3, "退货通知单-销售退货单","SAL_RETURNNOTICE","","销售退货单","SAL_RETURNSTOCK",1,"SalReturnNotice-SalReturnstock",0), |
| | | /* |
| | | * 采购收料单至采购入库单唯一标识:一级:PUR_ReceiveBill-STK_InStock 二级:b60e30ca-634c-4f92-b874-db9837496705 |
| | | * */ |
| | |
| | | /* |
| | | * 退料申请单至采购退料单单据唯一标识:PUR_MRAPP-PUR_MRB |
| | | * */ |
| | | PUR_MRAPP(5, "退料申请单-采购退料单","PUR_MRAPP","","采购退料单","PUR_MRB",1,"PUR_MRAPP-PUR_MRB",0), |
| | | PUR_MRAPP(5, "退料申请单-采购退料单","PUR_MRAPP","","采购退料单","TLD01_SYS",1,"PUR_MRB",0), |
| | | /* |
| | | * 生产用料清单到生产领料单唯一标识:一级:PRD_PPBOM2PICKMTRL_NORMAL 二级:3539ff08-0c46-435d-a8cd-b6308b0b57b5 |
| | | * */ |
| | |
| | | ReviewOrderSwitch: true |
| | | #2提交单据开关 |
| | | SaveOrderSwitch: true |
| | | #1保存 |
| | | SubmitOrderSwitch: false |
| | | #提交 |
| | | SubmitOrderSwitch: true |
| | | #下推单据开关 |
| | | PushDowmOrderSwitch: true |
| | | # 地址 |
| | |
| | | pushDowmAudit: K3cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Push.common.kdsvc |
| | | #结果上报(保存)单地址 |
| | | outaddressSave: K3CLOUD/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save.common.kdsvc |
| | | #结果上报(提交)单地址 米多无用 |
| | | #结果上报(提交)单地址 |
| | | outaddressSubmit: K3Cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit.common.kdsvc |
| | | #结果上报(审核)单地址 米多无用 |
| | | #结果上报(审核)单地址 |
| | | outaddressAudit: K3CLOUD/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit.common.kdsvc |
| | | # 登录账号管理 |
| | | login : |
| | |
| | | order by update_time asc |
| | | </select> |
| | | |
| | | <select id="selectComplete1" resultMap="BaseResultMap"> |
| | | <select id="selectCompleteSave" resultMap="BaseResultMap"> |
| | | select top 5 * |
| | | from man_order |
| | | where 1=1 |
| | | and settle = 5 |
| | | and status = 1 |
| | | and settle = 5 |
| | | and status = 1 |
| | | order by update_time asc |
| | | </select> |
| | | |
| | | <select id="selectComplete2" resultMap="BaseResultMap"> |
| | | <select id="selectComplete1" resultMap="BaseResultMap"> |
| | | select top 5 * |
| | | from man_order |
| | | where 1=1 |
| | |
| | | order by update_time asc |
| | | </select> |
| | | |
| | | <select id="selectComplete2" resultMap="BaseResultMap"> |
| | | select top 5 * |
| | | from man_order |
| | | where 1=1 |
| | | and settle = 7 |
| | | and status = 1 |
| | | order by update_time asc |
| | | </select> |
| | | |
| | | <select id="selectCompleteMome0" resultMap="BaseResultMap"> |
| | | select top 5 * |
| | | from man_order |
| | | where 1=1 |
| | | and memo = '0' |
| | | and status = 1 |
| | | order by update_time asc |
| | | </select> |
| | | |
| | | <select id="selectCompleteMome1" resultMap="BaseResultMap"> |
| | | select top 5 * |
| | | from man_order |
| | | where 1=1 |
| | | and memo = '1' |
| | | and status = 1 |
| | | order by update_time asc |
| | | </select> |
| | | |
| | | <select id="selectCompleteMome2" resultMap="BaseResultMap"> |
| | | select top 5 * |
| | | from man_order |
| | | where 1=1 |
| | | and memo = '2' |
| | | and status = 1 |
| | | order by update_time asc |
| | | </select> |
| | | |
| | | <select id="selectCompleteMome3" resultMap="BaseResultMap"> |
| | | select top 5 * |
| | | from man_order |
| | | where 1=1 |
| | | and memo = '3' |
| | | 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> |