zouyu
2023-11-17 2b0dc519ddc4fefcabc7f60dcda4968964155e11
mes-plan/src/main/java/com/chinaztt/mes/plan/service/impl/CustomerOrderServiceImpl.java
@@ -93,10 +93,10 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.util.Assert;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
@@ -194,7 +194,7 @@
   private final static String AFFILIATED_CONTRACT = "中天注塑厂";
   //private FileSaveUtil fileSaveUtil;
   @Override
   public void otcDownload(Long id, HttpServletResponse response) {
@@ -257,8 +257,9 @@
   private void changeAudit(CustomerOrder customerOrder, String isAudit) {
      //审核状态 通过 订单状态待计划
      if (isAudit.equals(AuditStateStringValues.ACCEPTED)) {
         //TODO: 要加零件id参数
         Document document = documentMapper.selectById(customerOrder.getTechnologyDocumentId());
         Part part = partMapper.selectOne(Wrappers.<Part>lambdaQuery().eq(Part::getEngChgLevel, "1").eq(Part::getPartNo, customerOrder.getPartNo()));
         Part part = partMapper.selectOne(Wrappers.<Part>lambdaQuery().eq(Part::getEngChgLevel, "1").eq(Part::getId,customerOrder.getPartId() ));
         if (null == part) {
            throw new RuntimeException("根据零件编号 = 【" + customerOrder.getPartNo() + "】MES本地查无匹配零件对象");
         }
@@ -286,42 +287,17 @@
   @Override
   public R fullUpdate(CustomerOrderDTO customerOrderDTO) {
      List<String> unitWhitMapList = customerOrderUnitWhiteListConfig.getUnitWhitListMap();
      String unitConcat = customerOrderDTO.getOtcUnit() + "_" + customerOrderDTO.getIfsSalesUnit();
      if (!customerOrderDTO.getOtcUnit().equals(customerOrderDTO.getIfsSalesUnit()) && !unitWhitMapList.contains(unitConcat)) {
         //如果销售单位和ifs中销售单位不一样则不给保存A
         return R.failed("订单行销售单位和销售件销售计量单位不一致并且白名单中不存在对应关系");
      } else {
         if (StringUtils.isNotBlank(customerOrderDTO.getPartNo())) {
            Part part = partMapper.selectOne(Wrappers.<Part>lambdaQuery().eq(Part::getPartNo, customerOrderDTO.getPartNo()));
            if (null == part) {
               throw new RuntimeException("根据零件编号 = 【" + customerOrderDTO.getPartNo() + "】MES本地查无匹配零件对象");
            }
         }
         if (StringUtils.isNotBlank(customerOrderDTO.getSalesPartNo())) {
            Part part = partMapper.selectOne(Wrappers.<Part>lambdaQuery().eq(Part::getPartNo, customerOrderDTO.getSalesPartNo()));
            if (null == part) {
               throw new RuntimeException("根据销售件编号 = 【" + customerOrderDTO.getSalesPartNo() + "】MES本地查无匹配零件对象");
            }
         }
         // 如果销售零件号未修改,otc同步状态不需要更新
         CustomerOrder oriCustomerOrder = customerOrderMapper.selectById(customerOrderDTO.getId());
         if (!org.apache.commons.lang3.StringUtils.equals(oriCustomerOrder.getSalesPartNo(),
               customerOrderDTO.getSalesPartNo())) {
            customerOrderDTO.setOtcPartSync(false);
         }
         //mes数量 = 订单数量 * 因子
         Assert.notNull(customerOrderDTO.getIfsConvFactor(), "请选择销售零件号");
         customerOrderDTO.setBuyQtyDue(customerOrderDTO.getIfsConvFactor().multiply(customerOrderDTO.getOtcQuantity()));
         if (BooleanUtil.isTrue(customerOrderDTO.getIsDocument())) {
            customerOrderDTO.setCoState(CustomerOrderStateStringValues.PLAN);
         } else {
            customerOrderDTO.setCoState(CustomerOrderStateStringValues.TECHNOLOGYUNCHECK);
         }
         updateById(customerOrderDTO);
         return R.ok();
      }
   public R fullUpdate(CustomerOrderVO1 customerOrderVO1) {
      CustomerOrder customerOrder = new CustomerOrder();
      BeanUtils.copyProperties(customerOrderVO1,customerOrder);
      customerOrder.setId(customerOrderVO1.getId());
      customerOrderMapper.updateById(customerOrder);
      Customer customer = new Customer();
      BeanUtils.copyProperties(customerOrderVO1,customer);
      customer.setId(customerOrderMapper.selectById(customerOrderVO1.getId()).getCustomerId());
      customerMapper.updateById(customer);
      return R.ok("修改成功!");
   }
   @Override
@@ -709,9 +685,6 @@
               .contentType("application/json")
               .header("Authorization", "Bearer " + token).form(map).execute().body();
         JSONObject result = JSONObject.parseObject(str);
         log.info("主表长度============================================>"+result.getJSONArray("data").size());
         //jsonArray.forEach();
         //return null;
         //主表参数表
         List<OrderParam> orderParams = orderParamService.list();
         if (result.getInteger("code") == 0) {
@@ -836,7 +809,7 @@
                  customerOrder = new CustomerOrder();
               }
               //如果这个单子在OTC中取消状态 那就删除
               if (otcOrderStatus.equals("已取消")) {
               if (otcOrderStatus.equals(OTC_MAIN_STATUS_CANCEL)) {
                  if (customerOrder.getId() != null) {
                     baseMapper.deleteById(customerOrder.getId());
                  }
@@ -924,7 +897,7 @@
                  } else {
                     customerOrder.setCoState(CustomerOrderStateStringValues.PARTUNCHECKED);
                  }
                  if (org.apache.commons.lang3.StringUtils.equals("已下达", otcMainStatus)) {
                  if (org.apache.commons.lang3.StringUtils.equals(OTC_MAIN_STATUS_TRANSMIT, otcMainStatus)) {
                     customerOrder.setCoState(CustomerOrderStateStringValues.TECHNOLOGYUNCHECK);
                     customerOrder.setOtcPartSync(Boolean.TRUE);
                  }
@@ -933,8 +906,8 @@
                     customerOrder.setCoState(CustomerOrderStateStringValues.TECHNOLOGYUNCHECK);
                     customerOrder.setOtcPartSync(Boolean.TRUE);
                  }
                  //审核状态为 01draft 草稿
                  customerOrder.setIsAudit(AuditStateStringValues.DRAFT);
                  //审核状态为 03accepted 通过
                  customerOrder.setIsAudit(AuditStateStringValues.ACCEPTED);
                  baseMapper.insert(customerOrder);
               }
               addCustomerPara(customerJSONObject, customerOrderJSONObject, customerOrder, orderParamList);
@@ -1936,7 +1909,9 @@
   public R deleteProcessConfigFile(Long id) {
      try {
         OrderProcessConfigFile configFile = orderProcessConfigFileMapper.selectById(id);
         minioTemplate.removeObject(configFile.getBucketName(), configFile.getFileName());
         String filePath=FileSaveUtil.FILE_PATH+"//"+configFile.getBucketName();
         boolean del = FileUtil.del(new File(filePath));
         //minioTemplate.removeObject(configFile.getBucketName(), configFile.getFileName());
         orderProcessConfigFileMapper.deleteById(id);
         processConfigFileOrderMappingMapper.delete(Wrappers.<ProcessConfigFileOrderMapping>lambdaQuery().eq(ProcessConfigFileOrderMapping::getConfigFileId, id));
         return R.ok();