From b529d99aed6a1e1dc4223057813d221d988987bd Mon Sep 17 00:00:00 2001 From: Fixiaobai <fixiaobai@163.com> Date: 星期二, 14 十一月 2023 14:35:53 +0800 Subject: [PATCH] Changes12 --- mes-plan/src/main/java/com/chinaztt/mes/plan/vo/CustomerOrderVO2.java | 91 +++ mes-plan/src/main/java/com/chinaztt/mes/plan/service/CustomerService.java | 6 mes-plan/src/main/java/com/chinaztt/mes/plan/vo/CustomerOrderVO.java | 65 ++ mes-plan/src/main/java/com/chinaztt/mes/plan/entity/CustomerOrder.java | 20 mes-plan/src/main/java/com/chinaztt/mes/plan/vo/CustomerVO.java | 93 ++++ mes-plan/src/main/java/com/chinaztt/mes/plan/service/CustomerOrderService.java | 3 mes-plan/src/main/java/com/chinaztt/mes/plan/service/impl/CustomerServiceImpl.java | 58 + mes-web/src/main/resources/bootstrap.yml | 4 mes-plan/src/main/java/com/chinaztt/mes/plan/controller/CustomerController.java | 8 mes-plan/src/main/java/com/chinaztt/mes/plan/mapper/CustomerOrderMapper.java | 3 mes-plan/src/main/java/com/chinaztt/mes/plan/service/impl/CustomerOrderServiceImpl.java | 476 ++++++++++++------- mes-plan/src/main/java/com/chinaztt/mes/plan/vo/CustomerOrderVO1.java | 180 +++++++ mes-plan/src/main/java/com/chinaztt/mes/plan/entity/Customer.java | 204 +++++--- mes-plan/src/main/resources/mapper/CustomerOrderMapper.xml | 140 ++++- 14 files changed, 1,007 insertions(+), 344 deletions(-) diff --git a/mes-plan/src/main/java/com/chinaztt/mes/plan/controller/CustomerController.java b/mes-plan/src/main/java/com/chinaztt/mes/plan/controller/CustomerController.java index f1927c7..26a6e80 100644 --- a/mes-plan/src/main/java/com/chinaztt/mes/plan/controller/CustomerController.java +++ b/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)); } /** diff --git a/mes-plan/src/main/java/com/chinaztt/mes/plan/entity/Customer.java b/mes-plan/src/main/java/com/chinaztt/mes/plan/entity/Customer.java index 9021e25..1fcf758 100644 --- a/mes-plan/src/main/java/com/chinaztt/mes/plan/entity/Customer.java +++ b/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; - /** - * 姝f湰鐘舵�� - */ - @ApiModelProperty(value="姝f湰鐘舵��") - private String originalContractStatus; - /** - * 椤圭洰鎬ц川 - */ - @ApiModelProperty(value="椤圭洰鎬ц川") - private String isCp; - /** - * 瀹㈡埛缂栫爜 - */ - @ApiModelProperty(value="瀹㈡埛缂栫爜") - private String customerNo; - /** - * 鍚堝悓姝f湰鐘舵�� - */ - @ApiModelProperty(value="鍚堝悓姝f湰鐘舵��") - 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; + /** + * 姝f湰鐘舵�� + */ + @ApiModelProperty(value="姝f湰鐘舵��") + private String originalContractStatus; + /** + * 椤圭洰鎬ц川 + */ + @ApiModelProperty(value="椤圭洰鎬ц川") + private String isCp; + /** + * 瀹㈡埛缂栫爜 + */ + @ApiModelProperty(value="瀹㈡埛缂栫爜") + private String customerNo; + /** + * 鍚堝悓姝f湰鐘舵�� + */ + @ApiModelProperty(value="鍚堝悓姝f湰鐘舵��") + 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; + + } diff --git a/mes-plan/src/main/java/com/chinaztt/mes/plan/entity/CustomerOrder.java b/mes-plan/src/main/java/com/chinaztt/mes/plan/entity/CustomerOrder.java index d28921e..7e50cb5 100644 --- a/mes-plan/src/main/java/com/chinaztt/mes/plan/entity/CustomerOrder.java +++ b/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; } diff --git a/mes-plan/src/main/java/com/chinaztt/mes/plan/mapper/CustomerOrderMapper.java b/mes-plan/src/main/java/com/chinaztt/mes/plan/mapper/CustomerOrderMapper.java index d9b801e..1015cc7 100644 --- a/mes-plan/src/main/java/com/chinaztt/mes/plan/mapper/CustomerOrderMapper.java +++ b/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); /** * 鑾峰彇瀹㈡埛璁㈠崟鍜岀粦瀹氱殑璁㈠崟鍙傛暟 diff --git a/mes-plan/src/main/java/com/chinaztt/mes/plan/service/CustomerOrderService.java b/mes-plan/src/main/java/com/chinaztt/mes/plan/service/CustomerOrderService.java index bfce325..7194588 100644 --- a/mes-plan/src/main/java/com/chinaztt/mes/plan/service/CustomerOrderService.java +++ b/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); /** * 璁㈠崟琛屽叧鑱斿伐鑹烘枃浠� diff --git a/mes-plan/src/main/java/com/chinaztt/mes/plan/service/CustomerService.java b/mes-plan/src/main/java/com/chinaztt/mes/plan/service/CustomerService.java index 8b5e295..2a1bdd8 100644 --- a/mes-plan/src/main/java/com/chinaztt/mes/plan/service/CustomerService.java +++ b/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(); } diff --git a/mes-plan/src/main/java/com/chinaztt/mes/plan/service/impl/CustomerOrderServiceImpl.java b/mes-plan/src/main/java/com/chinaztt/mes/plan/service/impl/CustomerOrderServiceImpl.java index f80edeb..fd63ef6 100644 --- a/mes-plan/src/main/java/com/chinaztt/mes/plan/service/impl/CustomerOrderServiceImpl.java +++ b/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(); + } + //濡傛灉杩欎釜鍗曞瓙鍦∣TC涓彇娑堢姸鎬� 閭e氨鍒犻櫎 + if (otcOrderStatus.equals("宸插彇娑�")) { + if (customerOrder.getId() != null) { + baseMapper.deleteById(customerOrder.getId()); + } + continue; + } + //OTC鍚堝悓鍙蜂富琛╥d + 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锛氭櫘閫氾紝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(); - } - //濡傛灉杩欎釜鍗曞瓙鍦∣TC涓彇娑堢姸鎬� 閭e氨鍒犻櫎 - if (otcOrderStatus.equals("宸插彇娑�")) { - if (customerOrder.getId() != null) { - baseMapper.deleteById(customerOrder.getId()); - } - continue; - } - //OTC鍚堝悓鍙蜂富琛╥d - 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()); - //閿�鍞暟閲忓師鍏圤TC鐨勫崟浣� - 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锛氭櫘閫氾紝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(); + // } + // //濡傛灉杩欎釜鍗曞瓙鍦∣TC涓彇娑堢姸鎬� 閭e氨鍒犻櫎 + // if (otcOrderStatus.equals("宸插彇娑�")) { + // if (customerOrder.getId() != null) { + // baseMapper.deleteById(customerOrder.getId()); + // } + // continue; + // } + // //OTC鍚堝悓鍙蜂富琛╥d + // 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()); + // //閿�鍞暟閲忓師鍏圤TC鐨勫崟浣� + // 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锛氭櫘閫氾紝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 涓昏〃鐨刯sonObj diff --git a/mes-plan/src/main/java/com/chinaztt/mes/plan/service/impl/CustomerServiceImpl.java b/mes-plan/src/main/java/com/chinaztt/mes/plan/service/impl/CustomerServiceImpl.java index d85b3ac..f5db505 100644 --- a/mes-plan/src/main/java/com/chinaztt/mes/plan/service/impl/CustomerServiceImpl.java +++ b/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; } diff --git a/mes-plan/src/main/java/com/chinaztt/mes/plan/vo/CustomerOrderVO.java b/mes-plan/src/main/java/com/chinaztt/mes/plan/vo/CustomerOrderVO.java new file mode 100644 index 0000000..61a4bfa --- /dev/null +++ b/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; +} diff --git a/mes-plan/src/main/java/com/chinaztt/mes/plan/vo/CustomerOrderVO1.java b/mes-plan/src/main/java/com/chinaztt/mes/plan/vo/CustomerOrderVO1.java new file mode 100644 index 0000000..20a26ab --- /dev/null +++ b/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; + /** + * 姝f湰鐘舵�� + */ + @ApiModelProperty(value="姝f湰鐘舵��") + private String originalContractStatus; + /** + * 椤圭洰鎬ц川 + */ + @ApiModelProperty(value="椤圭洰鎬ц川") + private String isCp; + /** + * 瀹㈡埛缂栫爜 + */ + @ApiModelProperty(value="瀹㈡埛缂栫爜") + private String customerNo; + /** + * 鍚堝悓姝f湰鐘舵�� + */ + @ApiModelProperty(value="鍚堝悓姝f湰鐘舵��") + 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; +} diff --git a/mes-plan/src/main/java/com/chinaztt/mes/plan/vo/CustomerOrderVO2.java b/mes-plan/src/main/java/com/chinaztt/mes/plan/vo/CustomerOrderVO2.java new file mode 100644 index 0000000..b3a6ba9 --- /dev/null +++ b/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; + + //鍚堝悓姝f湰鐘舵�� + private String returnStatus; + + //姝f湰鐘舵�� + private String originalContractStatus; + + //涓氬姟鍛� + private String salesMan; + + /** + * 鍒堕�犲睘鎬� + */ + @ApiModelProperty(value = "鍒堕�犲睘鎬�") + private String manufactureAttr; + + /** + * 澶囨敞 + */ + @ApiModelProperty(value = "澶囨敞") + private String remark; + +} diff --git a/mes-plan/src/main/java/com/chinaztt/mes/plan/vo/CustomerVO.java b/mes-plan/src/main/java/com/chinaztt/mes/plan/vo/CustomerVO.java new file mode 100644 index 0000000..db6f10a --- /dev/null +++ b/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; + /** + * 姝f湰鐘舵�� + */ + @ApiModelProperty(value="姝f湰鐘舵��") + private String originalContractStatus; + /** + * 椤圭洰鎬ц川 + */ + @ApiModelProperty(value="椤圭洰鎬ц川") + private String isCp; + /** + * 瀹㈡埛缂栫爜 + */ + @ApiModelProperty(value="瀹㈡埛缂栫爜") + private String customerNo; + /** + * 鍚堝悓姝f湰鐘舵�� + */ + @ApiModelProperty(value="鍚堝悓姝f湰鐘舵��") + private String returnStatus; + /** + * 涓嬪崟鏃ユ湡 + */ + @ApiModelProperty(value="涓嬪崟鏃ユ湡") + private LocalDateTime placeOrderDate; + + /** + * 宸ュ巶涓嬪崟鏃ユ湡 + */ + @ApiModelProperty(value="宸ュ巶涓嬪崟鏃ユ湡") + private LocalDateTime factoryPlaceOrderDate; + + /** + * 璁㈠崟澶囨敞 + */ + @ApiModelProperty(value="璁㈠崟澶囨敞") + private String comment; + + //浜у搧鍗曞悎闆� + private List<CustomerOrderVO> customerOrderVOList; + +} diff --git a/mes-plan/src/main/resources/mapper/CustomerOrderMapper.xml b/mes-plan/src/main/resources/mapper/CustomerOrderMapper.xml index 184e593..b9ac663 100644 --- a/mes-plan/src/main/resources/mapper/CustomerOrderMapper.xml +++ b/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"> diff --git a/mes-web/src/main/resources/bootstrap.yml b/mes-web/src/main/resources/bootstrap.yml index d99f0d8..1d6e43d 100644 --- a/mes-web/src/main/resources/bootstrap.yml +++ b/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 -- Gitblit v1.9.3