| | |
| | | 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 org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.Set; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * Created by Monkey D. Luffy on 2023.10.21 |
| | |
| | | @Autowired |
| | | private DocTypeService docTypeService; |
| | | @Autowired |
| | | private OrderDetlService orderDetlService; |
| | | @Autowired |
| | | private LoginAuthenticationHandler loginAuthenticationHandler; |
| | | |
| | | @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()); |
| | |
| | | return SUCCESS; |
| | | } |
| | | KingDeeUtilType kingDeeUtilType = KingDeeUtilType.get(docType.getDocName()); |
| | | |
| | | // if (kingDeeUtilType.entryId!=2){ |
| | | // return SUCCESS; |
| | | // } |
| | | Date now = new Date(); |
| | | //条件拼接 |
| | | JSONObject jsonObject = new JSONObject(); |
| | | jsonObject.put("Numbers",order.getOrderNo()); |
| | | JSONObject jsonObject1 = new JSONObject(); |
| | | jsonObject1.put("data", jsonObject); |
| | | jsonObject1.put("FormId",kingDeeUtilType.correspondingFormId); |
| | | String add = jsonObject1.toJSONString(); |
| | | JSONObject jsonObject=new JSONObject(); |
| | | jsonObject.put("FormId",kingDeeUtilType.correspondingFormId); |
| | | |
| | | JSONObject model=new JSONObject(); |
| | | model.put("fid",order.getPostFeeType()); |
| | | |
| | | JSONArray fEntitys = new JSONArray(); |
| | | for (OrderDetl orderDetl : orderDetls) { |
| | | JSONObject fEntity = new JSONObject(); |
| | | fEntity.put("FEntryID",orderDetl.getBeBatch()); |
| | | //完成数量-已上报数量 |
| | | if(orderDetl.getQty().equals(0.0)){ |
| | | fEntity.put(kingDeeUtilType.anfme, orderDetl.getQty()); |
| | | }else{ |
| | | fEntity.put(kingDeeUtilType.anfme, orderDetl.getQty()-orderDetl.getPrice()); // 将"FQty"放到最后 |
| | | } |
| | | fEntitys.add(fEntity); |
| | | } |
| | | 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; |
| | |
| | | .setUri(URL) |
| | | .setPath(outaddressSave) |
| | | .setJson(add) |
| | | .setHttps(true) |
| | | .build() |
| | | .doPost(); |
| | | JSONObject data = JSON.parseObject(response); |
| | | // JSONObject data = JSON.parseObject(response); |
| | | Object IsSuccess = findValueByKey(JSON.parseObject(response), "IsSuccess"); |
| | | String bool=IsSuccess.toString(); |
| | | //保存完成原订单8转6 |
| | | if(bool.equals("true")){ |
| | | success = true; |
| | | order.setSettle(6L); |
| | | orderService.update(order,new EntityWrapper<Order>().eq("order_no",order.getOrderNo())); |
| | | String bool1=IsSuccess.toString(); |
| | | boolean bool = false; |
| | | //保存完成原订单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(); |
| | | //提交完成原订单2转3 3.上报完成 |
| | | if(bool){ |
| | | success = true; |
| | | order.setMemo("3"); |
| | | order.setUpdateTime(new Date()); |
| | | orderService.update(order,new EntityWrapper<Order>().eq("order_no",order.getOrderNo())); |
| | | |
| | | for(OrderDetl orderDetl:orderDetls){ |
| | | orderDetl.setPrice(orderDetl.getQty()); |
| | | orderDetl.setUpdateTime(new Date()); |
| | | 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())); |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | // 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(); |
| | |
| | | try { |
| | | // 保存接口日志 |
| | | apiLogService.save( |
| | | "保存", |
| | | "3.保存", |
| | | URL+ outaddressSave, |
| | | null, |
| | | "127.0.0.1", |