|  |  |  | 
|---|
|  |  |  | import com.baomidou.mybatisplus.mapper.EntityWrapper; | 
|---|
|  |  |  | import com.zy.asrs.entity.DocType; | 
|---|
|  |  |  | import com.zy.asrs.entity.Order; | 
|---|
|  |  |  | import com.zy.asrs.entity.kingdee.*; | 
|---|
|  |  |  | 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.asrs.utils.OrderInAndOutUtil; | 
|---|
|  |  |  | 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.jdbc.core.JdbcTemplate; | 
|---|
|  |  |  | import org.springframework.stereotype.Service; | 
|---|
|  |  |  | import org.springframework.transaction.annotation.Transactional; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | import java.util.Set; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * Created by vincent on 2020/7/7 | 
|---|
|  |  |  | * Created by vincent on 2023/10/21 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Slf4j | 
|---|
|  |  |  | @Service | 
|---|
|  |  |  | 
|---|
|  |  |  | //端口 | 
|---|
|  |  |  | private String URL; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Value("${erp.address.outaddress}") | 
|---|
|  |  |  | @Value("${erp.address.outaddressAudit}") | 
|---|
|  |  |  | //审核地址 | 
|---|
|  |  |  | private String outaddress; | 
|---|
|  |  |  | private String outaddressAudit; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private JdbcTemplate jdbcTemplate; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private OrderService orderService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private OrderDetlService orderDetlService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private ApiLogService apiLogService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | 
|---|
|  |  |  | if (null == docType) { | 
|---|
|  |  |  | return SUCCESS; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | InFormIdParam inFormIdParam = new InFormIdParam(); | 
|---|
|  |  |  | int docId = Long.valueOf(docType.getDocId()).intValue(); | 
|---|
|  |  |  | switch (docId) { | 
|---|
|  |  |  | //采购入库 | 
|---|
|  |  |  | case 13: | 
|---|
|  |  |  | inFormIdParam.setFormId("STK_InStock"); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | //采购退料 | 
|---|
|  |  |  | case 21: | 
|---|
|  |  |  | inFormIdParam.setFormId("PUR_MRB"); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | //生产领料 | 
|---|
|  |  |  | case 22: | 
|---|
|  |  |  | inFormIdParam.setFormId("PRD_PickMtrl"); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | //生产退料 | 
|---|
|  |  |  | case 24: | 
|---|
|  |  |  | inFormIdParam.setFormId("PRD_ReturnMtrl"); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | //生产补料 | 
|---|
|  |  |  | case 25: | 
|---|
|  |  |  | inFormIdParam.setFormId("PRD_FeedMtrl"); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | //直接调拨单 | 
|---|
|  |  |  | case 26: | 
|---|
|  |  |  | inFormIdParam.setFormId("STK_TransferDirect"); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | //盘盈单 | 
|---|
|  |  |  | case 28: | 
|---|
|  |  |  | inFormIdParam.setFormId("STK_StockCountGain"); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | //盘亏单 | 
|---|
|  |  |  | case 29: | 
|---|
|  |  |  | inFormIdParam.setFormId("STK_StockCountLoss"); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | //其他出库 | 
|---|
|  |  |  | case 30: | 
|---|
|  |  |  | inFormIdParam.setFormId("STK_MisDelivery"); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | //简单生产领料 | 
|---|
|  |  |  | case 31: | 
|---|
|  |  |  | inFormIdParam.setFormId("SP_PickMtrl"); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | //简单生产退料 | 
|---|
|  |  |  | case 32: | 
|---|
|  |  |  | inFormIdParam.setFormId("SP_ReturnMtrl"); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | //销售出库 | 
|---|
|  |  |  | case 14: | 
|---|
|  |  |  | inFormIdParam.setFormId("SAL_OUTSTOCK"); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | //销售退货 | 
|---|
|  |  |  | case 33: | 
|---|
|  |  |  | inFormIdParam.setFormId("SAL_RETURNSTOCK"); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | KingDeeUtilType kingDeeUtilType = KingDeeUtilType.get(docType.getDocName()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //条件拼接 | 
|---|
|  |  |  | JSONObject jsonObject = new JSONObject(); | 
|---|
|  |  |  | jsonObject.put("Numbers",order.getOrderNo()); | 
|---|
|  |  |  | JSONObject jsonObject1 = new JSONObject(); | 
|---|
|  |  |  | jsonObject1.put("data", jsonObject); | 
|---|
|  |  |  | jsonObject1.put("FormId",inFormIdParam.getFormId()); | 
|---|
|  |  |  | jsonObject1.put("FormId",kingDeeUtilType.formId); | 
|---|
|  |  |  | String add = jsonObject1.toJSONString(); | 
|---|
|  |  |  | //上报 | 
|---|
|  |  |  | String response = ""; | 
|---|
|  |  |  | 
|---|
|  |  |  | response = new HttpHandler.Builder() | 
|---|
|  |  |  | .setHeaders(headers) | 
|---|
|  |  |  | .setUri(URL) | 
|---|
|  |  |  | .setPath(outaddress) | 
|---|
|  |  |  | .setPath(outaddressAudit) | 
|---|
|  |  |  | .setJson(add) | 
|---|
|  |  |  | .build() | 
|---|
|  |  |  | .doPost(); | 
|---|
|  |  |  | JSONObject data = JSON.parseObject(response); | 
|---|
|  |  |  | Object IsSuccess = findValueByKey(JSON.parseObject(response), "IsSuccess"); | 
|---|
|  |  |  | String bool=IsSuccess.toString(); | 
|---|
|  |  |  | //上报完成订单4转6 | 
|---|
|  |  |  | //审核完成原订单4转8  8.审核完成 | 
|---|
|  |  |  | if(bool.equals("true")){ | 
|---|
|  |  |  | success = true; | 
|---|
|  |  |  | order.setSettle(6L); | 
|---|
|  |  |  | orderService.update(order,new EntityWrapper<Order>().eq("order_no",order.getOrderNo())); | 
|---|
|  |  |  | order.setSettle(8L); | 
|---|
|  |  |  | //                orderService.update(order,new EntityWrapper<Order>().eq("order_no",order.getOrderNo())); | 
|---|
|  |  |  | OrderInAndOutUtil.updateOrder(order.getPakinPakoutStatus$(),order.getId(), 8L, null); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } catch (Exception e) { | 
|---|
|  |  |  | log.error("fail", e); | 
|---|
|  |  |  | 
|---|
|  |  |  | // 保存接口日志 | 
|---|
|  |  |  | apiLogService.save( | 
|---|
|  |  |  | "审核", | 
|---|
|  |  |  | URL+ outaddress, | 
|---|
|  |  |  | URL+ outaddressAudit, | 
|---|
|  |  |  | null, | 
|---|
|  |  |  | "127.0.0.1", | 
|---|
|  |  |  | add, | 
|---|