|
|
|
@ -24,6 +24,7 @@ import com.foreverwin.mesnac.quality.mapper.InspectionTaskManageMapper;
|
|
|
|
|
import com.foreverwin.mesnac.quality.model.InspectionTaskManageDetail;
|
|
|
|
|
import com.foreverwin.mesnac.quality.model.InspectionTaskManage;
|
|
|
|
|
import com.foreverwin.mesnac.quality.service.InspectionTaskManageService;
|
|
|
|
|
import com.foreverwin.modular.core.exception.BaseException;
|
|
|
|
|
import com.foreverwin.modular.core.exception.BusinessException;
|
|
|
|
|
import com.foreverwin.modular.core.util.CommonMethods;
|
|
|
|
|
import org.slf4j.Logger;
|
|
|
|
@ -166,56 +167,9 @@ public class InspectionTaskManageServiceImpl implements InspectionTaskManageServ
|
|
|
|
|
* 3、如果两个工作中心不一样,就会生成转运待办任务
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
SfcDispatch sfcDispatchById = sfcDispatchService.getById(request.getSfcdispatchBo());
|
|
|
|
|
Router router = routerService.getById(sfcDispatchById.getRouterBo());
|
|
|
|
|
if (!router.getRouterType().equals("C")){
|
|
|
|
|
//找下道工序 (返修工序除外)
|
|
|
|
|
QueryWrapper<SfcDispatch> queryWrapper = new QueryWrapper<>();
|
|
|
|
|
queryWrapper.eq(SfcDispatch.SFC,sfcDispatchById.getSfc());
|
|
|
|
|
queryWrapper.eq(SfcDispatch.SHOP_ORDER,sfcDispatchById.getShopOrder());
|
|
|
|
|
queryWrapper.eq(SfcDispatch.DISPATCH_SEQ,String.valueOf(Integer.parseInt(sfcDispatchById.getDispatchSeq())+1));
|
|
|
|
|
SfcDispatch nextsfcDispatch=sfcDispatchService.getOne(queryWrapper);
|
|
|
|
|
//判断下道工序是否为空
|
|
|
|
|
if (nextsfcDispatch!=null && (!nextsfcDispatch.getOperation().equals("HJ_6106JYGX") || !nextsfcDispatch.getOperation().equals("HJ_6106JRGX"))){
|
|
|
|
|
logger.error("质检工序合格"+sfcDispatchById.getOperation()+"的下道工序不为空,下道工序为"+nextsfcDispatch.getOperation());
|
|
|
|
|
//如果不等于空,判断下道工序的工作中心和质检完的工作中心是否一致
|
|
|
|
|
if (!sfcDispatchById.getWorkCenter().equals(nextsfcDispatch.getWorkCenter())){
|
|
|
|
|
logger.error("下道工序和质检工序的工作中心不相同");
|
|
|
|
|
//如果不相等的话 插入周转任务表
|
|
|
|
|
LogisticsTurnover logisticsTurnover=new LogisticsTurnover();
|
|
|
|
|
logisticsTurnover.setHandle("LogisticsBO:1000"+","+UUID.randomUUID().toString());
|
|
|
|
|
logisticsTurnover.setSfcDispatchBo(request.getSfcdispatchBo());
|
|
|
|
|
logisticsTurnover.setStatus(Constants.LOGISTICS_NEW);
|
|
|
|
|
logisticsTurnover.setCreatedDateTime(LocalDateTime.now());
|
|
|
|
|
logisticsTurnover.setOther1(nextsfcDispatch.getOperation());
|
|
|
|
|
logisticsTurnover.setOther2(sfcDispatchById.getStepId());
|
|
|
|
|
logisticsTurnover.setOther3(request.getHandle());
|
|
|
|
|
logisticsTurnover.setIsReceive("N");
|
|
|
|
|
logisticsTurnover.setTurnoverWorkCenter(nextsfcDispatch.getWorkCenter());
|
|
|
|
|
logisticsTurnover.setTurnoutItem(request.getItem());
|
|
|
|
|
logisticsTurnover.setTurnoutWorkcenter(sfcDispatchById.getWorkCenter());
|
|
|
|
|
try {
|
|
|
|
|
logisticsTurnoverService.save(logisticsTurnover);
|
|
|
|
|
}catch (Exception e){
|
|
|
|
|
logger.error("周转任务表插入出错"+e.getMessage());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}else if (Constants.RK.equals(sfcDispatchById.getOther2()) && nextsfcDispatch ==null){
|
|
|
|
|
//如果为空值 则判断下道工序的入库标识是否入库
|
|
|
|
|
LogisticsTurnover logisticsTurnover=new LogisticsTurnover();
|
|
|
|
|
logisticsTurnover.setHandle("LogisticsBO:1000"+","+UUID.randomUUID().toString());
|
|
|
|
|
logisticsTurnover.setSfcDispatchBo(request.getSfcdispatchBo());
|
|
|
|
|
logisticsTurnover.setStatus(Constants.LOGISTICS_NEW);
|
|
|
|
|
logisticsTurnover.setCreatedDateTime(LocalDateTime.now());
|
|
|
|
|
logisticsTurnover.setOther2(sfcDispatchById.getStepId());
|
|
|
|
|
logisticsTurnover.setOther3(request.getHandle());
|
|
|
|
|
logisticsTurnover.setIsReceive("N");
|
|
|
|
|
logisticsTurnover.setTurnoverWorkCenter("BCP");
|
|
|
|
|
logisticsTurnover.setTurnoutItem(request.getItem());
|
|
|
|
|
logisticsTurnover.setTurnoutWorkcenter(sfcDispatchById.getWorkCenter());
|
|
|
|
|
logisticsTurnoverService.save(logisticsTurnover);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
this.CreateLogisticsTask(request);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -281,62 +235,10 @@ public class InspectionTaskManageServiceImpl implements InspectionTaskManageServ
|
|
|
|
|
* 2、根据派工表里的派工序号查找下道工序
|
|
|
|
|
* 3、如果两个工作中心不一样,就会生成转运待办任务
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
SfcDispatch sfcDispatchById = sfcDispatchService.getById(inspectionTaskManage.getSfcdispatchBo());
|
|
|
|
|
Router router = routerService.getById(sfcDispatchById.getRouterBo());
|
|
|
|
|
if (!router.getRouterType().equals("C")){
|
|
|
|
|
//找下道工序
|
|
|
|
|
QueryWrapper<SfcDispatch> queryWrapper = new QueryWrapper<>();
|
|
|
|
|
queryWrapper.eq(SfcDispatch.SFC,sfcDispatchById.getSfc());
|
|
|
|
|
queryWrapper.eq(SfcDispatch.SHOP_ORDER,sfcDispatchById.getShopOrder());
|
|
|
|
|
queryWrapper.eq(SfcDispatch.DISPATCH_SEQ,String.valueOf(Integer.parseInt(sfcDispatchById.getDispatchSeq())+1));
|
|
|
|
|
SfcDispatch nextsfcDispatch=sfcDispatchService.getOne(queryWrapper);
|
|
|
|
|
//判断下道工序是否为空
|
|
|
|
|
if (nextsfcDispatch!=null && (!nextsfcDispatch.getOperation().equals("HJ_6106JYGX") || !nextsfcDispatch.getOperation().equals("HJ_6106JRGX")) ){
|
|
|
|
|
logger.error("质检工序合格"+sfcDispatchById.getOperation()+"的下道工序不为空,下道工序为"+nextsfcDispatch.getOperation());
|
|
|
|
|
//如果不等于空,判断下道工序的工作中心和质检完的工作中心是否一致
|
|
|
|
|
if (!sfcDispatchById.getWorkCenter().equals(nextsfcDispatch.getWorkCenter())){
|
|
|
|
|
logger.error("下道工序和质检工序的工作中心不相同");
|
|
|
|
|
//如果不相等的话 插入周转任务表
|
|
|
|
|
LogisticsTurnover logisticsTurnover=new LogisticsTurnover();
|
|
|
|
|
logisticsTurnover.setHandle("LogisticsBO:1000"+","+UUID.randomUUID().toString());
|
|
|
|
|
logisticsTurnover.setSfcDispatchBo(inspectionTaskModel.getSfcDispatchBo());
|
|
|
|
|
logisticsTurnover.setStatus(Constants.LOGISTICS_NEW);
|
|
|
|
|
logisticsTurnover.setCreatedDateTime(LocalDateTime.now());
|
|
|
|
|
logisticsTurnover.setOther1(nextsfcDispatch.getOperation());
|
|
|
|
|
logisticsTurnover.setOther2(inspectionTaskModel.getStepId());
|
|
|
|
|
logisticsTurnover.setOther3(inspectionTaskModel.getHandle());
|
|
|
|
|
logisticsTurnover.setIsReceive("N");
|
|
|
|
|
logisticsTurnover.setTurnoverWorkCenter(nextsfcDispatch.getWorkCenter());
|
|
|
|
|
logisticsTurnover.setTurnoutItem(inspectionTaskManage.getItem());
|
|
|
|
|
logisticsTurnover.setTurnoutWorkcenter(inspectionTaskManage.getWorkCenter());
|
|
|
|
|
try {
|
|
|
|
|
logisticsTurnoverService.save(logisticsTurnover);
|
|
|
|
|
}catch (Exception e){
|
|
|
|
|
logger.error("周转任务表插入出错"+e.getMessage());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}else if (Constants.RK.equals(sfcDispatchById.getOther2()) && nextsfcDispatch ==null){
|
|
|
|
|
//如果为空值 则判断下道工序的入库标识是否入库
|
|
|
|
|
LogisticsTurnover logisticsTurnover=new LogisticsTurnover();
|
|
|
|
|
logisticsTurnover.setHandle("LogisticsBO:1000"+","+UUID.randomUUID().toString());
|
|
|
|
|
logisticsTurnover.setSfcDispatchBo(inspectionTaskModel.getSfcDispatchBo());
|
|
|
|
|
logisticsTurnover.setStatus(Constants.LOGISTICS_NEW);
|
|
|
|
|
logisticsTurnover.setCreatedDateTime(LocalDateTime.now());
|
|
|
|
|
logisticsTurnover.setOther2(inspectionTaskModel.getStepId());
|
|
|
|
|
logisticsTurnover.setOther3(inspectionTaskModel.getHandle());
|
|
|
|
|
logisticsTurnover.setIsReceive("N");
|
|
|
|
|
logisticsTurnover.setTurnoverWorkCenter("BCP");
|
|
|
|
|
logisticsTurnover.setTurnoutItem(inspectionTaskManage.getItem());
|
|
|
|
|
logisticsTurnover.setTurnoutWorkcenter(inspectionTaskManage.getWorkCenter());
|
|
|
|
|
logisticsTurnoverService.save(logisticsTurnover);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
InspectionTaskManageRequest request=new InspectionTaskManageRequest();
|
|
|
|
|
request.setSfcdispatchBo(inspectionTaskManage.getSfcdispatchBo());
|
|
|
|
|
this.CreateLogisticsTask(request);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
inspectionTaskModel.setStatus("SAVE".equals(type) ? Constants.INSPECTION_TASK_STATUS_DOING : Constants.INSPECTION_TASK_STATUS_COMPLETE);
|
|
|
|
|
inspectionTaskModel.setResult(result);
|
|
|
|
|
inspectionTaskModel.setComments(inspectionTaskManage.getComments());
|
|
|
|
@ -369,4 +271,120 @@ public class InspectionTaskManageServiceImpl implements InspectionTaskManageServ
|
|
|
|
|
inspectionTaskService.save(newInspectionTask);*/
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void CreateLogisticsTask(InspectionTaskManageRequest request) {
|
|
|
|
|
SfcDispatch sfcDispatchById = sfcDispatchService.getById(request.getSfcdispatchBo());
|
|
|
|
|
Router router = routerService.getById(sfcDispatchById.getRouterBo());
|
|
|
|
|
//找下道工序 (返修工序除外)
|
|
|
|
|
if (!router.getRouterType().equals("C")) {
|
|
|
|
|
QueryWrapper<SfcDispatch> queryWrapper = new QueryWrapper<>();
|
|
|
|
|
queryWrapper.eq(SfcDispatch.SFC, sfcDispatchById.getSfc());
|
|
|
|
|
queryWrapper.eq(SfcDispatch.SHOP_ORDER, sfcDispatchById.getShopOrder());
|
|
|
|
|
queryWrapper.eq(SfcDispatch.DISPATCH_SEQ, String.valueOf(Integer.parseInt(sfcDispatchById.getDispatchSeq()) + 1));
|
|
|
|
|
SfcDispatch nextsfcDispatch = sfcDispatchService.getOne(queryWrapper);
|
|
|
|
|
//判断下道工序是否为空
|
|
|
|
|
if (nextsfcDispatch != null && !nextsfcDispatch.getOperation().equals("HJ_6106JYGX") && !nextsfcDispatch.getOperation().equals("HJ_6106JRGX")) {
|
|
|
|
|
logger.error("质检工序合格" + sfcDispatchById.getOperation() + "的下道工序不为空,下道工序为" + nextsfcDispatch.getOperation());
|
|
|
|
|
//如果不等于空,判断下道工序的工作中心和质检完的工作中心是否一致
|
|
|
|
|
if (!sfcDispatchById.getWorkCenter().equals(nextsfcDispatch.getWorkCenter())) {
|
|
|
|
|
logger.error("下道工序和质检工序的工作中心不相同");
|
|
|
|
|
//如果不相等的话 插入周转任务表
|
|
|
|
|
LogisticsTurnover logisticsTurnover = new LogisticsTurnover();
|
|
|
|
|
logisticsTurnover.setHandle("LogisticsBO:1000" + "," + UUID.randomUUID().toString());
|
|
|
|
|
logisticsTurnover.setSfcDispatchBo(request.getSfcdispatchBo());
|
|
|
|
|
logisticsTurnover.setStatus(Constants.LOGISTICS_NEW);
|
|
|
|
|
logisticsTurnover.setCreatedDateTime(LocalDateTime.now());
|
|
|
|
|
logisticsTurnover.setOther1(nextsfcDispatch.getOperation());
|
|
|
|
|
logisticsTurnover.setOther2(sfcDispatchById.getStepId());
|
|
|
|
|
logisticsTurnover.setOther3(request.getHandle());
|
|
|
|
|
logisticsTurnover.setIsReceive("N");
|
|
|
|
|
logisticsTurnover.setTurnoverWorkCenter(nextsfcDispatch.getWorkCenter());
|
|
|
|
|
logisticsTurnover.setTurnoutItem(request.getItem());
|
|
|
|
|
logisticsTurnover.setTurnoutWorkcenter(sfcDispatchById.getWorkCenter());
|
|
|
|
|
try {
|
|
|
|
|
logisticsTurnoverService.save(logisticsTurnover);
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
throw new BaseException("周转任务生成失败");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//如果下道工序不为空且下道工序是检验,继续找下道工序
|
|
|
|
|
else if (nextsfcDispatch != null && nextsfcDispatch.getOperation().equals("HJ_6106JYGX")) {
|
|
|
|
|
QueryWrapper<SfcDispatch> queryWrappers = new QueryWrapper<>();
|
|
|
|
|
queryWrappers.eq(SfcDispatch.SFC, sfcDispatchById.getSfc());
|
|
|
|
|
queryWrappers.eq(SfcDispatch.SHOP_ORDER, sfcDispatchById.getShopOrder());
|
|
|
|
|
queryWrappers.eq(SfcDispatch.DISPATCH_SEQ, String.valueOf(Integer.parseInt(nextsfcDispatch.getDispatchSeq()) + 1));
|
|
|
|
|
SfcDispatch nextssfcDispatch = sfcDispatchService.getOne(queryWrappers);
|
|
|
|
|
if (nextssfcDispatch != null && !nextssfcDispatch.getWorkCenter().equals(sfcDispatchById.getWorkCenter())) {
|
|
|
|
|
LogisticsTurnover logisticsTurnover = new LogisticsTurnover();
|
|
|
|
|
logisticsTurnover.setHandle("LogisticsBO:1000" + "," + UUID.randomUUID().toString());
|
|
|
|
|
logisticsTurnover.setSfcDispatchBo(request.getSfcdispatchBo());
|
|
|
|
|
logisticsTurnover.setStatus(Constants.LOGISTICS_NEW);
|
|
|
|
|
logisticsTurnover.setCreatedDateTime(LocalDateTime.now());
|
|
|
|
|
logisticsTurnover.setOther1(nextssfcDispatch.getOperation());
|
|
|
|
|
logisticsTurnover.setOther2(sfcDispatchById.getStepId());
|
|
|
|
|
logisticsTurnover.setOther3(request.getHandle());
|
|
|
|
|
logisticsTurnover.setIsReceive("N");
|
|
|
|
|
logisticsTurnover.setTurnoverWorkCenter(nextssfcDispatch.getWorkCenter());
|
|
|
|
|
logisticsTurnover.setTurnoutItem(request.getItem());
|
|
|
|
|
logisticsTurnover.setTurnoutWorkcenter(sfcDispatchById.getWorkCenter());
|
|
|
|
|
try {
|
|
|
|
|
logisticsTurnoverService.save(logisticsTurnover);
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
throw new BaseException("周转任务生成失败");
|
|
|
|
|
}
|
|
|
|
|
}else if (Constants.RK.equals(nextsfcDispatch.getOther2())){
|
|
|
|
|
LogisticsTurnover logisticsTurnover = new LogisticsTurnover();
|
|
|
|
|
logisticsTurnover.setHandle("LogisticsBO:1000" + "," + UUID.randomUUID().toString());
|
|
|
|
|
logisticsTurnover.setSfcDispatchBo(request.getSfcdispatchBo());
|
|
|
|
|
logisticsTurnover.setStatus(Constants.LOGISTICS_NEW);
|
|
|
|
|
logisticsTurnover.setCreatedDateTime(LocalDateTime.now());
|
|
|
|
|
logisticsTurnover.setOther1(nextsfcDispatch.getOperation());
|
|
|
|
|
logisticsTurnover.setOther2(sfcDispatchById.getStepId());
|
|
|
|
|
logisticsTurnover.setOther3(request.getHandle());
|
|
|
|
|
logisticsTurnover.setIsReceive("N");
|
|
|
|
|
logisticsTurnover.setTurnoverWorkCenter("BCP");
|
|
|
|
|
logisticsTurnover.setTurnoutItem(request.getItem());
|
|
|
|
|
logisticsTurnover.setTurnoutWorkcenter(sfcDispatchById.getWorkCenter());
|
|
|
|
|
try {
|
|
|
|
|
logisticsTurnoverService.save(logisticsTurnover);
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
throw new BaseException("周转任务生成失败");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
// Constants.RK.equals(sfcDispatchById.getOther2())
|
|
|
|
|
else if (nextsfcDispatch != null && nextsfcDispatch.getOperation().equals("HJ_6106JRGX") && Constants.RK.equals(nextsfcDispatch.getOther2())) {
|
|
|
|
|
//下工序为空,本工序为检入工序生成转序任务
|
|
|
|
|
LogisticsTurnover logisticsTurnover = new LogisticsTurnover();
|
|
|
|
|
logisticsTurnover.setHandle("LogisticsBO:1000" + "," + UUID.randomUUID().toString());
|
|
|
|
|
logisticsTurnover.setSfcDispatchBo(request.getSfcdispatchBo());
|
|
|
|
|
logisticsTurnover.setStatus(Constants.LOGISTICS_NEW);
|
|
|
|
|
logisticsTurnover.setCreatedDateTime(LocalDateTime.now());
|
|
|
|
|
logisticsTurnover.setOther2(sfcDispatchById.getStepId());
|
|
|
|
|
logisticsTurnover.setOther3(request.getHandle());
|
|
|
|
|
logisticsTurnover.setIsReceive("N");
|
|
|
|
|
logisticsTurnover.setTurnoverWorkCenter("BCP");
|
|
|
|
|
logisticsTurnover.setTurnoutItem(request.getItem());
|
|
|
|
|
logisticsTurnover.setTurnoutWorkcenter(sfcDispatchById.getWorkCenter());
|
|
|
|
|
logisticsTurnoverService.save(logisticsTurnover);
|
|
|
|
|
}
|
|
|
|
|
else if (nextsfcDispatch == null && Constants.RK.equals(sfcDispatchById.getOther2()) ) {
|
|
|
|
|
//如果为空值 则判断入库标识
|
|
|
|
|
LogisticsTurnover logisticsTurnover = new LogisticsTurnover();
|
|
|
|
|
logisticsTurnover.setHandle("LogisticsBO:1000" + "," + UUID.randomUUID().toString());
|
|
|
|
|
logisticsTurnover.setSfcDispatchBo(request.getSfcdispatchBo());
|
|
|
|
|
logisticsTurnover.setStatus(Constants.LOGISTICS_NEW);
|
|
|
|
|
logisticsTurnover.setCreatedDateTime(LocalDateTime.now());
|
|
|
|
|
logisticsTurnover.setOther2(sfcDispatchById.getStepId());
|
|
|
|
|
logisticsTurnover.setOther3(request.getHandle());
|
|
|
|
|
logisticsTurnover.setIsReceive("N");
|
|
|
|
|
logisticsTurnover.setTurnoverWorkCenter("BCP");
|
|
|
|
|
logisticsTurnover.setTurnoutItem(request.getItem());
|
|
|
|
|
logisticsTurnover.setTurnoutWorkcenter(sfcDispatchById.getWorkCenter());
|
|
|
|
|
logisticsTurnoverService.save(logisticsTurnover);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|