mes-plan/src/main/java/com/chinaztt/mes/plan/controller/CustomerController.java
@@ -19,9 +19,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.chinaztt.mes.common.wrapper.QueryWrapperUtil; import com.chinaztt.mes.plan.dto.CustomerDTO; import com.chinaztt.mes.plan.entity.Customer; import com.chinaztt.mes.plan.service.CustomerService; import com.chinaztt.mes.plan.vo.CustomerVO; import com.chinaztt.ztt.common.core.util.R; import com.chinaztt.ztt.common.log.annotation.SysLog; import io.swagger.annotations.Api; @@ -73,14 +73,14 @@ /** * æ°å¢å®¢æ·è®¢å主表 * * @param customerDTO 客æ·è®¢å主表 * @param @RequestBody CustomerVO customerVO 客æ·è®¢å主表 * @return R */ @ApiOperation(value = "æ°å¢å®¢æ·è®¢å主表", notes = "æ°å¢å®¢æ·è®¢å主表") @SysLog("æ°å¢å®¢æ·è®¢å主表") @PostMapping public R save(@RequestBody CustomerDTO customerDTO) { return R.ok(customerService.saveDto(customerDTO)); public R save(@RequestBody CustomerVO customerVO) { return R.ok(customerService.saveDto(customerVO)); } /** mes-plan/src/main/java/com/chinaztt/mes/plan/entity/Customer.java
@@ -17,6 +17,8 @@ package com.chinaztt.mes.plan.entity; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; @@ -38,94 +40,94 @@ @EqualsAndHashCode(callSuper = true) @ApiModel(value = "客æ·è®¢å主表") public class Customer extends Model<Customer> { private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L; /** * id */ @TableId @ApiModelProperty(value="id") private Long id; /** * ååå· */ @ApiModelProperty(value="ååå·") private String contractNo; /** * 客æ·ååå· */ @ApiModelProperty(value="客æ·ååå·") private String customerContractNo; /** * 客æ·åç§° */ @ApiModelProperty(value="客æ·åç§°") private String customerName; /** * å·¥ç¨åç§° */ @ApiModelProperty(value="å·¥ç¨åç§°") private String entityName; /** * äº¤è´§æ¥æ */ @ApiModelProperty(value="äº¤è´§æ¥æ") private LocalDateTime deliveryDate; /** * äºä¸é¨ */ @ApiModelProperty(value="äºä¸é¨") private String salesDepartment; /** * ç份 */ @ApiModelProperty(value="ç份") private String province; /** * ä¸å¡å */ @ApiModelProperty(value="ä¸å¡å") private String salesMan; /** * ä¸å¡åç¼å· */ @ApiModelProperty(value="ä¸å¡åç¼å·") private String salerWorkCode; /** * æ£æ¬ç¶æ */ @ApiModelProperty(value="æ£æ¬ç¶æ") private String originalContractStatus; /** * é¡¹ç®æ§è´¨ */ @ApiModelProperty(value="é¡¹ç®æ§è´¨") private String isCp; /** * 客æ·ç¼ç */ @ApiModelProperty(value="客æ·ç¼ç ") private String customerNo; /** * å忣æ¬ç¶æ */ @ApiModelProperty(value="å忣æ¬ç¶æ") private String returnStatus; /** * ä¸åæ¥æ */ @ApiModelProperty(value="ä¸åæ¥æ") private LocalDateTime placeOrderDate; /** * å®¡æ ¸æ¥æ */ @ApiModelProperty(value="å®¡æ ¸æ¥æ") private LocalDateTime verifyDate; /** * å·¥åä¸åæ¥æ */ @ApiModelProperty(value="å·¥åä¸åæ¥æ") private LocalDateTime factoryPlaceOrderDate; /** * id */ @TableId @ApiModelProperty(value="id") private Long id; /** * ååå· */ @ApiModelProperty(value="ååå·") private String contractNo; /** * 客æ·ååå· */ @ApiModelProperty(value="客æ·ååå·") private String customerContractNo; /** * 客æ·åç§° */ @ApiModelProperty(value="客æ·åç§°") private String customerName; /** * å·¥ç¨åç§° */ @ApiModelProperty(value="å·¥ç¨åç§°") private String entityName; /** * äº¤è´§æ¥æ */ @ApiModelProperty(value="äº¤è´§æ¥æ") private LocalDateTime deliveryDate; /** * äºä¸é¨ */ @ApiModelProperty(value="äºä¸é¨") private String salesDepartment; /** * ç份 */ @ApiModelProperty(value="ç份") private String province; /** * ä¸å¡å */ @ApiModelProperty(value="ä¸å¡å") private String salesMan; /** * ä¸å¡åç¼å· */ @ApiModelProperty(value="ä¸å¡åç¼å·") private String salerWorkCode; /** * æ£æ¬ç¶æ */ @ApiModelProperty(value="æ£æ¬ç¶æ") private String originalContractStatus; /** * é¡¹ç®æ§è´¨ */ @ApiModelProperty(value="é¡¹ç®æ§è´¨") private String isCp; /** * 客æ·ç¼ç */ @ApiModelProperty(value="客æ·ç¼ç ") private String customerNo; /** * å忣æ¬ç¶æ */ @ApiModelProperty(value="å忣æ¬ç¶æ") private String returnStatus; /** * ä¸åæ¥æ */ @ApiModelProperty(value="ä¸åæ¥æ") private LocalDateTime placeOrderDate; /** * å®¡æ ¸æ¥æ */ @ApiModelProperty(value="å®¡æ ¸æ¥æ") private LocalDateTime verifyDate; /** * å·¥åä¸åæ¥æ */ @ApiModelProperty(value="å·¥åä¸åæ¥æ") private LocalDateTime factoryPlaceOrderDate; /** * 夿³¨ @@ -133,6 +135,30 @@ @ApiModelProperty(value="夿³¨") private String comment; @ApiModelProperty(value="otcId") private Long otcPullId; /** * å建æ¶é´ */ @TableField(fill = FieldFill.INSERT) @ApiModelProperty(value = "å建æ¶é´") private LocalDateTime createTime; /** * æ´æ°æ¶é´ */ @TableField(fill = FieldFill.INSERT_UPDATE) @ApiModelProperty(value = "æ´æ°æ¶é´") private LocalDateTime updateTime; /** * å建人 */ @TableField(fill = FieldFill.INSERT) @ApiModelProperty(value = "å建人") private String createUser; /** * æ´æ°äºº */ @TableField(fill = FieldFill.INSERT_UPDATE) @ApiModelProperty(value = "æ´æ°äºº") private String updateUser; } mes-plan/src/main/java/com/chinaztt/mes/plan/entity/CustomerOrder.java
@@ -17,9 +17,11 @@ package com.chinaztt.mes.plan.entity; import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; import com.sun.org.apache.xpath.internal.operations.Bool; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -107,9 +109,9 @@ @ApiModelProperty(value = "é¶ä»¶å·ï¼ç¨äºç产çé¶ä»¶å·") private String partNo; /** * åºåæ°é * æ°é */ @ApiModelProperty(value = "åºåæ°é") @ApiModelProperty(value = "æ°é") private BigDecimal buyQtyDue; /** * OTCé宿°é @@ -363,9 +365,9 @@ @ApiModelProperty(value = "é¶ä»¶æ¯å¦æ¨é") private Boolean otcPartSync; /** * 产ååç±» * 产åç±»å */ @ApiModelProperty(value = "产ååç±»") @ApiModelProperty(value = "产åç±»å") private String productType; /** * 产ååç» @@ -407,5 +409,11 @@ */ @ApiModelProperty(value = "éååå ") private String returnReason; /** * 项ç®åç§° */ @ApiModelProperty(value="项ç®åç§°") private String entityName; } mes-plan/src/main/java/com/chinaztt/mes/plan/mapper/CustomerOrderMapper.java
@@ -31,10 +31,9 @@ * * @param page * @param planCustomerOrder * @param type * @return */ IPage<List<CustomerOrderDTO>> getCustomerOrderPage(Page page, @Param("ew") QueryWrapper<CustomerOrder> planCustomerOrder, @Param("type") String type); IPage<List<CustomerOrderDTO>> getCustomerOrderPage(Page page, @Param("ew") QueryWrapper<CustomerOrder> planCustomerOrder); /** * è·å客æ·è®¢ååç»å®ç订ååæ° mes-plan/src/main/java/com/chinaztt/mes/plan/service/CustomerOrderService.java
@@ -26,6 +26,7 @@ import com.chinaztt.mes.plan.entity.CustomerOrderForJointStockCompany; import com.chinaztt.mes.plan.entity.MasterProductionSchedule; import com.chinaztt.mes.plan.entity.ProcessConfigFileOrderMapping; import com.chinaztt.mes.plan.vo.CustomerOrderVO1; import com.chinaztt.mes.quality.dto.CustomOrderSyncDTO; import com.chinaztt.mes.technology.entity.Document; import com.chinaztt.mes.warehouse.dto.PackagingDTO; @@ -141,7 +142,7 @@ * @param id * @return */ CustomerOrderDTO getCustomerOrderById(Long id); CustomerOrderVO1 getCustomerOrderById(Long id); /** * 订åè¡å ³èå·¥èºæä»¶ mes-plan/src/main/java/com/chinaztt/mes/plan/service/CustomerService.java
@@ -18,10 +18,8 @@ package com.chinaztt.mes.plan.service; import com.baomidou.mybatisplus.extension.service.IService; import com.chinaztt.mes.plan.dto.CustomerDTO; import com.chinaztt.mes.plan.dto.CustomerOrderDTO; import com.chinaztt.mes.plan.entity.Customer; import com.chinaztt.mes.plan.entity.CustomerOrder; import com.chinaztt.mes.plan.vo.CustomerVO; /** * 客æ·è®¢å主表 @@ -31,7 +29,7 @@ */ public interface CustomerService extends IService<Customer> { boolean saveDto(CustomerDTO customerDTO); boolean saveDto(CustomerVO customerVO); String contractNoMake(); } mes-plan/src/main/java/com/chinaztt/mes/plan/service/impl/CustomerOrderServiceImpl.java
@@ -28,6 +28,7 @@ import com.chinaztt.mes.basic.entity.Part; import com.chinaztt.mes.basic.mapper.PartMapper; import com.chinaztt.mes.basic.mapper.StaffMapper; import com.chinaztt.mes.basic.mapper.UserServiceMapper; import com.chinaztt.mes.basic.util.RedisUtils; import com.chinaztt.mes.common.handler.StateMachineHandler; import com.chinaztt.mes.common.numgen.NumberGenerator; @@ -50,6 +51,7 @@ import com.chinaztt.mes.plan.util.CustomerOrderClientConfigure; import com.chinaztt.mes.plan.util.CustomerOrderUnitWhiteListConfig; import com.chinaztt.mes.plan.util.CustomerOrderUtil; import com.chinaztt.mes.plan.vo.CustomerOrderVO1; import com.chinaztt.mes.quality.dto.CustomOrderSyncDTO; import com.chinaztt.mes.technology.entity.*; import com.chinaztt.mes.technology.mapper.*; @@ -176,6 +178,7 @@ private WechatProperty wechatProperty; private UserServiceMapper userServiceMapper; private final OssProperties ossProperties; private final OssTemplate minioTemplate; @@ -208,9 +211,12 @@ @Override public IPage getCustomerOrderPage(Page page, QueryWrapper<CustomerOrder> planCustomerOrder, String type) { IPage iPage = baseMapper.getCustomerOrderPage(page, planCustomerOrder, type); return iPage; //ZttUser currentUser = SecurityUtils.getUser(); ////è·ååå·¥id //Long staffId = userServiceMapper.selectById(currentUser.getId()).getStaffId(); return customerOrderMapper.getCustomerOrderPage(page, planCustomerOrder); } @Override public boolean changeMarkPlanned(List<Long> ids, String coState) { @@ -322,39 +328,25 @@ @Override public CustomerOrderDTO getCustomerOrderById(Long id) { CustomerOrder newCustomerOrder = baseMapper.selectById(id); Customer customer = customerMapper.selectById(newCustomerOrder.getCustomerId()); CustomerOrderDTO customerOrderDTO = new CustomerOrderDTO(); BeanUtils.copyProperties(newCustomerOrder, customerOrderDTO); customerOrderDTO.setComment(customer.getComment()); //è·ååæ®µååå List<OrderParamDTO> orderParamList = orderParamMapper.getAllOrder(); customerOrderDTO.setOrderParamList(orderParamList); //æ¼æ¥crosstabæéè¦çéªè¯æ°æ® // OrderParam orderParam = orderParamMapper.getParam(); //è·å客æ·è®¢ååç»å®ç订ååæ° JSONObject customerOrderList = baseMapper.getCustomerOrderByIdnew(id); customerOrderDTO.setCustomerOrderList(customerOrderList); List<JSONObject> list = new ArrayList<>(); customerOrderDTO.setCustomerOrderAttachmentList(list); // è·åå·¥åæéç©æ List<OperationTaskProduce> operationTaskProduceList = operationTaskProduceMapper.selectList(Wrappers.<OperationTaskProduce>lambdaQuery() .eq(OperationTaskProduce::getCustomerOrderId, id).orderByAsc(OperationTaskProduce::getSort)); customerOrderDTO.setOutPutBatchList(operationTaskProduceList); if (newCustomerOrder.getTechnologyDocumentId() != null) { Document document = documentMapper.selectById(newCustomerOrder.getTechnologyDocumentId()); public CustomerOrderVO1 getCustomerOrderById(Long id) { CustomerOrderVO1 customerOrderVO1 = new CustomerOrderVO1(); //éå®äº§åå(客æ·è¡è¡¨) CustomerOrder customerOrder = baseMapper.selectById(id); BeanUtils.copyProperties(customerOrder, customerOrderVO1); //客æ·ä¸»è¡¨ Customer customer = customerMapper.selectById(customerOrder.getCustomerId()); BeanUtils.copyProperties(customer,customerOrderVO1); if (customerOrder.getTechnologyDocumentId() != null) { Document document = documentMapper.selectById(customerOrder.getTechnologyDocumentId()); if (document != null) { customerOrderDTO.setDocNumber(document.getNumber()); //å·¥èºæä»¶ç¼å· customerOrderVO1.setDocNumber(document.getNumber()); //å·¥èºæä»¶åç§° customerOrderVO1.setDocName(document.getName()); } } List<OrderProcessConfigFileDTO> configFiles = orderProcessConfigFileMapper.getProcessConfigFiles(newCustomerOrder.getCustomerOrderNo(), newCustomerOrder.getOtcLineNo()); customerOrderDTO.setConfigFiles(configFiles); ProcessConfigDTO processConfigdto = processConfigService.getProcessConfig(id); customerOrderDTO.setProcessConfigDTO(processConfigdto); return customerOrderDTO; customerOrderVO1.setId(id); return customerOrderVO1; } @Override @@ -668,21 +660,7 @@ if (StringUtils.isBlank(selectTime)) { return R.failed("ç¼ºå°æ¥è¯¢æ¶é´"); } //DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); //LocalDateTime startDate = LocalDateTime.parse(selectTime, formatter); //Long days = LocalDate.now().toEpochDay() - startDate.toLocalDate().toEpochDay(); //if (days > 30) { // return R.failed("è¶ åºæ¥è¯¢æ¶é´èå´"); //} String token = customerOrderUtil.getToken(); //if (pathCode.equals("0")) { // return addCustomerFromOtc(selectTime, token); //} else if (pathCode.equals("1")) { // return addCustomerFromOtcForJointStockCompany(selectTime, token); //} else { // throw new RuntimeException("è·¯å¾è¯·æ±ç = ã" + pathCode + "ãéæ³"); //} return addCustomerFromOtc(selectTime, token); } catch (Exception e) { return R.failed(e.getMessage()); @@ -804,6 +782,146 @@ } } /** * æ·»å åè¡¨ä¿¡æ¯ * * @param customer * @param otcMainStatus * @throws Exception */ private int addCustomerOrderFromOtc(JSONObject customerJSONObject, Customer customer, String token, List<OrderParam> orderParamList, String otcMainStatus) { Map<String, String> productTypeGroupMap = customerOrderUnitWhiteListConfig.getProductTypeGroupMap(); int num = 0; try { Map<String, Object> map = new HashMap<>(); map.put("orderNo", customer.getContractNo()); map.put("selectTime", "1899-12-31 23:59:59"); JSONObject result = JSONObject.parseObject(HttpRequest.get(customerOrderClientConfigure.getOtcHost() + customerOrderClientConfigure.getOtcCustomerOrderUrl()) .contentType("application/json") .header("Authorization", "Bearer " + token).form(map).execute().body()); if (result.getInteger("code") == 0) { JSONArray jsonArray = result.getJSONArray("data"); for (Object obj : jsonArray) { JSONObject customerOrderJSONObject = JSONObject.parseObject(obj.toString()); String otcLoneId = customerOrderJSONObject.getLong("id").toString(); //OTCç订åç¶æ String otcOrderStatus = customerOrderJSONObject.getString("lineStatus").toString(); CustomerOrder customerOrder = baseMapper.selectOne(Wrappers.<CustomerOrder>lambdaQuery() .eq(CustomerOrder::getOtcLineNo, otcLoneId)); if (customerOrder == null) { customerOrder = new CustomerOrder(); } //妿è¿ä¸ªååå¨OTCä¸åæ¶ç¶æ é£å°±å é¤ if (otcOrderStatus.equals("已忶")) { if (customerOrder.getId() != null) { baseMapper.deleteById(customerOrder.getId()); } continue; } //OTCååå·ä¸»è¡¨id customerOrder.setOtcOrderId(customerOrderJSONObject.getLong("orderId")); //otcè¡å· customerOrder.setOtcLineNo(otcLoneId); //é¶ä»¶å· customerOrder.setPartNo(customerOrderJSONObject.getString("partNo")); //æ¥æº 0:èªå¨ customerOrder.setSourceId("0"); //ååå· customerOrder.setCustomerOrderNo(customer.getContractNo()); //客æ·å· customerOrder.setCustomerNo(customer.getCustomerNo()); //客æ·åç§° customerOrder.setCustomerName(customer.getCustomerName()); //å·¥ç¨åç§° customerOrder.setEntityName(customer.getEntityName()); //æ°é customerOrder.setBuyQtyDue(customerOrderJSONObject.getBigDecimal("quantity")); //OTCåä½ customerOrder.setOtcUnit(customerOrderJSONObject.getString("unit")); //ææäº¤è´§æ¥æ customerOrder.setWantedDeliveryDate(customer.getDeliveryDate()); //主表id customerOrder.setCustomerId(customer.getId()); //çµåç级 customerOrder.setVoltAgeClass(customerOrderJSONObject.getString("voltageLevel")); //å¤å¼é¢è² customerOrder.setOuterColor(customerOrderJSONObject.getString("outerSheathColor")); //客æ·é¶ä»¶åç§° customerOrder.setProductName(customerOrderJSONObject.getString("productName")); //客æ·é¶ä»¶è§æ ¼ customerOrder.setCustomerPartSpec(customerOrderJSONObject.getString("specificationModel")); //订åçæ¬ customerOrder.setVersion(customerOrderJSONObject.getInteger("version")); //äºä¸é¨ customerOrder.setDivision(customerOrderJSONObject.getString("division")); //å°åç±»å customerOrder.setPrintType(customerOrderJSONObject.getString("printType")); //å°åå 容 customerOrder.setPrintContent(customerOrderJSONObject.getString("printContent")); //å°åè¦æ± customerOrder.setPrintingRequirements(customerOrderJSONObject.getString("printingRequirements")); //å è£ è¦æ± customerOrder.setPackageRequire(customerOrderJSONObject.getString("packageRequire")); //è´¨éè¦æ± customerOrder.setQualityRequire(customerOrderJSONObject.getString("qualityRequire")); //çäº§éæ±è¯´æ customerOrder.setOtherProductRequire(customerOrderJSONObject.getString("otherProductRequire")); //ç³»ç» customerOrder.setDivisionSystem(customerOrderJSONObject.getString("divisionSystem")); //æ¶è´§å°å customerOrder.setShippingAddress(customerOrderJSONObject.getString("shippingAddress")); //ä¸å¡å customerOrder.setSalesmanName(customer.getSalesMan()); //çé¿è¦æ± customerOrder.setLengthRequirement(customerOrderJSONObject.getString("lengthRequirement")); //产å夿³¨Ã customerOrder.setRemark(customerOrderJSONObject.getString("orderComment")); //产åç±»å customerOrder.setProductType(customerOrderJSONObject.getString("productType")); //产ååç» customerOrder.setProductGroup(productTypeGroupMap.get(customerOrderJSONObject.getString("productType"))); //ééæ§è´¨ customerOrder.setCentralizedMiningProperty(customerJSONObject.getString("centralizedMiningProperty")); //æç»å®¢æ·åç§° customerOrder.setFinalCustomerName(customerJSONObject.getString("finalCustomerName")); //éå®ä»¶æè¿° customerOrder.setSalesPartName(customerOrderJSONObject.getString("partDesc")); if (customerOrder.getId() == null) { // é¶ä»¶æ¯å¦æ¨é customerOrder.setOtcPartSync(false); // é»è®¤ä¸ºN æ°æ®åå ¸ä¸ºï¼Nï¼æ®éï¼Sï¼æ ·åï¼Dï¼ç å customerOrder.setManufactureAttr("N"); //æ¯å¦å ³èå·¥èºæä»¶ä¸ºå¦ customerOrder.setIsDocument(false); //ç¶æä¸º 妿ééæ§è´¨ éééå çéé ç¶æä½ç¼è¾ å¦å为 é¶ä»¶å¾ é if (customerOrder.getCentralizedMiningProperty().equals("ééé") || customerOrder.getCentralizedMiningProperty().equals("çéé")) { customerOrder.setCoState(CustomerOrderStateStringValues.UNIEDIT); } else { customerOrder.setCoState(CustomerOrderStateStringValues.PARTUNCHECKED); } if (org.apache.commons.lang3.StringUtils.equals("å·²ä¸è¾¾", otcMainStatus)) { customerOrder.setCoState(CustomerOrderStateStringValues.TECHNOLOGYUNCHECK); customerOrder.setOtcPartSync(Boolean.TRUE); } // å¦æç¶æä¸ºé¶ä»¶å¾ éï¼ä¸é¶ä»¶å·ä¸ä¸ºç©ºï¼æ´æ°ç¶æ if (StrUtil.isNotBlank(customerOrder.getPartNo()) && CustomerOrderStateStringValues.PARTUNCHECKED.equals(customerOrder.getCoState())) { customerOrder.setCoState(CustomerOrderStateStringValues.TECHNOLOGYUNCHECK); customerOrder.setOtcPartSync(Boolean.TRUE); } //å®¡æ ¸ç¶æä¸º 01draft è稿 customerOrder.setIsAudit(AuditStateStringValues.DRAFT); baseMapper.insert(customerOrder); } addCustomerPara(customerJSONObject, customerOrderJSONObject, customerOrder, orderParamList); num += 1; } } } catch (Exception e) { throw new RuntimeException("订åè¡æ°æ®è·å失败ï¼åå ï¼" + e.getMessage()); } return num; } ///** // * æ·»å ä¸»è¡¨ä¿¡æ¯ @@ -918,139 +1036,139 @@ * @param otcMainStatus * @throws Exception */ private int addCustomerOrderFromOtc(JSONObject customerJSONObject, Customer customer, String token, List<OrderParam> orderParamList, String otcMainStatus) { Map<String, String> productTypeGroupMap = customerOrderUnitWhiteListConfig.getProductTypeGroupMap(); int num = 0; try { Map<String, Object> map = new HashMap<>(); map.put("orderNo", customer.getContractNo()); map.put("selectTime", "1899-12-31 23:59:59"); JSONObject result = JSONObject.parseObject(HttpRequest.get(customerOrderClientConfigure.getOtcHost() + customerOrderClientConfigure.getOtcCustomerOrderUrl()) .contentType("application/json") .header("Authorization", "Bearer " + token).form(map).execute().body()); if (result.getInteger("code") == 0) { JSONArray jsonArray = result.getJSONArray("data"); for (Object obj : jsonArray) { JSONObject customerOrderJSONObject = JSONObject.parseObject(obj.toString()); String otcLoneId = customerOrderJSONObject.getLong("id").toString(); //OTCç订åç¶æ String otcOrderStatus = customerOrderJSONObject.getString("lineStatus").toString(); CustomerOrder customerOrder = baseMapper.selectOne(Wrappers.<CustomerOrder>lambdaQuery() .eq(CustomerOrder::getOtcLineNo, otcLoneId)); if (customerOrder == null) { customerOrder = new CustomerOrder(); } //妿è¿ä¸ªååå¨OTCä¸åæ¶ç¶æ é£å°±å é¤ if (otcOrderStatus.equals("已忶")) { if (customerOrder.getId() != null) { baseMapper.deleteById(customerOrder.getId()); } continue; } //OTCååå·ä¸»è¡¨id customerOrder.setOtcOrderId(customerOrderJSONObject.getLong("orderId")); //otcè¡å· customerOrder.setOtcLineNo(otcLoneId); //é¶ä»¶å· customerOrder.setSalesPartNo(customerOrderJSONObject.getString("partNo")); //æ¥æº customerOrder.setSourceId("OTC"); //ååå· customerOrder.setCustomerOrderNo(customer.getContractNo()); //客æ·å· customerOrder.setCustomerNo(customer.getCustomerNo()); //客æ·åç§° customerOrder.setCustomerName(customer.getCustomerName()); //é宿°éåå OTCçåä½ customerOrder.setOtcQuantity(customerOrderJSONObject.getBigDecimal("quantity")); //OTCåä½ customerOrder.setOtcUnit(customerOrderJSONObject.getString("unit")); //ææäº¤è´§æ¥æ customerOrder.setWantedDeliveryDate(customer.getDeliveryDate()); //主表id customerOrder.setCustomerId(customer.getId()); //çµåç级 customerOrder.setVoltAgeClass(customerOrderJSONObject.getString("voltageLevel")); //å¤å¼é¢è² customerOrder.setOuterColor(customerOrderJSONObject.getString("outerSheathColor")); //客æ·é¶ä»¶åç§° customerOrder.setProductName(customerOrderJSONObject.getString("productName")); //客æ·é¶ä»¶è§æ ¼ customerOrder.setCustomerPartSpec(customerOrderJSONObject.getString("specificationModel")); //订åçæ¬ customerOrder.setVersion(customerOrderJSONObject.getInteger("version")); //äºä¸é¨ customerOrder.setDivision(customerOrderJSONObject.getString("division")); //å°åç±»å customerOrder.setPrintType(customerOrderJSONObject.getString("printType")); //å°åå 容 customerOrder.setPrintContent(customerOrderJSONObject.getString("printContent")); //å°åè¦æ± customerOrder.setPrintingRequirements(customerOrderJSONObject.getString("printingRequirements")); //å è£ è¦æ± customerOrder.setPackageRequire(customerOrderJSONObject.getString("packageRequire")); //è´¨éè¦æ± customerOrder.setQualityRequire(customerOrderJSONObject.getString("qualityRequire")); //çäº§éæ±è¯´æ customerOrder.setOtherProductRequire(customerOrderJSONObject.getString("otherProductRequire")); //ç³»ç» customerOrder.setDivisionSystem(customerOrderJSONObject.getString("divisionSystem")); //æ¶è´§å°å customerOrder.setShippingAddress(customerOrderJSONObject.getString("shippingAddress")); //ä¸å¡å customerOrder.setSalesmanName(customer.getSalesMan()); //çé¿è¦æ± customerOrder.setLengthRequirement(customerOrderJSONObject.getString("lengthRequirement")); //夿³¨Ã customerOrder.setRemark(customerOrderJSONObject.getString("comment")); //产åç±»å customerOrder.setProductType(customerOrderJSONObject.getString("productType")); //产ååç» customerOrder.setProductGroup(productTypeGroupMap.get(customerOrderJSONObject.getString("productType"))); //ééæ§è´¨ customerOrder.setCentralizedMiningProperty(customerJSONObject.getString("centralizedMiningProperty")); //æç»å®¢æ·åç§° customerOrder.setFinalCustomerName(customerJSONObject.getString("finalCustomerName")); //éå®ä»¶æè¿° customerOrder.setSalesPartName(customerOrderJSONObject.getString("partDesc")); if (customerOrder.getId() == null) { // é¶ä»¶æ¯å¦æ¨é customerOrder.setOtcPartSync(false); // é»è®¤ä¸ºN æ°æ®åå ¸ä¸ºï¼Nï¼æ®éï¼Sï¼æ ·åï¼Dï¼ç å customerOrder.setManufactureAttr("N"); //æ¯å¦å ³èå·¥èºæä»¶ä¸ºå¦ customerOrder.setIsDocument(false); //ç¶æä¸º 妿ééæ§è´¨ éééå çéé ç¶æä½ç¼è¾ å¦å为 é¶ä»¶å¾ é if (customerOrder.getCentralizedMiningProperty().equals("ééé") || customerOrder.getCentralizedMiningProperty().equals("çéé")) { customerOrder.setCoState(CustomerOrderStateStringValues.UNIEDIT); } else { customerOrder.setCoState(CustomerOrderStateStringValues.PARTUNCHECKED); } if (org.apache.commons.lang3.StringUtils.equals("å·²ä¸è¾¾", otcMainStatus)) { customerOrder.setCoState(CustomerOrderStateStringValues.TECHNOLOGYUNCHECK); customerOrder.setOtcPartSync(Boolean.TRUE); } //å®¡æ ¸ç¶æä¸º 01draft è稿 customerOrder.setIsAudit(AuditStateStringValues.DRAFT); baseMapper.insert(customerOrder); } else { // å¦æç¶æä¸ºé¶ä»¶å¾ éï¼ä¸éå®ä»¶å·ä¸ä¸ºç©ºï¼æ´æ°ç¶æ if (StrUtil.isNotBlank(customerOrder.getSalesPartNo()) && CustomerOrderStateStringValues.PARTUNCHECKED.equals(customerOrder.getCoState())) { customerOrder.setCoState(CustomerOrderStateStringValues.TECHNOLOGYUNCHECK); customerOrder.setOtcPartSync(Boolean.TRUE); } baseMapper.updateById(customerOrder); } addCustomerPara(customerJSONObject, customerOrderJSONObject, customerOrder, orderParamList); num += 1; } } } catch (Exception e) { throw new RuntimeException("订åè¡æ°æ®è·å失败ï¼åå ï¼" + e.getMessage()); } return num; } //private int addCustomerOrderFromOtc(JSONObject customerJSONObject, Customer customer, String token, List<OrderParam> orderParamList, String otcMainStatus) { // Map<String, String> productTypeGroupMap = customerOrderUnitWhiteListConfig.getProductTypeGroupMap(); // int num = 0; // try { // Map<String, Object> map = new HashMap<>(); // map.put("orderNo", customer.getContractNo()); // map.put("selectTime", "1899-12-31 23:59:59"); // JSONObject result = JSONObject.parseObject(HttpRequest.get(customerOrderClientConfigure.getOtcHost() + customerOrderClientConfigure.getOtcCustomerOrderUrl()) // .contentType("application/json") // .header("Authorization", "Bearer " + token).form(map).execute().body()); // if (result.getInteger("code") == 0) { // JSONArray jsonArray = result.getJSONArray("data"); // for (Object obj : jsonArray) { // JSONObject customerOrderJSONObject = JSONObject.parseObject(obj.toString()); // String otcLoneId = customerOrderJSONObject.getLong("id").toString(); // //OTCç订åç¶æ // String otcOrderStatus = customerOrderJSONObject.getString("lineStatus").toString(); // CustomerOrder customerOrder = baseMapper.selectOne(Wrappers.<CustomerOrder>lambdaQuery() // .eq(CustomerOrder::getOtcLineNo, otcLoneId)); // if (customerOrder == null) { // customerOrder = new CustomerOrder(); // } // //妿è¿ä¸ªååå¨OTCä¸åæ¶ç¶æ é£å°±å é¤ // if (otcOrderStatus.equals("已忶")) { // if (customerOrder.getId() != null) { // baseMapper.deleteById(customerOrder.getId()); // } // continue; // } // //OTCååå·ä¸»è¡¨id // customerOrder.setOtcOrderId(customerOrderJSONObject.getLong("orderId")); // //otcè¡å· // customerOrder.setOtcLineNo(otcLoneId); // //é¶ä»¶å· // customerOrder.setSalesPartNo(customerOrderJSONObject.getString("partNo")); // //æ¥æº // customerOrder.setSourceId("OTC"); // //ååå· // customerOrder.setCustomerOrderNo(customer.getContractNo()); // //客æ·å· // customerOrder.setCustomerNo(customer.getCustomerNo()); // //客æ·åç§° // customerOrder.setCustomerName(customer.getCustomerName()); // //é宿°éåå OTCçåä½ // customerOrder.setOtcQuantity(customerOrderJSONObject.getBigDecimal("quantity")); // //OTCåä½ // customerOrder.setOtcUnit(customerOrderJSONObject.getString("unit")); // //ææäº¤è´§æ¥æ // customerOrder.setWantedDeliveryDate(customer.getDeliveryDate()); // //主表id // customerOrder.setCustomerId(customer.getId()); // //çµåç级 // customerOrder.setVoltAgeClass(customerOrderJSONObject.getString("voltageLevel")); // //å¤å¼é¢è² // customerOrder.setOuterColor(customerOrderJSONObject.getString("outerSheathColor")); // //客æ·é¶ä»¶åç§° // customerOrder.setProductName(customerOrderJSONObject.getString("productName")); // //客æ·é¶ä»¶è§æ ¼ // customerOrder.setCustomerPartSpec(customerOrderJSONObject.getString("specificationModel")); // //订åçæ¬ // customerOrder.setVersion(customerOrderJSONObject.getInteger("version")); // //äºä¸é¨ // customerOrder.setDivision(customerOrderJSONObject.getString("division")); // //å°åç±»å // customerOrder.setPrintType(customerOrderJSONObject.getString("printType")); // //å°åå 容 // customerOrder.setPrintContent(customerOrderJSONObject.getString("printContent")); // //å°åè¦æ± // customerOrder.setPrintingRequirements(customerOrderJSONObject.getString("printingRequirements")); // //å è£ è¦æ± // customerOrder.setPackageRequire(customerOrderJSONObject.getString("packageRequire")); // //è´¨éè¦æ± // customerOrder.setQualityRequire(customerOrderJSONObject.getString("qualityRequire")); // //çäº§éæ±è¯´æ // customerOrder.setOtherProductRequire(customerOrderJSONObject.getString("otherProductRequire")); // //ç³»ç» // customerOrder.setDivisionSystem(customerOrderJSONObject.getString("divisionSystem")); // //æ¶è´§å°å // customerOrder.setShippingAddress(customerOrderJSONObject.getString("shippingAddress")); // //ä¸å¡å // customerOrder.setSalesmanName(customer.getSalesMan()); // //çé¿è¦æ± // customerOrder.setLengthRequirement(customerOrderJSONObject.getString("lengthRequirement")); // //夿³¨Ã // customerOrder.setRemark(customerOrderJSONObject.getString("comment")); // //产åç±»å // customerOrder.setProductType(customerOrderJSONObject.getString("productType")); // //产ååç» // customerOrder.setProductGroup(productTypeGroupMap.get(customerOrderJSONObject.getString("productType"))); // //ééæ§è´¨ // customerOrder.setCentralizedMiningProperty(customerJSONObject.getString("centralizedMiningProperty")); // //æç»å®¢æ·åç§° // customerOrder.setFinalCustomerName(customerJSONObject.getString("finalCustomerName")); // //éå®ä»¶æè¿° // customerOrder.setSalesPartName(customerOrderJSONObject.getString("partDesc")); // // if (customerOrder.getId() == null) { // // é¶ä»¶æ¯å¦æ¨é // customerOrder.setOtcPartSync(false); // // é»è®¤ä¸ºN æ°æ®åå ¸ä¸ºï¼Nï¼æ®éï¼Sï¼æ ·åï¼Dï¼ç å // customerOrder.setManufactureAttr("N"); // //æ¯å¦å ³èå·¥èºæä»¶ä¸ºå¦ // customerOrder.setIsDocument(false); // //ç¶æä¸º 妿ééæ§è´¨ éééå çéé ç¶æä½ç¼è¾ å¦å为 é¶ä»¶å¾ é // if (customerOrder.getCentralizedMiningProperty().equals("ééé") || customerOrder.getCentralizedMiningProperty().equals("çéé")) { // customerOrder.setCoState(CustomerOrderStateStringValues.UNIEDIT); // } else { // customerOrder.setCoState(CustomerOrderStateStringValues.PARTUNCHECKED); // } // if (org.apache.commons.lang3.StringUtils.equals("å·²ä¸è¾¾", otcMainStatus)) { // customerOrder.setCoState(CustomerOrderStateStringValues.TECHNOLOGYUNCHECK); // customerOrder.setOtcPartSync(Boolean.TRUE); // } // //å®¡æ ¸ç¶æä¸º 01draft è稿 // customerOrder.setIsAudit(AuditStateStringValues.DRAFT); // baseMapper.insert(customerOrder); // } else { // // å¦æç¶æä¸ºé¶ä»¶å¾ éï¼ä¸éå®ä»¶å·ä¸ä¸ºç©ºï¼æ´æ°ç¶æ // if (StrUtil.isNotBlank(customerOrder.getSalesPartNo()) && CustomerOrderStateStringValues.PARTUNCHECKED.equals(customerOrder.getCoState())) { // customerOrder.setCoState(CustomerOrderStateStringValues.TECHNOLOGYUNCHECK); // customerOrder.setOtcPartSync(Boolean.TRUE); // } // baseMapper.updateById(customerOrder); // } // addCustomerPara(customerJSONObject, customerOrderJSONObject, customerOrder, orderParamList); // num += 1; // } // } // } catch (Exception e) { // throw new RuntimeException("订åè¡æ°æ®è·å失败ï¼åå ï¼" + e.getMessage()); // } // return num; //} /** * @param jsonObjMain 主表çjsonObj mes-plan/src/main/java/com/chinaztt/mes/plan/service/impl/CustomerServiceImpl.java
@@ -18,20 +18,24 @@ import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.chinaztt.mes.plan.dto.CustomerDTO; import com.chinaztt.mes.plan.entity.Customer; import com.chinaztt.mes.plan.entity.CustomerOrder; import com.chinaztt.mes.plan.mapper.CustomerMapper; import com.chinaztt.mes.plan.mapper.CustomerOrderMapper; import com.chinaztt.mes.plan.service.CustomerOrderService; import com.chinaztt.mes.plan.service.CustomerService; import com.chinaztt.mes.plan.state.auditstate.constant.AuditStateStringValues; import com.chinaztt.mes.plan.state.orderstate.constant.CustomerOrderStateStringValues; import com.chinaztt.mes.plan.vo.CustomerOrderVO; import com.chinaztt.mes.plan.vo.CustomerVO; import lombok.AllArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.List; import java.util.stream.Collectors; /** * 客æ·è®¢å主表 @@ -45,24 +49,44 @@ private CustomerOrderMapper customerOrderMapper; private CustomerOrderService customerOrderService; @Override public boolean saveDto(CustomerDTO customerDTO) { //客æ·è®¢åå· ZTTIC20220001 public boolean saveDto(CustomerVO customerVO) { /*æ°å¢å®¢æ·è®¢å主表*/ //客æ·è®¢åå· ZTMSLS2023101801 Customer customer = new Customer(); BeanUtils.copyProperties(customerVO,customer); String contractNo = contractNoMake(); customerDTO.setContractNo(contractNo); baseMapper.insert(customerDTO); CustomerOrder customerOrder = customerDTO.getCustomerOrder(); customerOrder.setCustomerId(customerDTO.getId()); customerOrder.setCoState(CustomerOrderStateStringValues.TECHNOLOGYUNCHECK); customerOrder.setIsAudit(AuditStateStringValues.DRAFT); customerOrder.setSalesmanName(customerDTO.getSalesMan()); customerOrder.setDivision(customerDTO.getSalesDepartment()); customerOrder.setCustomerName(customerDTO.getCustomerName()); customerOrder.setOtcPartSync(true); customerOrder.setCustomerOrderNo(contractNo); customerOrder.setOtcPartSync(false); customerOrder.setSalesPartNo(customerDTO.getCustomerOrder().getPartNo()); customerOrderMapper.insert(customerOrder); customer.setContractNo(contractNo); //ååå· baseMapper.insert(customer); /*æ¹éæ°å¢å®¢æ·è®¢å产å表*/ List<CustomerOrderVO> customerOrderVOList = customerVO.getCustomerOrderVOList(); List<CustomerOrder> customerOrders = customerOrderVOList.stream().map(customerOrderVO -> { CustomerOrder customerOrder = new CustomerOrder(); BeanUtils.copyProperties(customerOrderVO, customerOrder); //ååå· customerOrder.setCustomerOrderNo(customer.getContractNo()); //客æ·å· customerOrder.setCustomerNo(customer.getCustomerNo()); //客æ·åç§° customerOrder.setCustomerName(customer.getCustomerName()); //å·¥ç¨åç§° customerOrder.setEntityName(customer.getEntityName()); //ææäº¤è´§æ¶é´ customerOrder.setWantedDeliveryDate(customerVO.getDeliveryDate()); //ä¸å¡å customerOrder.setSalesmanName(customer.getSalesMan()); //ç¶æ:å·¥èºæä»¶å¾ é customerOrder.setCoState(CustomerOrderStateStringValues.TECHNOLOGYUNCHECK); //å®¡æ ¸ç¶æä¸º 01draft è稿 customerOrder.setIsAudit(AuditStateStringValues.DRAFT); //æ¥æº 1:æå¨ customerOrder.setSourceId("1"); //å ³è主表id customerOrder.setCustomerId(customer.getId()); return customerOrder; }).collect(Collectors.toList()); customerOrderService.saveBatch(customerOrders); return true; } mes-plan/src/main/java/com/chinaztt/mes/plan/vo/CustomerOrderVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,65 @@ package com.chinaztt.mes.plan.vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; @Data //æ°å¢éå®(产å)ååæ° public class CustomerOrderVO { /** * é¶ä»¶å·ï¼ç¨äºç产çé¶ä»¶å· */ @ApiModelProperty(value = "é¶ä»¶å·ï¼ç¨äºç产çé¶ä»¶å·") private String partNo; /** * æ°é */ @ApiModelProperty(value = "æ°é") private BigDecimal buyQtyDue; /** * 产ååç§° */ @ApiModelProperty(value = "产ååç§°") private String productName; /** * éå®åä½ */ @ApiModelProperty(value = "éå®åä½") private String otcUnit; /** * 客æ·é¶ä»¶è§æ ¼ */ @ApiModelProperty(value = "客æ·é¶ä»¶è§æ ¼") private String customerPartSpec; /** * æ¶è´§å°å */ @ApiModelProperty(value = "æ¶è´§å°å") private String shippingAddress; /** * 产åç±»å */ @ApiModelProperty(value = "产åç±»å") private String productType; /** * 产å夿³¨ */ @ApiModelProperty(value = "产å夿³¨") private String remark; /** * å¶é 屿§ */ @ApiModelProperty(value = "å¶é 屿§") private String manufactureAttr; } mes-plan/src/main/java/com/chinaztt/mes/plan/vo/CustomerOrderVO1.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,180 @@ package com.chinaztt.mes.plan.vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; import java.time.LocalDateTime; @Data //æ¥ç详æ public class CustomerOrderVO1 { /** * 订å产åid */ private Long id; /** * ååå· */ @ApiModelProperty(value="ååå·") private String contractNo; /** * 客æ·åç§° */ @ApiModelProperty(value="客æ·åç§°") private String customerName; /** * å·¥ç¨åç§° */ @ApiModelProperty(value="å·¥ç¨åç§°") private String entityName; /** * éå®è®¢åç¶æ */ private String coState; /** * äº¤è´§æ¥æ */ @ApiModelProperty(value="äº¤è´§æ¥æ") private LocalDateTime deliveryDate; /** * ç份 */ @ApiModelProperty(value="ç份") private String province; /** * ä¸å¡å */ @ApiModelProperty(value="ä¸å¡å") private String salesMan; /** * ä¸å¡åç¼å· */ @ApiModelProperty(value="ä¸å¡åç¼å·") private String salerWorkCode; /** * æ£æ¬ç¶æ */ @ApiModelProperty(value="æ£æ¬ç¶æ") private String originalContractStatus; /** * é¡¹ç®æ§è´¨ */ @ApiModelProperty(value="é¡¹ç®æ§è´¨") private String isCp; /** * 客æ·ç¼ç */ @ApiModelProperty(value="客æ·ç¼ç ") private String customerNo; /** * å忣æ¬ç¶æ */ @ApiModelProperty(value="å忣æ¬ç¶æ") private String returnStatus; /** * ä¸åæ¥æ */ @ApiModelProperty(value="ä¸åæ¥æ") private LocalDateTime placeOrderDate; /** * å·¥åä¸åæ¥æ */ @ApiModelProperty(value="å·¥åä¸åæ¥æ") private LocalDateTime factoryPlaceOrderDate; /** * 订å夿³¨ */ @ApiModelProperty(value="订å夿³¨") private String comment; /*产å详æ */ /** * æ¥æºidï¼ç¨äºåæ¥æ°æ® */ @ApiModelProperty(value = "æ¥æºidï¼ç¨äºåæ¥æ°æ®") private String sourceId; /** * é¶ä»¶å·ï¼ç¨äºç产çé¶ä»¶å· */ @ApiModelProperty(value = "é¶ä»¶å·ï¼ç¨äºç产çé¶ä»¶å·") private String partNo; /** * æ°é */ @ApiModelProperty(value = "æ°é") private BigDecimal buyQtyDue; /** * 产ååç§° */ @ApiModelProperty(value = "产ååç§°") private String productName; /** * éå®åä½ */ @ApiModelProperty(value = "éå®åä½") private String otcUnit; /** * 客æ·é¶ä»¶è§æ ¼ */ @ApiModelProperty(value = "客æ·é¶ä»¶è§æ ¼") private String customerPartSpec; /** * æ¶è´§å°å */ @ApiModelProperty(value = "æ¶è´§å°å") private String shippingAddress; /** * 产åç±»å */ @ApiModelProperty(value = "产åç±»å") private String productType; /** * 产å夿³¨ */ @ApiModelProperty(value = "产å夿³¨") private String remark; /** * å·¥èºæä»¶id */ @ApiModelProperty(value = "å·¥èºæä»¶id") private Long technologyDocumentId; /** * å·¥èºæä»¶ç¼å· */ @ApiModelProperty(value = "å·¥èºæä»¶ç¼å·") private String docNumber; /** * å·¥èºæä»¶å */ @ApiModelProperty(value = "å·¥èºæä»¶å") private String docName; /** * å¶é 屿§ */ @ApiModelProperty(value = "å¶é 屿§") private String manufactureAttr; } mes-plan/src/main/java/com/chinaztt/mes/plan/vo/CustomerOrderVO2.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,91 @@ package com.chinaztt.mes.plan.vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; import java.time.LocalDateTime; @Data //éå®è®¢åå页æ¥è¯¢ public class CustomerOrderVO2 { //éå®è®¢å产ååid private Long id; //ååç¼å· private String contractNo; //å·¥ç¨åç§° private String entityName; //æ·»å 人 private String createUser; //æ·»å æ¥æ private LocalDateTime createTime; //ä¸åæ¥æ private LocalDateTime placeOrderDate; //交货æ¶é´ private LocalDateTime deliveryDate; //客æ·åç§° private String customerName; //éå®è®¢åç¶æ private String coState; //å®¡æ ¸ç¶æ private String isAudit; //è®¢åæ¥æº private String sourceId; //产åç±»å private String productType; //产åç¼å· private String partNo; //产ååç§° private String productName; //è§æ ¼åå· private String customerPartSpec; //åä½ private String otcUnit; //æ°é private BigDecimal buyQtyDue; //å·¥èºæä»¶å· private String docNumber; //å·¥èºæä»¶id private String technologyDocumentId; //å忣æ¬ç¶æ private String returnStatus; //æ£æ¬ç¶æ private String originalContractStatus; //ä¸å¡å private String salesMan; /** * å¶é 屿§ */ @ApiModelProperty(value = "å¶é 屿§") private String manufactureAttr; /** * 夿³¨ */ @ApiModelProperty(value = "夿³¨") private String remark; } mes-plan/src/main/java/com/chinaztt/mes/plan/vo/CustomerVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,93 @@ package com.chinaztt.mes.plan.vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.time.LocalDateTime; import java.util.List; @Data //æ°å¢éå®ååæ° public class CustomerVO { /** * ååå· */ @ApiModelProperty(value="ååå·") private String contractNo; /** * 客æ·åç§° */ @ApiModelProperty(value="客æ·åç§°") private String customerName; /** * å·¥ç¨åç§° */ @ApiModelProperty(value="å·¥ç¨åç§°") private String entityName; /** * äº¤è´§æ¥æ */ @ApiModelProperty(value="äº¤è´§æ¥æ") private LocalDateTime deliveryDate; /** * ç份 */ @ApiModelProperty(value="ç份") private String province; /** * ä¸å¡å */ @ApiModelProperty(value="ä¸å¡å") private String salesMan; /** * ä¸å¡åç¼å· */ @ApiModelProperty(value="ä¸å¡åç¼å·") private String salerWorkCode; /** * æ£æ¬ç¶æ */ @ApiModelProperty(value="æ£æ¬ç¶æ") private String originalContractStatus; /** * é¡¹ç®æ§è´¨ */ @ApiModelProperty(value="é¡¹ç®æ§è´¨") private String isCp; /** * 客æ·ç¼ç */ @ApiModelProperty(value="客æ·ç¼ç ") private String customerNo; /** * å忣æ¬ç¶æ */ @ApiModelProperty(value="å忣æ¬ç¶æ") private String returnStatus; /** * ä¸åæ¥æ */ @ApiModelProperty(value="ä¸åæ¥æ") private LocalDateTime placeOrderDate; /** * å·¥åä¸åæ¥æ */ @ApiModelProperty(value="å·¥åä¸åæ¥æ") private LocalDateTime factoryPlaceOrderDate; /** * 订å夿³¨ */ @ApiModelProperty(value="订å夿³¨") private String comment; //产åååé private List<CustomerOrderVO> customerOrderVOList; } mes-plan/src/main/resources/mapper/CustomerOrderMapper.xml
@@ -242,52 +242,112 @@ pco.centralized_mining_property </sql> <resultMap id="resultMap" type="com.chinaztt.mes.plan.vo.CustomerOrderVO2"> <id property="id" column="id"/> <result property="contractNo" column="contract_no"/> <result property="entityName" column="entity_name"/> <result property="createUser" column="create_user"/> <result property="createTime" column="create_time"/> <result property="placeOrderDate" column="place_order_date"/> <result property="customerName" column="customer_name"/> <result property="coState" column="co_state"/> <result property="isAudit" column="is_audit"/> <result property="sourceId" column="source_id"/> <result property="productType" column="product_type"/> <result property="partNo" column="part_no"/> <result property="productName" column="product_name"/> <result property="customerPartSpec" column="customer_part_spec"/> <result property="otcUnit" column="otc_unit"/> <result property="buyQtyDue" column="buy_qty_due"/> <result property="docNumber" column="number"/> <result property="technologyDocumentId" column="technology_document_id"/> <result property="returnStatus" column="return_status"/> <result property="originalContractStatus" column="original_contract_status"/> <result property="salesMan" column="sales_man"/> <result property="deliveryDate" column="delivery_date"/> <result property="manufactureAttr" column="manufacture_attr"/> <result property="remark" column="remark"/> </resultMap> <!-- éè¦å¤ç --> <select id="getCustomerOrderPage" resultMap="dtoResultMap"> <select id="getCustomerOrderPage" resultMap="resultMap"> SELECT * pco.id , contract_no , pc.entity_name , pc.create_user , pc.create_time , place_order_date , pc.customer_name , co_state , is_audit , source_id , product_type , pco.part_no , product_name , customer_part_spec , otc_unit , buy_qty_due , technology_document_id, td.number , return_status , original_contract_status , sales_man , delivery_date, manufacture_attr, pco.remark FROM (SELECT <include refid="customerOrder_property"/>, (SELECT COALESCE(SUM(pmps.qty_required),0) FROM plan_master_production_schedule pmps LEFT JOIN plan_join_model_customer pjmc on pjmc.model_id=pmps."id" AND pjmc.model = 'plan_master_production_schedule' WHERE pjmc.customer_order_id=pco."id") require_number, (SELECT COALESCE(SUM(wjso.reserved_quantity),0) FROM warehouse_join_stock_order wjso WHERE wjso.customer_order_id = pco."id" AND wjso.type ='客æ·è®¢åé¢ç' AND status ='02confirmed' ) reserved_quantity_realtime, bp."id" part_id, bp.part_name, bp.unit, pc.entity_name, pc.verify_date, pc.customer_contract_no, pc.comment, pc.return_status, pc.place_order_date, pc.factory_place_order_date, pc.original_contract_status, pc.end_time, cop.value outerColor, td.name doc_name, td.number doc_number, td.insulation_color, td.sheath_color FROM plan_customer_order pco LEFT JOIN plan_customer pc ON pc."id" = pco.customer_id LEFT JOIN basic_part bp ON bp.part_no = pco.part_no LEFT JOIN technology_document td ON td.id = pco.technology_document_id LEFT JOIN plan_customer_order_param cop ON cop.order_id = pco.ID AND field = 'OuterColor' ) tempA <where> plan_customer_order pco LEFT JOIN plan_customer pc ON pc."id" = pco.customer_id LEFT JOIN technology_document td ON td.id = pco.technology_document_id where 1=1 <if test="ew.emptyOfWhere == false"> and ${ew.SqlSegment} </if> </where> <!-- SELECT--> <!-- *--> <!-- FROM--> <!-- (SELECT--> <!-- <include refid="customerOrder_property"/>,--> <!-- (SELECT COALESCE(SUM(pmps.qty_required),0)--> <!-- FROM plan_master_production_schedule pmps--> <!-- LEFT JOIN plan_join_model_customer pjmc on pjmc.model_id=pmps."id" AND pjmc.model = 'plan_master_production_schedule'--> <!-- WHERE pjmc.customer_order_id=pco."id")--> <!-- require_number,--> <!-- (SELECT COALESCE(SUM(wjso.reserved_quantity),0)--> <!-- FROM warehouse_join_stock_order wjso--> <!-- WHERE wjso.customer_order_id = pco."id" AND wjso.type ='客æ·è®¢åé¢ç' AND status ='02confirmed' )--> <!-- reserved_quantity_realtime,--> <!-- bp."id" part_id,--> <!-- bp.part_name,--> <!-- bp.unit,--> <!-- pc.entity_name,--> <!-- pc.verify_date,--> <!-- pc.customer_contract_no,--> <!-- pc.comment,--> <!-- pc.return_status,--> <!-- pc.place_order_date,--> <!-- pc.factory_place_order_date,--> <!-- pc.original_contract_status,--> <!-- pc.end_time,--> <!-- cop.value outerColor,--> <!-- td.name doc_name,--> <!-- td.number doc_number,--> <!-- td.insulation_color,--> <!-- td.sheath_color--> <!-- FROM--> <!-- plan_customer_order pco--> <!-- LEFT JOIN plan_customer pc ON pc."id" = pco.customer_id--> <!-- LEFT JOIN basic_part bp ON bp.part_no = pco.part_no--> <!-- LEFT JOIN technology_document td ON td.id = pco.technology_document_id--> <!-- LEFT JOIN plan_customer_order_param cop ON cop.order_id = pco.ID--> <!-- AND field = 'OuterColor'--> <!-- ) tempA--> <!-- <where>--> <!-- <if test="ew.emptyOfWhere == false">--> <!-- and ${ew.SqlSegment}--> <!-- </if>--> <!-- </where>--> </select> <select id="getCustomerOrderById" resultType="com.alibaba.fastjson.JSONObject"> mes-web/src/main/resources/bootstrap.yml
@@ -6,7 +6,7 @@ druid: username: postgres # password: postgres123 password: zsAdmin123! password: root2022 # å°é¢å¼åæ°æ®åº url: jdbc:postgresql://127.0.0.1:5432/postgres application: @@ -17,7 +17,7 @@ # password: nacos password: zttZTT123! discovery: server-addr: 127.0.0.1:8848 server-addr: 106.13.194.57:8848 metadata: # VERSION: 10.88.15.224 VERSION: 127.0.0.1