|
@@ -14,6 +14,7 @@ import com.rongwei.bsentity.vo.*;
|
|
import com.rongwei.rwadmincommon.system.vo.SysUserVo;
|
|
import com.rongwei.rwadmincommon.system.vo.SysUserVo;
|
|
import com.rongwei.rwcommon.base.BaseDo;
|
|
import com.rongwei.rwcommon.base.BaseDo;
|
|
import com.rongwei.rwcommon.base.R;
|
|
import com.rongwei.rwcommon.base.R;
|
|
|
|
+import com.rongwei.rwcommon.utils.SecurityUtil;
|
|
import com.rongwei.rwcommon.utils.StringUtils;
|
|
import com.rongwei.rwcommon.utils.StringUtils;
|
|
import com.rongwei.rwcommon.vo.MailDo;
|
|
import com.rongwei.rwcommon.vo.MailDo;
|
|
import com.rongwei.safecommon.fegin.CXCommonFeginClient;
|
|
import com.rongwei.safecommon.fegin.CXCommonFeginClient;
|
|
@@ -21,6 +22,7 @@ import com.rongwei.safecommon.utils.CXCommonUtils;
|
|
import com.rongwei.safecommon.utils.SaveConstans;
|
|
import com.rongwei.safecommon.utils.SaveConstans;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
@@ -64,7 +66,39 @@ public class ApsProductionOrderServiceImpl extends ServiceImpl<ApsProductionOrde
|
|
private ApsProductionMergeOrderService apsProductionMergeOrderService;
|
|
private ApsProductionMergeOrderService apsProductionMergeOrderService;
|
|
@Autowired
|
|
@Autowired
|
|
private ApsOrderAlloyCompositionService apsOrderAlloyCompositionService;
|
|
private ApsOrderAlloyCompositionService apsOrderAlloyCompositionService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private ApsProductionMergeOrderDao apsProductionMergeOrderDao;
|
|
|
|
+ @Autowired
|
|
|
|
+ private ApsProductionTechnicalRequirementDao apsProductionTechnicalRequirementDao;
|
|
|
|
+ @Autowired
|
|
|
|
+ private ApsOrderAlloyCompositionDao apsOrderAlloyCompositionDao;
|
|
|
|
+ @Autowired
|
|
|
|
+ private ApsProductionMergeOrderHistoryService apsProductionMergeOrderHistoryService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private ApsProductDetailHistoryService apsProductDetailHistoryService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private ApsOrderAlloyCompositionHistoryService apsOrderAlloyCompositionHistoryService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private ApsProductionTechnicalRequirementHistoryService apsProductionTechnicalRequirementHistoryService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private ApsBlankOrderHistoryService apsBlankOrderHistoryService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private ApsProcessOutputProductDao apsProcessOutputProductDao;
|
|
|
|
+ @Autowired
|
|
|
|
+ private ApsProcessOutputProductHistoryService apsProcessOutputProductHistoryService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private ApsProcessOperationHistoryService apsProcessOperationHistoryService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private ApsProcessOperationOutMaterHistoryService apsProcessOperationOutMaterHistoryService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private ApsProcessOperationEquHistoryService apsProcessOperationEquHistoryService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private ApsProcessOperationOutMaterDao apsProcessOperationOutMaterDao;
|
|
|
|
+ @Autowired
|
|
|
|
+ private ApsProcessOperationEquDao apsProcessOperationEquDao;
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ private ApsProductionOrderHistoryService apsProductionOrderHistoryService;
|
|
public static final String ERROR_MSG = "%s上诉订单的排程交货期大于承诺交货期";
|
|
public static final String ERROR_MSG = "%s上诉订单的排程交货期大于承诺交货期";
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -492,6 +526,165 @@ public class ApsProductionOrderServiceImpl extends ServiceImpl<ApsProductionOrde
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /*
|
|
|
|
+ 根据保存前数据的 id 获取撤回前版本所有主子表信息
|
|
|
|
+ */
|
|
|
|
+ @Override
|
|
|
|
+ public R saveHistoryInfo(String id) {
|
|
|
|
+ //获取保存前主子表信息
|
|
|
|
+ ApsProductionOrderDo apsProductionOrderDo = this.baseMapper.selectDataInfo(id);
|
|
|
|
+ if (apsProductionOrderDo != null) {
|
|
|
|
+ //创建一个map集合
|
|
|
|
+ Map<String, String> ApsProductDetailMap = new HashMap<>();
|
|
|
|
+
|
|
|
|
+ ApsProductionOrderHistoryDo apsProductionOrderHistoryDo = new ApsProductionOrderHistoryDo();
|
|
|
|
+ BeanUtils.copyProperties(apsProductionOrderDo, apsProductionOrderHistoryDo);
|
|
|
|
+ apsProductionOrderHistoryDo.setHistorytableid(apsProductionOrderDo.getId());
|
|
|
|
+ apsProductionOrderHistoryDo.setId(SecurityUtil.getUUID());
|
|
|
|
+ apsProductionOrderHistoryService.save(apsProductionOrderHistoryDo);
|
|
|
|
+
|
|
|
|
+ //获取合并订单列表
|
|
|
|
+ List<ApsProductionMergeOrderDo> apsProductionMergeOrderDoList = apsProductionMergeOrderDao.selectApsProductionMergeOrderDoByMainId(apsProductionOrderDo.getId());
|
|
|
|
+ if (apsProductionMergeOrderDoList != null && apsProductionMergeOrderDoList.size() > 0) {
|
|
|
|
+ for (ApsProductionMergeOrderDo apsProductionMergeOrderDo: apsProductionMergeOrderDoList) {
|
|
|
|
+ //将apsProductionMergeOrderDo的数据复制到apsProductionMergeOrderHistoryDo
|
|
|
|
+ ApsProductionMergeOrderHistoryDo apsProductionMergeOrderHistoryDo = new ApsProductionMergeOrderHistoryDo();
|
|
|
|
+ BeanUtils.copyProperties(apsProductionMergeOrderDo, apsProductionMergeOrderHistoryDo);
|
|
|
|
+ //订单表和历史版本表关联
|
|
|
|
+ apsProductionMergeOrderHistoryDo.setMainid(apsProductionOrderHistoryDo.getId());
|
|
|
|
+ apsProductionMergeOrderHistoryDo.setId(SecurityUtil.getUUID());
|
|
|
|
+ //保存apsProductionMergeOrderHistoryDo
|
|
|
|
+ apsProductionMergeOrderHistoryService.save(apsProductionMergeOrderHistoryDo);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ //获取产品明细
|
|
|
|
+ List<ApsProductDetailDo> apsProductDetailDoList = apsProductDetailDao.getProductDetailByMainId(apsProductionOrderDo.getId());
|
|
|
|
+ if (apsProductDetailDoList != null && apsProductDetailDoList.size() > 0) {
|
|
|
|
+
|
|
|
|
+ for (ApsProductDetailDo apsProductDetailDo : apsProductDetailDoList) {
|
|
|
|
+ //将apsProductDetailDo的数据复制到apsProductDetailHistoryDo
|
|
|
|
+ ApsProductDetailHistoryDo apsProductDetailHistoryDo = new ApsProductDetailHistoryDo();
|
|
|
|
+ BeanUtils.copyProperties(apsProductDetailDo, apsProductDetailHistoryDo);
|
|
|
|
+ //关联历史版本主表 id
|
|
|
|
+ apsProductDetailHistoryDo.setMainid(apsProductionOrderHistoryDo.getId());
|
|
|
|
+ apsProductDetailHistoryDo.setId(SecurityUtil.getUUID());
|
|
|
|
+
|
|
|
|
+ //保存aps
|
|
|
|
+ apsProductDetailHistoryService.save(apsProductDetailHistoryDo);
|
|
|
|
+
|
|
|
|
+ //通过产品明细 id 获取 坯料输出成品 aps_process_output_product (关联id:PRODUCTID)
|
|
|
|
+ List<ApsProcessOutputProductDo> apsProcessOutputProductDoList = apsProcessOutputProductDao.getProcessOutputProductByProductid(apsProductDetailDo.getId());
|
|
|
|
+ if (apsProcessOutputProductDoList != null && apsProcessOutputProductDoList.size() > 0) {
|
|
|
|
+
|
|
|
|
+ for (ApsProcessOutputProductDo apsProcessOutputProductDo : apsProcessOutputProductDoList) {
|
|
|
|
+ //向ApsProductDetailMap集合中插入产品明细数据的老 id 和历史版本对应数据的新 id
|
|
|
|
+ ApsProductDetailMap.put(apsProcessOutputProductDo.getId(), apsProductDetailHistoryDo.getId());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ //获取技术要求
|
|
|
|
+ List<ApsProductionTechnicalRequirementDo> apsProductionTechnicalRequirementDoList = apsProductionTechnicalRequirementDao.selectByOrderid(apsProductionOrderDo.getId());
|
|
|
|
+ if (apsProductionTechnicalRequirementDoList != null && apsProductionTechnicalRequirementDoList.size() > 0) {
|
|
|
|
+ for (ApsProductionTechnicalRequirementDo apsProductionTechnicalRequirementDo : apsProductionTechnicalRequirementDoList) {
|
|
|
|
+ ApsProductionTechnicalRequirementHistoryDo apsProductionTechnicalRequirementHistoryDo = new ApsProductionTechnicalRequirementHistoryDo();
|
|
|
|
+ BeanUtils.copyProperties(apsProductionTechnicalRequirementDo, apsProductionTechnicalRequirementHistoryDo);
|
|
|
|
+ apsProductionTechnicalRequirementHistoryDo.setOrderid(apsProductionOrderHistoryDo.getId());
|
|
|
|
+ apsProductionTechnicalRequirementHistoryDo.setId(SecurityUtil.getUUID());
|
|
|
|
+ apsProductionTechnicalRequirementHistoryService.save(apsProductionTechnicalRequirementHistoryDo);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ //获取合金成分要求
|
|
|
|
+ List<ApsOrderAlloyCompositionDo> apsOrderAlloyCompositionDoList = apsOrderAlloyCompositionDao.getAlloyCompositionByProductionorderId(apsProductionOrderDo.getId());
|
|
|
|
+
|
|
|
|
+ if (apsOrderAlloyCompositionDoList != null && apsOrderAlloyCompositionDoList.size() > 0) {
|
|
|
|
+
|
|
|
|
+ for (ApsOrderAlloyCompositionDo apsOrderAlloyCompositionDo : apsOrderAlloyCompositionDoList) {
|
|
|
|
+ ApsOrderAlloyCompositionHistoryDo apsOrderAlloyCompositionHistoryDo = new ApsOrderAlloyCompositionHistoryDo();
|
|
|
|
+ BeanUtils.copyProperties(apsOrderAlloyCompositionDo, apsOrderAlloyCompositionHistoryDo);
|
|
|
|
+ apsOrderAlloyCompositionHistoryDo.setProductionorderid(apsProductionOrderHistoryDo.getId());
|
|
|
|
+ apsOrderAlloyCompositionHistoryDo.setId(SecurityUtil.getUUID());
|
|
|
|
+ apsOrderAlloyCompositionHistoryService.save(apsOrderAlloyCompositionHistoryDo);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ //获取坯料计划
|
|
|
|
+ List<ApsBlankOrderDo> apsBlankOrderDoList = apsBlankOrderDao.selectBlankOrderByProductionorderId(apsProductionOrderDo.getId());
|
|
|
|
+
|
|
|
|
+ if (apsBlankOrderDoList != null && apsBlankOrderDoList.size() > 0) {
|
|
|
|
+
|
|
|
|
+ for (ApsBlankOrderDo apsBlankOrderDo : apsBlankOrderDoList) {
|
|
|
|
+ ApsBlankOrderHistoryDo apsBlankOrderHistoryDo = new ApsBlankOrderHistoryDo();
|
|
|
|
+ BeanUtils.copyProperties(apsBlankOrderDo, apsBlankOrderHistoryDo);
|
|
|
|
+ apsBlankOrderHistoryDo.setProductionorderid(apsProductionOrderHistoryDo.getId());
|
|
|
|
+ apsBlankOrderHistoryDo.setId(SecurityUtil.getUUID());
|
|
|
|
+ apsBlankOrderHistoryService.save(apsBlankOrderHistoryDo);
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ //根据坯料计划id获取 坯料输出成品 aps_process_output_product子表数据
|
|
|
|
+ List<ApsProcessOutputProductDo> apsProcessOutputProductDoList = apsProcessOutputProductDao.getProcessOutputProductByBlankId(apsBlankOrderDo.getId());
|
|
|
|
+ if (apsProcessOutputProductDoList != null && apsProcessOutputProductDoList.size() > 0) {
|
|
|
|
+ for (ApsProcessOutputProductDo apsProcessOutputProductDo : apsProcessOutputProductDoList) {
|
|
|
|
+ ApsProcessOutputProductHistoryDo apsProcessOutputProductHistoryDo = new ApsProcessOutputProductHistoryDo();
|
|
|
|
+ BeanUtils.copyProperties(apsProcessOutputProductDo, apsProcessOutputProductHistoryDo);
|
|
|
|
+ //ApsProductDetailMap不为 null 则 如果键为apsProcessOutputProductDo.getId() 数据存在 map 中 则获取到其值 并且赋值到productid 字段
|
|
|
|
+ if (ApsProductDetailMap != null && ApsProductDetailMap.containsKey(apsProcessOutputProductDo.getId())) {
|
|
|
|
+ apsProcessOutputProductHistoryDo.setProductid(ApsProductDetailMap.get(apsProcessOutputProductDo.getId()));
|
|
|
|
+ }
|
|
|
|
+ apsProcessOutputProductHistoryDo.setBlankid(apsBlankOrderHistoryDo.getId());
|
|
|
|
+ apsProcessOutputProductHistoryDo.setId(SecurityUtil.getUUID());
|
|
|
|
+ apsProcessOutputProductHistoryService.save(apsProcessOutputProductHistoryDo);
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //根据坯料计划id获取 工序作业 aps_process_operation 子表数据
|
|
|
|
+ List<ApsProcessOperationDo> apsProcessOperationDoList = apsProcessOperationDao.getProcessOperationByBlankId(apsBlankOrderDo.getId());
|
|
|
|
+
|
|
|
|
+ if (apsProcessOperationDoList != null && apsProcessOperationDoList.size() > 0) {
|
|
|
|
+ for (ApsProcessOperationDo apsProcessOperationDo : apsProcessOperationDoList) {
|
|
|
|
+ ApsProcessOperationHistoryDo apsProcessOperationHistoryDo = new ApsProcessOperationHistoryDo();
|
|
|
|
+ BeanUtils.copyProperties(apsProcessOperationDo, apsProcessOperationHistoryDo);
|
|
|
|
+ apsProcessOperationHistoryDo.setBlankid(apsBlankOrderHistoryDo.getId());
|
|
|
|
+ apsProcessOperationHistoryDo.setId(SecurityUtil.getUUID());
|
|
|
|
+ apsProcessOperationHistoryService.save(apsProcessOperationHistoryDo);
|
|
|
|
+
|
|
|
|
+ //根据工序作业 id 获取 输出物料 aps_process_operation_out_mater
|
|
|
|
+ List<ApsProcessOperationOutMaterDo> apsProcessOperationOutMaterDoList = apsProcessOperationOutMaterDao.getProcessOperationOutMaterByMainId(apsProcessOperationDo.getId());
|
|
|
|
+
|
|
|
|
+ if (apsProcessOperationOutMaterDoList != null && apsProcessOperationOutMaterDoList.size() > 0) {
|
|
|
|
+ for (ApsProcessOperationOutMaterDo apsProcessOperationOutMaterDo : apsProcessOperationOutMaterDoList) {
|
|
|
|
+ ApsProcessOperationOutMaterHistoryDo apsProcessOperationOutMaterHistoryDo = new ApsProcessOperationOutMaterHistoryDo();
|
|
|
|
+ BeanUtils.copyProperties(apsProcessOperationOutMaterDo, apsProcessOperationOutMaterHistoryDo);
|
|
|
|
+ apsProcessOperationOutMaterHistoryDo.setMainid(apsProcessOperationHistoryDo.getId());
|
|
|
|
+ apsProcessOperationOutMaterHistoryDo.setId(SecurityUtil.getUUID());
|
|
|
|
+ apsProcessOperationOutMaterHistoryService.save(apsProcessOperationOutMaterHistoryDo);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ //根据工序作业 id 获取 可选设备 aps_process_operation_equ
|
|
|
|
+ List<ApsProcessOperationEquDo> apsProcessOperationEquDoList = apsProcessOperationEquDao.getProcessOperationEquByMainId(apsProcessOperationDo.getId());
|
|
|
|
+
|
|
|
|
+ if (apsProcessOperationEquDoList != null && apsProcessOperationEquDoList.size() > 0) {
|
|
|
|
+ for (ApsProcessOperationEquDo apsProcessOperationEquDo : apsProcessOperationEquDoList) {
|
|
|
|
+ ApsProcessOperationEquHistoryDo apsProcessOperationEquHistoryDo = new ApsProcessOperationEquHistoryDo();
|
|
|
|
+ BeanUtils.copyProperties(apsProcessOperationEquDo, apsProcessOperationEquHistoryDo);
|
|
|
|
+ apsProcessOperationEquHistoryDo.setMainid(apsProcessOperationHistoryDo.getId());
|
|
|
|
+ apsProcessOperationEquHistoryDo.setId(SecurityUtil.getUUID());
|
|
|
|
+ apsProcessOperationEquHistoryService.save(apsProcessOperationEquHistoryDo);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return R.ok();
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|