|
@@ -6,26 +6,33 @@ import com.baomidou.dynamic.datasource.annotation.DSTransactional;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.fjhx.file.entity.ObsFile;
|
|
import com.fjhx.file.entity.ObsFile;
|
|
-import com.fjhx.file.service.FileInfoService;
|
|
|
|
import com.fjhx.file.utils.ObsFileUtil;
|
|
import com.fjhx.file.utils.ObsFileUtil;
|
|
|
|
+import com.fjhx.item.entity.product.po.ProductInfo;
|
|
|
|
+import com.fjhx.item.service.product.ProductInfoService;
|
|
import com.fjhx.mes.entity.applicable.po.ApplicableProducts;
|
|
import com.fjhx.mes.entity.applicable.po.ApplicableProducts;
|
|
import com.fjhx.mes.entity.production.dto.ProductionProcessesDto;
|
|
import com.fjhx.mes.entity.production.dto.ProductionProcessesDto;
|
|
import com.fjhx.mes.entity.production.dto.ProductionProcessesSelectDto;
|
|
import com.fjhx.mes.entity.production.dto.ProductionProcessesSelectDto;
|
|
import com.fjhx.mes.entity.production.po.ProductionProcesses;
|
|
import com.fjhx.mes.entity.production.po.ProductionProcesses;
|
|
import com.fjhx.mes.entity.production.vo.ProductionProcessesVo;
|
|
import com.fjhx.mes.entity.production.vo.ProductionProcessesVo;
|
|
import com.fjhx.mes.entity.technology.po.Technology;
|
|
import com.fjhx.mes.entity.technology.po.Technology;
|
|
|
|
+import com.fjhx.mes.entity.technology.po.TechnologyProcessLine;
|
|
import com.fjhx.mes.entity.work.po.WorkOrder;
|
|
import com.fjhx.mes.entity.work.po.WorkOrder;
|
|
import com.fjhx.mes.mapper.production.ProductionProcessesMapper;
|
|
import com.fjhx.mes.mapper.production.ProductionProcessesMapper;
|
|
import com.fjhx.mes.service.applicable.ApplicableProductsService;
|
|
import com.fjhx.mes.service.applicable.ApplicableProductsService;
|
|
import com.fjhx.mes.service.production.ProductionProcessesService;
|
|
import com.fjhx.mes.service.production.ProductionProcessesService;
|
|
|
|
+import com.fjhx.mes.service.technology.TechnologyProcessLineService;
|
|
import com.fjhx.mes.service.technology.TechnologyService;
|
|
import com.fjhx.mes.service.technology.TechnologyService;
|
|
-import com.fjhx.mes.service.work.WorkOrderProductionProcessesService;
|
|
|
|
|
|
+import com.ruoyi.common.core.domain.BasePo;
|
|
import com.ruoyi.common.exception.ServiceException;
|
|
import com.ruoyi.common.exception.ServiceException;
|
|
|
|
+import com.ruoyi.common.utils.SecurityUtils;
|
|
import com.ruoyi.common.utils.wrapper.IWrapper;
|
|
import com.ruoyi.common.utils.wrapper.IWrapper;
|
|
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 java.math.BigDecimal;
|
|
|
|
+import java.util.Date;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -40,13 +47,13 @@ import java.util.List;
|
|
public class ProductionProcessesServiceImpl extends ServiceImpl<ProductionProcessesMapper, ProductionProcesses> implements ProductionProcessesService {
|
|
public class ProductionProcessesServiceImpl extends ServiceImpl<ProductionProcessesMapper, ProductionProcesses> implements ProductionProcessesService {
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
- private FileInfoService fileInfoService;
|
|
|
|
- @Autowired
|
|
|
|
- private WorkOrderProductionProcessesService workOrderProductionProcessesService;
|
|
|
|
- @Autowired
|
|
|
|
private ApplicableProductsService applicableProductsService;
|
|
private ApplicableProductsService applicableProductsService;
|
|
@Autowired
|
|
@Autowired
|
|
private TechnologyService technologyService;
|
|
private TechnologyService technologyService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private TechnologyProcessLineService technologyProcessLineService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private ProductInfoService productInfoService;
|
|
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -83,7 +90,31 @@ public class ProductionProcessesServiceImpl extends ServiceImpl<ProductionProces
|
|
@DSTransactional
|
|
@DSTransactional
|
|
@Override
|
|
@Override
|
|
public void edit(ProductionProcessesDto productionProcessesDto) {
|
|
public void edit(ProductionProcessesDto productionProcessesDto) {
|
|
-// Assert.notEmpty(productionProcessesDto.getRoleId(),"角色id不能为空");
|
|
|
|
|
|
+ ProductionProcesses productionProcesses = this.getById(productionProcessesDto.getId());
|
|
|
|
+ //修改对应产品价格
|
|
|
|
+ List<Long> technologyIds = technologyProcessLineService.listObject(TechnologyProcessLine::getTechnologyId, q -> q
|
|
|
|
+ .eq(TechnologyProcessLine::getTargetProcessesId, productionProcessesDto.getId())
|
|
|
|
+ );
|
|
|
|
+ if (ObjectUtil.isNotEmpty(technologyIds)) {
|
|
|
|
+ List<Long> pIds = productInfoService.listObject(ProductInfo::getId, q -> q.in(ProductInfo::getTechnologyId, technologyIds));
|
|
|
|
+ if (ObjectUtil.isNotEmpty(pIds)) {
|
|
|
|
+ BigDecimal costPrice = productionProcesses.getCostPrice();
|
|
|
|
+ BigDecimal newCostPrice = productionProcessesDto.getCostPrice();
|
|
|
|
+ costPrice = costPrice == null ? BigDecimal.ZERO : costPrice;
|
|
|
|
+ newCostPrice = newCostPrice == null ? BigDecimal.ZERO : newCostPrice;
|
|
|
|
+
|
|
|
|
+ BigDecimal subtract = newCostPrice.subtract(costPrice);
|
|
|
|
+
|
|
|
|
+ productInfoService.update(q -> q
|
|
|
|
+ .in(ProductInfo::getId, pIds)
|
|
|
|
+ .setSql("price = price + " + subtract)
|
|
|
|
+ .set(BasePo::getUpdateTime, new Date())
|
|
|
|
+ .set(BasePo::getUpdateUser, SecurityUtils.getUserId())
|
|
|
|
+ );
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
List<ObsFile> fileList = productionProcessesDto.getFileList();
|
|
List<ObsFile> fileList = productionProcessesDto.getFileList();
|
|
if (fileList.size() > 0) {
|
|
if (fileList.size() > 0) {
|
|
ObsFile obsFile = fileList.get(0);
|
|
ObsFile obsFile = fileList.get(0);
|
|
@@ -99,6 +130,16 @@ public class ProductionProcessesServiceImpl extends ServiceImpl<ProductionProces
|
|
@DSTransactional
|
|
@DSTransactional
|
|
@Override
|
|
@Override
|
|
public void delete(Long id) {
|
|
public void delete(Long id) {
|
|
|
|
+ //检查工序关联工艺
|
|
|
|
+ List<Long> technologyIds = technologyProcessLineService.listObject(TechnologyProcessLine::getTechnologyId, q -> q
|
|
|
|
+ .eq(TechnologyProcessLine::getTargetProcessesId, id)
|
|
|
|
+ );
|
|
|
|
+ if (ObjectUtil.isNotEmpty(technologyIds)) {
|
|
|
|
+ List<String> strings = technologyService.listObject(Technology::getName, q -> q.in(Technology::getId, technologyIds));
|
|
|
|
+ String collect = strings.stream().collect(Collectors.joining(","));
|
|
|
|
+ throw new ServiceException("该工序关联以下产线:" + collect + "禁止删除!");
|
|
|
|
+ }
|
|
|
|
+
|
|
this.removeById(id);
|
|
this.removeById(id);
|
|
ObsFileUtil.removeFile(id);
|
|
ObsFileUtil.removeFile(id);
|
|
}
|
|
}
|