|
@@ -14,6 +14,8 @@ import com.rongwei.bsentity.vo.CommonUpdateProductionStatusReq;
|
|
|
import com.rongwei.bsentity.vo.PreviousProcessVo;
|
|
|
import com.rongwei.bsentity.vo.ProcessIdRelationVo;
|
|
|
import com.rongwei.commonservice.service.SysMindMappingService;
|
|
|
+import com.rongwei.rwadmincommon.system.domain.SysOrganizationDo;
|
|
|
+import com.rongwei.rwadmincommon.system.service.SysOrganizationService;
|
|
|
import com.rongwei.rwcommon.base.R;
|
|
|
import com.rongwei.rwcommon.utils.SecurityUtil;
|
|
|
import com.rongwei.rwcommon.utils.StringUtils;
|
|
@@ -71,6 +73,10 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
|
private ApsProductionOrderService apsProductionOrderService;
|
|
|
@Autowired
|
|
|
private ApsBlankOrderService apsBlankOrderService;
|
|
|
+ @Autowired
|
|
|
+ private AspCheckItemsService aspCheckItemsService;
|
|
|
+ @Autowired
|
|
|
+ private SysOrganizationService sysOrganizationService;
|
|
|
|
|
|
|
|
|
private final static Map<String, String> UNIT_MAP = new HashMap<String, String>() {{
|
|
@@ -530,6 +536,14 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
|
e.printStackTrace();
|
|
|
return R.error("请输入正确的坯料计划ID");
|
|
|
}
|
|
|
+ Boolean checkDeviceAndOrgCode = false;
|
|
|
+ try {
|
|
|
+ if (params.containsKey("checkDeviceAndOrgCode")) {
|
|
|
+ checkDeviceAndOrgCode = true;
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
//查询坯料计划对应的工序作业
|
|
|
List<ApsProcessOperationDo> apsProcessOperationList = this.baseMapper.selectList(new QueryWrapper<ApsProcessOperationDo>().lambda().eq(ApsProcessOperationDo::getBlankid, blankId));
|
|
|
//判断工序作业是否为空,为空表示没有选择工艺路线
|
|
@@ -577,6 +591,53 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ //校验工序作业明细的加工设备和加工车间的代号是否为空
|
|
|
+ if (checkDeviceAndOrgCode) {
|
|
|
+ //查询坯料计划对应的所有工序作业明细
|
|
|
+ List<ApsProcessOperationProcessEquDo> list = apsProcessOperationProcessEquService.list(new QueryWrapper<ApsProcessOperationProcessEquDo>().lambda().eq(ApsProcessOperationProcessEquDo::getBlankid, blankId));
|
|
|
+ //获取所有工序作业明细的加工设备
|
|
|
+ Set<String> deviceIds = list.stream().filter(item -> ObjectUtil.isNotEmpty(item.getProcessdeviceid())).map(ApsProcessOperationProcessEquDo::getProcessdeviceid).collect(Collectors.toSet());
|
|
|
+ //查询设备对应的代号
|
|
|
+ List<AspCheckItemsDo> deviceList = aspCheckItemsService.list(new QueryWrapper<AspCheckItemsDo>().lambda().in(AspCheckItemsDo::getId, deviceIds));
|
|
|
+ //组装成map类型,以便筛选和查询
|
|
|
+ Map<String, Object> deviceMap = new HashMap<>();
|
|
|
+ for (AspCheckItemsDo aspCheckItemsDo : deviceList) {
|
|
|
+ deviceMap.put(aspCheckItemsDo.getId(), aspCheckItemsDo.getEquipmentcode());
|
|
|
+ }
|
|
|
+ //获取所有工序作业明细的加工车间
|
|
|
+ Set<String> workShopIds = list.stream().filter(item -> ObjectUtil.isNotEmpty(item.getProcessworkshopid())).map(ApsProcessOperationProcessEquDo::getProcessworkshopid).collect(Collectors.toSet());
|
|
|
+ //查询车间对应的代号
|
|
|
+ List<SysOrganizationDo> workSopList = sysOrganizationService.list(new QueryWrapper<SysOrganizationDo>().lambda().in(SysOrganizationDo::getId, workShopIds));
|
|
|
+ //组装成map类型,以便筛选和查询
|
|
|
+ Map<String, Object> workShopMap = new HashMap<>();
|
|
|
+ for (SysOrganizationDo sysOrganizationDo : workSopList) {
|
|
|
+ workShopMap.put(sysOrganizationDo.getId(), sysOrganizationDo.getMark());
|
|
|
+ }
|
|
|
+
|
|
|
+ //遍历查询是否有工序没有对应的设备代号和车间代号
|
|
|
+ for (ApsProcessOperationProcessEquDo equDo : list) {
|
|
|
+ //查询工序作业
|
|
|
+ ApsProcessOperationDo apsProcessOperationDo = apsProcessOperationList.stream().filter(item -> item.getId().equals(equDo.getProcessid())).findFirst().get();
|
|
|
+
|
|
|
+ //校验设备代号
|
|
|
+ if (ObjectUtil.isNotEmpty(equDo.getProcessdeviceid())) {
|
|
|
+ if (deviceMap.containsKey(equDo.getProcessdeviceid())) {
|
|
|
+ if (ObjectUtil.isEmpty(deviceMap.get(equDo.getProcessdeviceid()))) {
|
|
|
+ return R.error(apsProcessOperationDo.getProcess() + apsProcessOperationDo.getProcessname() + "的加工设备" + equDo.getProcessdevice() + "代号不能为空");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //校验车间代号
|
|
|
+ if (ObjectUtil.isNotEmpty(equDo.getProcessworkshopid())) {
|
|
|
+ if (workShopMap.containsKey(equDo.getProcessworkshopid())) {
|
|
|
+ if (ObjectUtil.isEmpty(workShopMap.get(equDo.getProcessworkshopid()))) {
|
|
|
+ return R.error(apsProcessOperationDo.getProcess() + apsProcessOperationDo.getProcessname() + "的加工车间" + equDo.getProcessworkshop() + "代号不能为空");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
return R.ok();
|
|
|
|
|
|
}
|