工单首检更改为Q管理

tags/yfai-pcn-ext-v1.0
yxw 2 years ago
parent 474ef6c08f
commit e02d45e8a0

@ -45,4 +45,6 @@ public interface IAntiStaticCheckDetailService {
List<String> queryCell(String orderNo, String organizeCode); List<String> queryCell(String orderNo, String organizeCode);
//List<String> queryProcessCodeList(String orderNo, String organizeCode);
} }

@ -36,5 +36,5 @@ public interface IBuFirstOrderService {
* @param userName * @param userName
* @return * @return
*/ */
void updateMesFirstOrderDetail(MesFirstOrderDetail mesFirstOrderDetail, String userName); String updateMesFirstOrderDetail(MesFirstOrderDetail mesFirstOrderDetail, String userName);
} }

@ -1,25 +1,25 @@
package cn.estsh.i3plus.ext.mes.pcn.api.base.bu3; //package cn.estsh.i3plus.ext.mes.pcn.api.base.bu3;
//
/** ///**
* @Author: xinwang.yi // * @Author: xinwang.yi
* @CreateDate: 2023/04/17 9:31 // * @CreateDate: 2023/04/17 9:31 上午
* @Description: // * @Description:
**/ // **/
public interface IBuQManageService { //public interface IBuQManageService {
//
/** // /**
* // * 生成周点检
* @param organizeCode // * @param organizeCode 工厂代码
* @param workCenterCode 线 // * @param workCenterCode 产线代码
*/ // */
//void generateWeekCheck(String organizeCode, String workCenterCode); // //void generateWeekCheck(String organizeCode, String workCenterCode);
//
/** // /**
* // * 生成月点检
* @param organizeCode // * @param organizeCode 工厂代码
* @param workCenterCode 线 // * @param workCenterCode 产线代码
*/ // */
void generateMonthCheck(String organizeCode, String workCenterCode); // void generateMonthCheck(String organizeCode, String workCenterCode);
//
//
} //}

@ -1,63 +1,63 @@
package cn.estsh.i3plus.ext.mes.pcn.api.base.ep; //package cn.estsh.i3plus.ext.mes.pcn.api.base.ep;
//
import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.MesEpEquipmentCheckDetail; //import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.MesEpEquipmentCheckDetail;
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.ep.EpEquipmentCheckDetailModel; //import cn.estsh.i3plus.ext.mes.pcn.pojo.model.ep.EpEquipmentCheckDetailModel;
import cn.estsh.i3plus.pojo.base.bean.ListPager; //import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager; //import cn.estsh.i3plus.pojo.base.common.Pager;
//
import java.util.List; //import java.util.List;
//
public interface IEpEquipmentCheckDetailService { //public interface IEpEquipmentCheckDetailService {
/** // /**
* // * 查询
* @param equipmentCheck // * @param equipmentCheck
* @param pager // * @param pager
* @return // * @return
*/ // */
ListPager<EpEquipmentCheckDetailModel> queryByPager(MesEpEquipmentCheckDetail equipmentCheck, Pager pager); // ListPager<EpEquipmentCheckDetailModel> queryByPager(MesEpEquipmentCheckDetail equipmentCheck, Pager pager);
//
/** // /**
* // * 新增
* @param equipmentCheck // * @param equipmentCheck
* @return // * @return
*/ // */
MesEpEquipmentCheckDetail insert(MesEpEquipmentCheckDetail equipmentCheck); // MesEpEquipmentCheckDetail insert(MesEpEquipmentCheckDetail equipmentCheck);
//
/** // /**
* // * 修改
* // *
* @param equipmentCheck // * @param equipmentCheck
* @return // * @return
*/ // */
void update(MesEpEquipmentCheckDetail equipmentCheck); // void update(MesEpEquipmentCheckDetail equipmentCheck);
//
/** // /**
* // * 根据
* // *
* @param id // * @param id
* @param status // * @param status
* @return // * @return
*/ // */
int updateIsValidById(long id, Integer status); // int updateIsValidById(long id, Integer status);
//
/** // /**
* // * 查询工位
* @param detail // * @param detail
* @return // * @return
*/ // */
List<String> queryCell(MesEpEquipmentCheckDetail detail); // List<String> queryCell(MesEpEquipmentCheckDetail detail);
//
/** // /**
* // * 生成月点检
* @param organizeCode // * @param organizeCode
* @param workCenterCode // * @param workCenterCode
*/ // */
void generateWeekCheck(String organizeCode, String workCenterCode); // void generateWeekCheck(String organizeCode, String workCenterCode);
//
/** // /**
* // * 生成周点检
* @param organizeCode // * @param organizeCode
* @param workCenterCode // * @param workCenterCode
*/ // */
void generateMonthCheck(String organizeCode, String workCenterCode); // void generateMonthCheck(String organizeCode, String workCenterCode);
} //}

@ -51,6 +51,19 @@ public class AntiStaticCheckDetailController {
} }
} }
//@GetMapping("query-process-code-list")
//@ApiOperation(value = "查询工序代码下拉框")
//public ResultBean queryProcessCode(String orderNo, String organizeCode) {
// try {
// return ResultBean.success("查询成功").setResultList(this.antiStaticCheckDetailService.queryProcessCodeList(orderNo, organizeCode))
// .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
// } catch (ImppBusiException busExcep) {
// return ResultBean.fail(busExcep);
// } catch (Exception e) {
// return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
// }
//}
@PutMapping("update") @PutMapping("update")
@ApiOperation(value = "修改") @ApiOperation(value = "修改")
public ResultBean update(@RequestBody MesAntiStaticCheckDetail detail) { public ResultBean update(@RequestBody MesAntiStaticCheckDetail detail) {

@ -22,7 +22,7 @@ import org.springframework.web.bind.annotation.RestController;
* @Description: * @Description:
**/ **/
@RestController @RestController
@Api(tags = "工单首检") @Api(tags = "工单首检(改为Q管理)")
@RequestMapping(CommonConstWords.BASE_URL_MES_PCN+ "/first") @RequestMapping(CommonConstWords.BASE_URL_MES_PCN+ "/first")
public class FirstOrderController extends MesPcnBaseController { public class FirstOrderController extends MesPcnBaseController {
@ -60,7 +60,7 @@ public class FirstOrderController extends MesPcnBaseController {
* @return * @return
*/ */
@GetMapping(value = "/mes-first-order-detail/find") @GetMapping(value = "/mes-first-order-detail/find")
@ApiOperation(value = "查询首检单明细数据") @ApiOperation(value = "查询首检单Q管理明细数据")
public ResultBean findMesFirstOrderDetail(String orderNo, String organizeCode) { public ResultBean findMesFirstOrderDetail(String orderNo, String organizeCode) {
try { try {
return ResultBean.success("查询成功").setResultList(firstOrderService.findMesFirstOrderDetail(orderNo, organizeCode)) return ResultBean.success("查询成功").setResultList(firstOrderService.findMesFirstOrderDetail(orderNo, organizeCode))
@ -80,7 +80,7 @@ public class FirstOrderController extends MesPcnBaseController {
* @return * @return
*/ */
@PutMapping(value = "/mes-first-order-detail/update") @PutMapping(value = "/mes-first-order-detail/update")
@ApiOperation(value = "修改首检明细信息") @ApiOperation(value = "修改首检Q管理明细信息")
public ResultBean updateMesFirstOrderDetail(MesFirstOrderDetail mesFirstOrderDetail, String userName) { public ResultBean updateMesFirstOrderDetail(MesFirstOrderDetail mesFirstOrderDetail, String userName) {
try { try {
firstOrderService.updateMesFirstOrderDetail(mesFirstOrderDetail, userName); firstOrderService.updateMesFirstOrderDetail(mesFirstOrderDetail, userName);

@ -20,7 +20,7 @@ import org.springframework.web.bind.annotation.*;
* @Description: * @Description:
**/ **/
@RestController @RestController
@Api(tags = "工单首检") @Api(tags = "工单首检改为Q管理")
@RequestMapping(CommonConstWords.BASE_URL_MES_PCN+ "/bu-ext/first") @RequestMapping(CommonConstWords.BASE_URL_MES_PCN+ "/bu-ext/first")
public class BuFirstOrderController extends MesPcnBaseController { public class BuFirstOrderController extends MesPcnBaseController {
@ -58,7 +58,7 @@ public class BuFirstOrderController extends MesPcnBaseController {
* @return * @return
*/ */
@GetMapping(value = "/mes-first-order-detail/find") @GetMapping(value = "/mes-first-order-detail/find")
@ApiOperation(value = "查询首检单明细数据") @ApiOperation(value = "查询首检单改为Q管理明细数据")
public ResultBean findMesFirstOrderDetail(String orderNo, String organizeCode) { public ResultBean findMesFirstOrderDetail(String orderNo, String organizeCode) {
try { try {
return ResultBean.success("查询成功").setResultList(firstOrderService.findMesFirstOrderDetail(orderNo, organizeCode)) return ResultBean.success("查询成功").setResultList(firstOrderService.findMesFirstOrderDetail(orderNo, organizeCode))
@ -77,12 +77,12 @@ public class BuFirstOrderController extends MesPcnBaseController {
* @return * @return
*/ */
@PutMapping(value = "/mes-first-order-detail/update") @PutMapping(value = "/mes-first-order-detail/update")
@ApiOperation(value = "修改首检明细信息") @ApiOperation(value = "修改Q管理明细信息")
public ResultBean updateMesFirstOrderDetail(@RequestBody MesFirstOrderDetail mesFirstOrderDetail) { public ResultBean updateMesFirstOrderDetail(@RequestBody MesFirstOrderDetail mesFirstOrderDetail) {
try { try {
String userName = AuthUtil.getSessionUser().getUserName(); String userName = AuthUtil.getSessionUser().getUserName();
firstOrderService.updateMesFirstOrderDetail(mesFirstOrderDetail, userName); return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); .setResultObject(firstOrderService.updateMesFirstOrderDetail(mesFirstOrderDetail, userName));
} catch (ImppBusiException busExcep) { } catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep); return ResultBean.fail(busExcep);
} catch (Exception e) { } catch (Exception e) {

@ -1,56 +1,56 @@
package cn.estsh.i3plus.ext.mes.pcn.apiservice.controller.base.bu; //package cn.estsh.i3plus.ext.mes.pcn.apiservice.controller.base.bu;
//
import cn.estsh.i3plus.ext.mes.pcn.api.base.bu3.IBuQManageService; //import cn.estsh.i3plus.ext.mes.pcn.api.base.bu3.IBuQManageService;
import cn.estsh.i3plus.platform.common.util.CommonConstWords; //import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.impp.framework.base.controller.MesPcnBaseController; //import cn.estsh.impp.framework.base.controller.MesPcnBaseController;
import cn.estsh.impp.framework.boot.exception.ImppBusiException; //import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; //import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.util.ResultBean; //import cn.estsh.impp.framework.boot.util.ResultBean;
import io.swagger.annotations.Api; //import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; //import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; //import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping; //import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping; //import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; //import org.springframework.web.bind.annotation.RestController;
//
/** ///**
* @Author: xinwang.yi // * @Author: xinwang.yi
* @CreateDate: 2023/04/17 09:14 // * @CreateDate: 2023/04/17 09:14
* @Description: // * @Description:
**/ // **/
@RestController //@RestController
@Api(tags = "Q管理作业") //@Api(tags = "Q管理作业")
@RequestMapping(CommonConstWords.BASE_URL_MES_PCN + "/bu/q-manage") //@RequestMapping(CommonConstWords.BASE_URL_MES_PCN + "/bu/q-manage")
public class BuQManageController extends MesPcnBaseController { //public class BuQManageController extends MesPcnBaseController {
//
@Autowired // @Autowired
private IBuQManageService qManageService; // private IBuQManageService qManageService;
//
//@PostMapping("/generate-week") // //@PostMapping("/generate-week")
//@ApiOperation(value = "生成周点检") // //@ApiOperation(value = "生成周点检")
//public ResultBean generateWeekCheck(String organizeCode, String workCenterCode) { // //public ResultBean generateWeekCheck(String organizeCode, String workCenterCode) {
// // //
// try { // // try {
// qManageService.generateWeekCheck(organizeCode, workCenterCode); // // qManageService.generateWeekCheck(organizeCode, workCenterCode);
// return ResultBean.success("扫描成功"); // // return ResultBean.success("扫描成功");
// } catch (ImppBusiException busExcep) { // // } catch (ImppBusiException busExcep) {
// return ResultBean.fail(busExcep); // // return ResultBean.fail(busExcep);
// } catch (Exception e) { // // } catch (Exception e) {
// return ImppExceptionBuilder.newInstance().buildExceptionResult(e); // // return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
// } // // }
//} // //}
//
@PostMapping("/generate-month") // @PostMapping("/generate-month")
@ApiOperation(value = "生成月点检") // @ApiOperation(value = "生成月点检")
public ResultBean generateMonthCheck(String organizeCode, String workCenterCode) { // public ResultBean generateMonthCheck(String organizeCode, String workCenterCode) {
//
try { // try {
qManageService.generateMonthCheck(organizeCode, workCenterCode); // qManageService.generateMonthCheck(organizeCode, workCenterCode);
return ResultBean.success("生成成功"); // return ResultBean.success("生成成功");
} catch (ImppBusiException busExcep) { // } catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep); // return ResultBean.fail(busExcep);
} catch (Exception e) { // } catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e); // return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
} // }
} // }
} //}

@ -1,122 +1,122 @@
package cn.estsh.i3plus.ext.mes.pcn.apiservice.controller.base.ep; //package cn.estsh.i3plus.ext.mes.pcn.apiservice.controller.base.ep;
//
import cn.estsh.i3plus.ext.mes.pcn.api.base.ep.IEpEquipmentCheckDetailService; //import cn.estsh.i3plus.ext.mes.pcn.api.base.ep.IEpEquipmentCheckDetailService;
import cn.estsh.i3plus.ext.mes.pcn.api.base.ep.IEpMesOrderJobService; //import cn.estsh.i3plus.ext.mes.pcn.api.base.ep.IEpMesOrderJobService;
import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.MesEpEquipmentCheckDetail; //import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.MesEpEquipmentCheckDetail;
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.ep.EpOrderJobModel; //import cn.estsh.i3plus.ext.mes.pcn.pojo.model.ep.EpOrderJobModel;
import cn.estsh.i3plus.platform.common.util.CommonConstWords; //import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.pojo.base.common.Pager; //import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; //import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.impp.framework.boot.exception.ImppBusiException; //import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; //import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.util.ResultBean; //import cn.estsh.impp.framework.boot.util.ResultBean;
import io.swagger.annotations.Api; //import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; //import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; //import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; //import org.springframework.web.bind.annotation.*;
//
/** ///**
* @PROJECT_NAME: i3plus-mes-panasonic-dev // * @PROJECT_NAME: i3plus-mes-panasonic-dev
* @DESCRIPTION: // * @DESCRIPTION:
* @USER: xinwang.yi // * @USER: xinwang.yi
* @DATE: 2021-12-13 17:08 // * @DATE: 2021-12-13 17:08
*/ // */
@RestController //@RestController
@Api(tags = "EP设备点检") //@Api(tags = "EP设备点检")
@RequestMapping(CommonConstWords.BASE_URL_MES_PCN + "/ep-ext/order-job") //@RequestMapping(CommonConstWords.BASE_URL_MES_PCN + "/ep-ext/order-job")
public class EpEquipmentCheckDetailController { //public class EpEquipmentCheckDetailController {
//
@Autowired // @Autowired
private IEpEquipmentCheckDetailService mesEquipmentCheckService; // private IEpEquipmentCheckDetailService mesEquipmentCheckService;
//
@Autowired // @Autowired
private IEpMesOrderJobService orderJobService; // private IEpMesOrderJobService orderJobService;
//
@GetMapping("/equipment-check-detail/query") // @GetMapping("/equipment-check-detail/query")
@ApiOperation(value = "条件分页查询设备点检详细") // @ApiOperation(value = "条件分页查询设备点检详细")
public ResultBean queryPager(MesEpEquipmentCheckDetail detail, Pager pager) { // public ResultBean queryPager(MesEpEquipmentCheckDetail detail, Pager pager) {
try { // try {
return ResultBean.success("查询成功").setListPager(this.mesEquipmentCheckService.queryByPager(detail, pager)) // return ResultBean.success("查询成功").setListPager(this.mesEquipmentCheckService.queryByPager(detail, pager))
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); // .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) { // } catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep); // return ResultBean.fail(busExcep);
} catch (Exception e) { // } catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e); // return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
} // }
} // }
//
/** // /**
* // * 物料点检作业
* // *
* @param detail // * @param detail
* @return // * @return
*/ // */
@PutMapping("/equipment-check-detail/update") // @PutMapping("/equipment-check-detail/update")
@ApiOperation(value = "修改") // @ApiOperation(value = "修改")
public ResultBean update(@RequestBody MesEpEquipmentCheckDetail detail) { // public ResultBean update(@RequestBody MesEpEquipmentCheckDetail detail) {
try { // try {
this.mesEquipmentCheckService.update(detail); // this.mesEquipmentCheckService.update(detail);
return ResultBean.success("扫描成功") // return ResultBean.success("扫描成功")
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); // .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) { // } catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep); // return ResultBean.fail(busExcep);
} catch (Exception e) { // } catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e); // return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
} // }
} // }
//
@GetMapping("/equipment-check/query") // @GetMapping("/equipment-check/query")
@ApiOperation(value = "条件分页查询单据") // @ApiOperation(value = "条件分页查询单据")
public ResultBean queryPager(EpOrderJobModel orderJob) { // public ResultBean queryPager(EpOrderJobModel orderJob) {
try { // try {
return ResultBean.success("查询成功").setResultList(orderJobService.queryMesOrderJob(orderJob)) // return ResultBean.success("查询成功").setResultList(orderJobService.queryMesOrderJob(orderJob))
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); // .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) { // } catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep); // return ResultBean.fail(busExcep);
} catch (Exception e) { // } catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e); // return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
} // }
} // }
//
@PostMapping("/equipment-check/generate-week") // @PostMapping("/equipment-check/generate-week")
@ApiOperation(value = "生成周点检") // @ApiOperation(value = "生成周点检")
public ResultBean generateWeekCheck(String organizeCode, String workCenterCode) { // public ResultBean generateWeekCheck(String organizeCode, String workCenterCode) {
//
try { // try {
mesEquipmentCheckService.generateWeekCheck(organizeCode, workCenterCode); // mesEquipmentCheckService.generateWeekCheck(organizeCode, workCenterCode);
return ResultBean.success("生成成功"); // return ResultBean.success("生成成功");
} catch (ImppBusiException busExcep) { // } catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep); // return ResultBean.fail(busExcep);
} catch (Exception e) { // } catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e); // return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
} // }
} // }
//
@PostMapping("/equipment-check/generate-month") // @PostMapping("/equipment-check/generate-month")
@ApiOperation(value = "生成月点检") // @ApiOperation(value = "生成月点检")
public ResultBean generateMonthCheck(String organizeCode, String workCenterCode) { // public ResultBean generateMonthCheck(String organizeCode, String workCenterCode) {
//
try { // try {
mesEquipmentCheckService.generateMonthCheck(organizeCode, workCenterCode); // mesEquipmentCheckService.generateMonthCheck(organizeCode, workCenterCode);
return ResultBean.success("生成成功"); // return ResultBean.success("生成成功");
} catch (ImppBusiException busExcep) { // } catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep); // return ResultBean.fail(busExcep);
} catch (Exception e) { // } catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e); // return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
} // }
} // }
//
@GetMapping("/query-cell") // @GetMapping("/query-cell")
@ApiOperation(value = "查询工序代码下拉框") // @ApiOperation(value = "查询工序代码下拉框")
public ResultBean queryCell(MesEpEquipmentCheckDetail detail) { // public ResultBean queryCell(MesEpEquipmentCheckDetail detail) {
try { // try {
return ResultBean.success("查询成功").setResultList(this.mesEquipmentCheckService.queryCell(detail)) // return ResultBean.success("查询成功").setResultList(this.mesEquipmentCheckService.queryCell(detail))
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); // .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) { // } catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep); // return ResultBean.fail(busExcep);
} catch (Exception e) { // } catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e); // return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
} // }
} // }
//
} //}

@ -1,7 +1,6 @@
package cn.estsh.i3plus.ext.mes.pcn.apiservice.schedulejob; package cn.estsh.i3plus.ext.mes.pcn.apiservice.schedulejob;
import cn.estsh.i3plus.ext.mes.pcn.api.job.IAntiStaticCheckOrderService; import cn.estsh.i3plus.ext.mes.pcn.api.job.IAntiStaticCheckOrderService;
import cn.estsh.i3plus.ext.mes.pcn.api.job.IProjectTourConfirmOrderService;
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords; import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;

@ -150,6 +150,16 @@ public class AntiStaticCheckDetailService implements IAntiStaticCheckDetailServi
.stream().filter(o -> !StringUtils.isEmpty(o)).distinct().collect(Collectors.toList()); .stream().filter(o -> !StringUtils.isEmpty(o)).distinct().collect(Collectors.toList());
} }
//@Override
//public List<String> queryProcessCodeList(String orderNo, String organizeCode) {
// DdlPackBean packBean = MesHqlPack.getMesAllData(organizeCode);
// DdlPreparedPack.getStringEqualPack(orderNo, "orderJobNo", packBean);
// List<MesAntiStaticCheckDetail> details = antiStaticCheckDetailRepository.findByHqlWhere(packBean);
// return (details.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getWorkCellCode())))
// .map(MesAntiStaticCheckDetail::getProcessCode).collect(Collectors.toList()))
// .stream().filter(o -> !StringUtils.isEmpty(o)).distinct().collect(Collectors.toList());
//}
/** /**
* *

@ -135,12 +135,12 @@ public class MesOrderJobService implements IMesOrderJobService {
List<MesPersonCheckDetail> personCheckDetailList = personCheckDetailRDao.findByHqlWhere(packBean); List<MesPersonCheckDetail> personCheckDetailList = personCheckDetailRDao.findByHqlWhere(packBean);
return CollectionUtils.isEmpty(personCheckDetailList)? true : false; return CollectionUtils.isEmpty(personCheckDetailList)? true : false;
case Q_MANAGE: //case Q_MANAGE:
//判断当前明细数据中【刀头是否完好】字段存在数据 // //判断当前明细数据中【刀头是否完好】字段存在数据
List<MesQManageTaskDetail> qDetailsTotal = qManageTaskDetailRDao.findByHqlWhere(packBean); // List<MesQManageTaskDetail> qDetailsTotal = qManageTaskDetailRDao.findByHqlWhere(packBean);
DdlPreparedPack.getStringNotBlanklPack("isIntact", packBean); // DdlPreparedPack.getStringNotBlanklPack("isIntact", packBean);
List<MesQManageTaskDetail> qDetails = qManageTaskDetailRDao.findByHqlWhere(packBean); // List<MesQManageTaskDetail> qDetails = qManageTaskDetailRDao.findByHqlWhere(packBean);
return qDetails.size() == qDetailsTotal.size() ? true : false; // return qDetails.size() == qDetailsTotal.size() ? true : false;
case EQU_CHECK: case EQU_CHECK:
DdlPackBean equPackBean = MesPcnHqlPack.getAllBaseData(organizeCode); DdlPackBean equPackBean = MesPcnHqlPack.getAllBaseData(organizeCode);
@ -152,14 +152,14 @@ public class MesOrderJobService implements IMesOrderJobService {
return CollectionUtils.isEmpty(equDetails) ? true : false; return CollectionUtils.isEmpty(equDetails) ? true : false;
//兼容EP //兼容EP
case EP_EQU_CHECK: //case EP_EQU_CHECK:
DdlPackBean epEquPackBean = MesPcnHqlPack.getAllBaseData(organizeCode); // DdlPackBean epEquPackBean = MesPcnHqlPack.getAllBaseData(organizeCode);
DdlPreparedPack.getStringEqualPack(orderNo, "orderJobNo", epEquPackBean); // DdlPreparedPack.getStringEqualPack(orderNo, "orderJobNo", epEquPackBean);
DdlPreparedPack.getNotInPack(Stream.of(MesPcnExtEnumUtil.EQU_CHECK_RESULT.QUALIFIED.getValue(), // DdlPreparedPack.getNotInPack(Stream.of(MesPcnExtEnumUtil.EQU_CHECK_RESULT.QUALIFIED.getValue(),
MesPcnExtEnumUtil.EQU_CHECK_RESULT.EQUIPMENT_ABNORMAL.getValue(), // MesPcnExtEnumUtil.EQU_CHECK_RESULT.EQUIPMENT_ABNORMAL.getValue(),
MesPcnExtEnumUtil.EQU_CHECK_RESULT.EQUIPMENT_FAILURE.getValue()).collect(Collectors.toList()), "checkResult", epEquPackBean); // MesPcnExtEnumUtil.EQU_CHECK_RESULT.EQUIPMENT_FAILURE.getValue()).collect(Collectors.toList()), "checkResult", epEquPackBean);
List<MesEpEquipmentCheckDetail> epEquDetails = epEquDetailRepository.findByHqlWhere(epEquPackBean); // List<MesEpEquipmentCheckDetail> epEquDetails = epEquDetailRepository.findByHqlWhere(epEquPackBean);
return CollectionUtils.isEmpty(epEquDetails) ? true : false; // return CollectionUtils.isEmpty(epEquDetails) ? true : false;
case ESD_CHECK: case ESD_CHECK:
DdlPackBean antPackBean = MesPcnHqlPack.getAllBaseData(organizeCode); DdlPackBean antPackBean = MesPcnHqlPack.getAllBaseData(organizeCode);
@ -246,19 +246,19 @@ public class MesOrderJobService implements IMesOrderJobService {
DdlPreparedPack.getInPackList(statusList, "orderStatus", packBean); DdlPreparedPack.getInPackList(statusList, "orderStatus", packBean);
List<MesOrderJob> mesOrderJobs = mesOrderJobRDao.findByHqlWhere(packBean); List<MesOrderJob> mesOrderJobs = mesOrderJobRDao.findByHqlWhere(packBean);
if (!CollectionUtils.isEmpty(mesOrderJobs)) { //if (!CollectionUtils.isEmpty(mesOrderJobs)) {
for (MesOrderJob orderJob : mesOrderJobs) { // for (MesOrderJob orderJob : mesOrderJobs) {
if(orderJob.getOrderType() == MesPcnExtEnumUtil.MES_OR_ORDER_TYPE.Q_MANAGE.getValue() && orderJob.getCheckType().equals(MesPcnExtEnumUtil.MES_Q_MANAGER_CHECK_TYPE.MONTH_CHECK.getValue())) continue; // if(orderJob.getOrderType() == MesPcnExtEnumUtil.MES_OR_ORDER_TYPE.Q_MANAGE.getValue() && orderJob.getCheckType().equals(MesPcnExtEnumUtil.MES_Q_MANAGER_CHECK_TYPE.MONTH_CHECK.getValue())) continue;
packBean = DdlPackBean.getDdlPackBean(mesOrderJob.getOrganizeCode()); // packBean = DdlPackBean.getDdlPackBean(mesOrderJob.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(orderJob.getWorkOrderNo(), "orderNo", packBean); // DdlPreparedPack.getStringEqualPack(orderJob.getWorkOrderNo(), "orderNo", packBean);
//
MesWorkOrder mesWorkOrder = mesWorkOrderRDao.getByProperty(packBean); // MesWorkOrder mesWorkOrder = mesWorkOrderRDao.getByProperty(packBean);
if (mesWorkOrder != null) { // if (mesWorkOrder != null) {
orderJob.setPartNo(mesWorkOrder.getPartNo()); // orderJob.setPartNo(mesWorkOrder.getPartNo());
orderJob.setPartNameRdd(mesWorkOrder.getPartNameRdd()); // orderJob.setPartNameRdd(mesWorkOrder.getPartNameRdd());
} // }
} // }
} //}
return mesOrderJobs; return mesOrderJobs;
} }

@ -823,7 +823,8 @@ public class SxWorkOrderExtService implements ISxWorkOrderExtService {
.build(); .build();
} }
if (MesPcnExtEnumUtil.WORK_ORDER_STATUS.OPEN.getValue() == workOrderStatus && if (workOrderExt.getWorkOrderType() != MesPcnExtEnumUtil.WORK_ORDER_TYPE.REWORK_ORDER.getValue() &&
MesPcnExtEnumUtil.WORK_ORDER_STATUS.OPEN.getValue() == workOrderStatus &&
(null == lastWorkOrderStatus || MesPcnExtEnumUtil.WORK_ORDER_STATUS.OPEN.getValue() == lastWorkOrderStatus)) { (null == lastWorkOrderStatus || MesPcnExtEnumUtil.WORK_ORDER_STATUS.OPEN.getValue() == lastWorkOrderStatus)) {
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode);
List<MesAffiliatedStartConfig> mesAffiliatedStartConfigs = affiliatedStartConfigRepository.findByHqlWhere(ddlPackBean); List<MesAffiliatedStartConfig> mesAffiliatedStartConfigs = affiliatedStartConfigRepository.findByHqlWhere(ddlPackBean);
@ -870,36 +871,36 @@ public class SxWorkOrderExtService implements ISxWorkOrderExtService {
//完成 //完成
//校验工单是否是暂停状态 //校验工单是否是暂停状态
//修改返工工单状态 //修改返工工单状态
if(workOrderExt.getWorkOrderType() == MesPcnExtEnumUtil.WORK_ORDER_TYPE.REWORK_ORDER.getValue()) { //if(workOrderExt.getWorkOrderType() == MesPcnExtEnumUtil.WORK_ORDER_TYPE.REWORK_ORDER.getValue()) {
//
List<String> waterPurifierCodeList = !Optional.ofNullable(waterPurifierCode).isPresent() || StringUtils.isEmpty(waterPurifierCode.getCfgValue()) ? new ArrayList<>() : Arrays.asList(waterPurifierCode.getCfgValue().split(MesPcnExtConstWords.COMMA)); // List<String> waterPurifierCodeList = !Optional.ofNullable(waterPurifierCode).isPresent() || StringUtils.isEmpty(waterPurifierCode.getCfgValue()) ? new ArrayList<>() : Arrays.asList(waterPurifierCode.getCfgValue().split(MesPcnExtConstWords.COMMA));
if(CollectionUtils.isEmpty(waterPurifierCodeList) || !waterPurifierCodeList.contains(workOrderExt.getWorkCenterCode())){ // if(CollectionUtils.isEmpty(waterPurifierCodeList) || !waterPurifierCodeList.contains(workOrderExt.getWorkCenterCode())){
// 手动点击完成工单,存在未下线条码 // // 手动点击完成工单,存在未下线条码
if(!workOrderExt.getQty().equals(workOrderExt.getCompleteQty())) { // if(!workOrderExt.getQty().equals(workOrderExt.getCompleteQty())) {
List<MesProduceSnRepair> produceSnRepairList = queryProduceSnRepairList(organizeCode, workOrderExt.getOrderNo()); // List<MesProduceSnRepair> produceSnRepairList = queryProduceSnRepairList(organizeCode, workOrderExt.getOrderNo());
if(!CollectionUtils.isEmpty(produceSnRepairList)) { // if(!CollectionUtils.isEmpty(produceSnRepairList)) {
// 未下线条码 // // 未下线条码
produceSnRepairList = produceSnRepairList.stream().filter(o -> StringUtils.isEmpty(o.getOutWorkCenterTime())).collect(Collectors.toList()); // produceSnRepairList = produceSnRepairList.stream().filter(o -> StringUtils.isEmpty(o.getOutWorkCenterTime())).collect(Collectors.toList());
//
if(!CollectionUtils.isEmpty(produceSnRepairList)){ // if(!CollectionUtils.isEmpty(produceSnRepairList)){
List<String> serialNumberList = produceSnRepairList.stream().map(MesProduceSnRepair::getSerialNumber).collect(Collectors.toList()); // List<String> serialNumberList = produceSnRepairList.stream().map(MesProduceSnRepair::getSerialNumber).collect(Collectors.toList());
//
updateProduceSnRepair(organizeCode, serialNumberList); // updateProduceSnRepair(organizeCode, serialNumberList);
//
updatePackage(organizeCode, serialNumberList); // updatePackage(organizeCode, serialNumberList);
//
unbindReworkRangeList(organizeCode, workOrderExt, serialNumberList, userInfo); // unbindReworkRangeList(organizeCode, workOrderExt, serialNumberList, userInfo);
//
clearProdBindRecord(organizeCode, workOrderExt, TimeTool.getNowTime(true), serialNumberList, userInfo); // clearProdBindRecord(organizeCode, workOrderExt, TimeTool.getNowTime(true), serialNumberList, userInfo);
} // }
} // }
} // }
//
reworkOrderRepository.updateByProperties(new String[]{MesPcnExtConstWords.REWORK_ORDER_NO}, new Object[]{workOrderExt.getOrderNo()}, // //reworkOrderRepository.updateByProperties(new String[]{MesPcnExtConstWords.REWORK_ORDER_NO}, new Object[]{workOrderExt.getOrderNo()},
new String[]{ MesPcnExtConstWords.WORK_ORDER_STATUS, MesPcnExtConstWords.SYSTEM_SYNC_STATUS, MesPcnExtConstWords.MODIFY_USER, MesPcnExtConstWords.MODIFY_DATE_TIME}, // // new String[]{ MesPcnExtConstWords.WORK_ORDER_STATUS, MesPcnExtConstWords.SYSTEM_SYNC_STATUS, MesPcnExtConstWords.MODIFY_USER, MesPcnExtConstWords.MODIFY_DATE_TIME},
new Object[]{MesPcnExtEnumUtil.WORK_ORDER_STATUS.CLOSE.getValue(), MesPcnExtEnumUtil.IF_SYNC_STATUS.NO_SYNC.getValue(), AuthUtil.getSessionUser().getUserName(), TimeTool.getNowTime(true)}); // // new Object[]{MesPcnExtEnumUtil.WORK_ORDER_STATUS.CLOSE.getValue(), MesPcnExtEnumUtil.IF_SYNC_STATUS.NO_SYNC.getValue(), AuthUtil.getSessionUser().getUserName(), TimeTool.getNowTime(true)});
} // }
} //}
/*if (MesExtEnumUtil.WORK_ORDER_STATUS.PAUSE.getValue() != mesWorkOrder.getWorkOrderStatus()) { /*if (MesExtEnumUtil.WORK_ORDER_STATUS.PAUSE.getValue() != mesWorkOrder.getWorkOrderStatus()) {
throw ImppExceptionBuilder.newInstance().setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) throw ImppExceptionBuilder.newInstance().setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("工单号【%s】的工单状态不是暂停状态不能完成", mesWorkOrder.getOrderNo()) .setErrorDetail("工单号【%s】的工单状态不是暂停状态不能完成", mesWorkOrder.getOrderNo())

@ -1,13 +1,11 @@
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.base.bu; package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.base.bu;
import cn.estsh.i3plus.ext.mes.pcn.api.base.IPartExtService;
import cn.estsh.i3plus.ext.mes.pcn.api.base.ISxWorkOrderExtService; import cn.estsh.i3plus.ext.mes.pcn.api.base.ISxWorkOrderExtService;
import cn.estsh.i3plus.ext.mes.pcn.api.base.bu.IBuFirstOrderService; import cn.estsh.i3plus.ext.mes.pcn.api.base.bu.IBuFirstOrderService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IPackageExtService;
import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.*; import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.*;
import cn.estsh.i3plus.ext.mes.pcn.pojo.repository.MesFirstOrderDetailRepository; import cn.estsh.i3plus.ext.mes.pcn.pojo.repository.MesFirstOrderDetailRepository;
import cn.estsh.i3plus.ext.mes.pcn.pojo.repository.MesOrderJobRepository; import cn.estsh.i3plus.ext.mes.pcn.pojo.repository.MesOrderJobRepository;
import cn.estsh.i3plus.ext.mes.pcn.pojo.repository.MesPackageExtRepository; import cn.estsh.i3plus.ext.mes.pcn.pojo.repository.MesProduceSnExtRepository;
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords; import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtEnumUtil; import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtEnumUtil;
import cn.estsh.i3plus.platform.common.convert.ConvertBean; import cn.estsh.i3plus.platform.common.convert.ConvertBean;
@ -15,8 +13,6 @@ import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.bean.MesContainer;
import cn.estsh.i3plus.pojo.mes.repository.MesContainerRepository;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -35,25 +31,16 @@ import java.util.List;
public class BuFirstOrderService implements IBuFirstOrderService { public class BuFirstOrderService implements IBuFirstOrderService {
@Autowired @Autowired
private IPartExtService partExtService;
@Autowired
private IPackageExtService packageExtService;
@Autowired
private MesOrderJobRepository orderJobRepository; private MesOrderJobRepository orderJobRepository;
@Autowired @Autowired
private ISxWorkOrderExtService workOrderExtService; private ISxWorkOrderExtService workOrderExtService;
@Autowired @Autowired
private MesPackageExtRepository packageExtRepository;
@Autowired
private MesFirstOrderDetailRepository mesFirstOrderDetailRDao; private MesFirstOrderDetailRepository mesFirstOrderDetailRDao;
@Autowired @Autowired
private MesContainerRepository containerRepository; private MesProduceSnExtRepository produceSnExtRepository;
@Override @Override
public void doCheckSerialNumber(String serialNumber, String orderNo, String workOrderNo, String organizeCode, String modifyUser) { public void doCheckSerialNumber(String serialNumber, String orderNo, String workOrderNo, String organizeCode, String modifyUser) {
@ -66,6 +53,19 @@ public class BuFirstOrderService implements IBuFirstOrderService {
.build(); .build();
} }
//扫描管理码
MesProduceSnExt produceSnExt = produceSnExtRepository.getByProperty(
new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.SERIAL_NUMBER, MesPcnExtConstWords.WORK_ORDER_NO},
new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), serialNumber, workOrderNo});
if (produceSnExt == null) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
.setErrorDetail("管理码[%s]不存在于当前工单中", serialNumber)
.build();
}
MesOrderJob orderJobDb = orderJobRepository.getByProperty( MesOrderJob orderJobDb = orderJobRepository.getByProperty(
new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.ORDER_NO}, new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.ORDER_NO},
new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), orderNo}); new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), orderNo});
@ -94,122 +94,6 @@ public class BuFirstOrderService implements IBuFirstOrderService {
.build(); .build();
} }
MesPartExt partExt = partExtService.getPartExt(organizeCode, workOrderExt.getPartNo());
if (null == partExt) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
.setErrorDetail("生产工单号[%s]关联的物料编码[%s]无效", workOrderNo, workOrderExt.getPartNo())
.build();
}
if (StringUtils.isEmpty(partExt.getCategoryCode2()) || MesPcnExtEnumUtil.CATEGORY_CODE_2.OUTSIDE.getValue().equals(partExt.getCategoryCode2())) {
MesOrderJob orderJobExist = orderJobRepository.getByProperty(
new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.SERIAL_NUMBER},
new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), serialNumber});
if (null != orderJobExist) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("包装条码[%s]已经绑定单据[%s],不可再次执行绑定", serialNumber, orderJobExist.getOrderNo())
.build();
}
//扫描包装条码
MesPackageExt packageExt = packageExtService.getPackageByPackNo(organizeCode, serialNumber);
if (null == packageExt) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
.setErrorDetail("包装条码[%s]无效", serialNumber)
.build();
}
if (StringUtils.isEmpty(partExt.getCategoryCode2())) {
if (MesPcnExtEnumUtil.WORK_ORDER_TYPE.REWORK_ORDER.getValue() != workOrderExt.getWorkOrderType()) {
if (!packageExt.getWorkOrderNo().equals(workOrderNo)) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("生产工单[%s]未关联包装条码[%s]", workOrderNo, serialNumber)
.build();
} else {
if (!StringUtils.isEmpty(packageExt.getLastWorkOrderNo()) && !packageExt.getLastWorkOrderNo().equals(packageExt.getWorkOrderNo())) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("包装条码[%s]已经关联返工工单[%s]", serialNumber, packageExt.getLastWorkOrderNo())
.build();
}
}
} else {
if (StringUtils.isEmpty(packageExt.getLastWorkOrderNo()) || !packageExt.getLastWorkOrderNo().equals(workOrderNo)) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("返工工单[%s]未关联包装条码[%s]", workOrderNo, serialNumber)
.build();
}
}
} else {
if (!packageExt.getWorkOrderNo().equals(workOrderNo)) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("生产工单[%s]未关联包装条码[%s]", workOrderNo, serialNumber)
.build();
}
}
} else {
//扫描CT_NO
MesContainer containerDb = containerRepository.getByProperty(
new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.CT_NO},
new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), serialNumber});
if (null == containerDb) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
.setErrorDetail("容器条码[%s]无效", serialNumber)
.build();
}
if (MesPcnExtEnumUtil.CONTAINER_USE_STATUS.LEISURE.getValue() == containerDb.getUseStatus()) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
.setErrorDetail("容器条码[%s]未进行生产,请重新扫描", serialNumber)
.build();
}
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(serialNumber, MesPcnExtConstWords.CT_NO, packBean);
DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.DESC.getValue()}, new String[]{MesPcnExtConstWords.MODIFY_DATE_TIME}, packBean);
MesPackageExt packageExt = packageExtRepository.getByProperty(packBean);
if (null == packageExt) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("容器条码[%s]未关联包装条码", serialNumber)
.build();
}
if (!packageExt.getWorkOrderNo().equals(workOrderNo)) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("容器条码[%s]关联的最新包装条码[%s]对应的生产工单[%s]与当前生产工单[%s]不一致",
serialNumber, packageExt.getPackageNo(), packageExt.getWorkOrderNo(), workOrderNo)
.build();
} else {
if (!StringUtils.isEmpty(packageExt.getLastWorkOrderNo()) && !packageExt.getLastWorkOrderNo().equals(packageExt.getWorkOrderNo())) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("容器条码[%s]关联的包装条码[%s]已经关联返工工单[%s]", serialNumber, packageExt.getPackageNo(), packageExt.getLastWorkOrderNo())
.build();
}
}
MesOrderJob orderJobExist = orderJobRepository.getByProperty( MesOrderJob orderJobExist = orderJobRepository.getByProperty(
new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.SERIAL_NUMBER}, new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.SERIAL_NUMBER},
new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), serialNumber}); new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), serialNumber});
@ -217,13 +101,10 @@ public class BuFirstOrderService implements IBuFirstOrderService {
throw ImppExceptionBuilder.newInstance() throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode()) .setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("容器条码[%s]已经绑定单据[%s],不可再次执行绑定", serialNumber, orderJobExist.getOrderNo()) .setErrorDetail("产品条码[%s]已经绑定单据[%s],不可再次执行绑定", serialNumber, orderJobExist.getOrderNo())
.build(); .build();
} }
serialNumber = packageExt.getPackageNo();
}
orderJobDb.setSerialNumber(serialNumber); orderJobDb.setSerialNumber(serialNumber);
ConvertBean.serviceModelUpdate(orderJobDb, modifyUser); ConvertBean.serviceModelUpdate(orderJobDb, modifyUser);
orderJobRepository.save(orderJobDb); orderJobRepository.save(orderJobDb);
@ -241,7 +122,7 @@ public class BuFirstOrderService implements IBuFirstOrderService {
} }
@Override @Override
public void updateMesFirstOrderDetail(MesFirstOrderDetail mesFirstOrderDetail, String userName) { public String updateMesFirstOrderDetail(MesFirstOrderDetail mesFirstOrderDetail, String userName) {
//上下限有值时,结果值为必填 //上下限有值时,结果值为必填
if (!StringUtils.isEmpty(mesFirstOrderDetail.getUpLimit()) && !StringUtils.isEmpty(mesFirstOrderDetail.getDownLimit()) && StringUtils.isEmpty(mesFirstOrderDetail.getResultValue())){ if (!StringUtils.isEmpty(mesFirstOrderDetail.getUpLimit()) && !StringUtils.isEmpty(mesFirstOrderDetail.getDownLimit()) && StringUtils.isEmpty(mesFirstOrderDetail.getResultValue())){
@ -255,7 +136,7 @@ public class BuFirstOrderService implements IBuFirstOrderService {
//根据单号查询任务主表信息 //根据单号查询任务主表信息
String orderNo = mesFirstOrderDetail.getOrderNo(); String orderNo = mesFirstOrderDetail.getOrderNo();
MesOrderJob mesOrderJob = orderJobRepository.getByProperty( MesOrderJob mesOrderJob = orderJobRepository.getByProperty(
new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, "orderNo"}, new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.ORDER_NO},
new Object[]{mesFirstOrderDetail.getOrganizeCode(), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), new Object[]{mesFirstOrderDetail.getOrganizeCode(), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(),
MesPcnExtEnumUtil.IS_VAILD.VAILD.getValue(), orderNo}); MesPcnExtEnumUtil.IS_VAILD.VAILD.getValue(), orderNo});
@ -272,25 +153,43 @@ public class BuFirstOrderService implements IBuFirstOrderService {
if (!StringUtils.isEmpty(mesFirstOrderDetail.getUpLimit()) && StringUtils.isEmpty(mesFirstOrderDetail.getDownLimit())){ if (!StringUtils.isEmpty(mesFirstOrderDetail.getUpLimit()) && StringUtils.isEmpty(mesFirstOrderDetail.getDownLimit())){
Double upLimit = Double.valueOf(mesFirstOrderDetail.getUpLimit()); Double upLimit = Double.valueOf(mesFirstOrderDetail.getUpLimit());
if (resultValue > upLimit && mesFirstOrderDetail.getCheckResult().equals("10")){ if (resultValue > upLimit && mesFirstOrderDetail.getCheckResult().equals("10")){
mesFirstOrderDetail.setCheckResult("30"); mesFirstOrderDetail.setCheckResult("20");
}else if (resultValue <= upLimit && mesFirstOrderDetail.getCheckResult().equals("30")){ }else if (resultValue <= upLimit && mesFirstOrderDetail.getCheckResult().equals("20")){
mesFirstOrderDetail.setCheckResult("10"); mesFirstOrderDetail.setCheckResult("10");
} }
}else if (StringUtils.isEmpty(mesFirstOrderDetail.getUpLimit()) && !StringUtils.isEmpty(mesFirstOrderDetail.getDownLimit())){ }else if (StringUtils.isEmpty(mesFirstOrderDetail.getUpLimit()) && !StringUtils.isEmpty(mesFirstOrderDetail.getDownLimit())){
Double downLimit = Double.valueOf(mesFirstOrderDetail.getDownLimit()); Double downLimit = Double.valueOf(mesFirstOrderDetail.getDownLimit());
if (resultValue < downLimit && mesFirstOrderDetail.getCheckResult().equals("10")){ if (resultValue < downLimit && mesFirstOrderDetail.getCheckResult().equals("10")){
mesFirstOrderDetail.setCheckResult("30"); mesFirstOrderDetail.setCheckResult("20");
}else if (resultValue >= downLimit && mesFirstOrderDetail.getCheckResult().equals("30")){ }else if (resultValue >= downLimit && mesFirstOrderDetail.getCheckResult().equals("20")){
mesFirstOrderDetail.setCheckResult("10"); mesFirstOrderDetail.setCheckResult("10");
} }
}else if (!StringUtils.isEmpty(mesFirstOrderDetail.getUpLimit()) && !StringUtils.isEmpty(mesFirstOrderDetail.getDownLimit())){ }else if (!StringUtils.isEmpty(mesFirstOrderDetail.getUpLimit()) && !StringUtils.isEmpty(mesFirstOrderDetail.getDownLimit())){
Double upLimit = Double.valueOf(mesFirstOrderDetail.getUpLimit()); Double upLimit = Double.valueOf(mesFirstOrderDetail.getUpLimit());
Double downLimit = Double.valueOf(mesFirstOrderDetail.getDownLimit()); Double downLimit = Double.valueOf(mesFirstOrderDetail.getDownLimit());
if ((upLimit >= resultValue && resultValue >= downLimit) && mesFirstOrderDetail.getCheckResult().equals("30")){ if ((upLimit >= resultValue && resultValue >= downLimit) && mesFirstOrderDetail.getCheckResult().equals("20")){
mesFirstOrderDetail.setCheckResult("10"); mesFirstOrderDetail.setCheckResult("10");
}else if (!(upLimit >= resultValue && resultValue >= downLimit) && mesFirstOrderDetail.getCheckResult().equals("10")){ }else if (!(upLimit >= resultValue && resultValue >= downLimit) && mesFirstOrderDetail.getCheckResult().equals("10")){
mesFirstOrderDetail.setCheckResult("30"); mesFirstOrderDetail.setCheckResult("20");
}
}
} }
if (mesFirstOrderDetail.getManageType().equals(MesPcnExtEnumUtil.Q_MANAGE_MANAGE_TYPE.RESULT_TYPE.getValue()) && !StringUtils.isEmpty(mesFirstOrderDetail.getImportanceSafePartNo()) && StringUtils.isEmpty(mesFirstOrderDetail.getCheckResult())){
if (!mesFirstOrderDetail.getImportanceSafePartNo().equals(mesFirstOrderDetail.getCheckValue())) {
MesProduceSnExt produceSnExt = produceSnExtRepository.getByProperty(
new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.PRODUCT_SN},
new Object[]{mesFirstOrderDetail.getOrganizeCode(), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(),
MesPcnExtEnumUtil.IS_VAILD.VAILD.getValue(), mesFirstOrderDetail.getCheckValue()});
if (produceSnExt == null || !produceSnExt.getPartNo().equals(mesFirstOrderDetail.getImportanceSafePartNo())) {
log.info("updateMesFirstOrderDetail --- 条码为空或条码的重要安全部品编码不一致");
mesFirstOrderDetail.setCheckValue("20");
} else {
mesFirstOrderDetail.setCheckValue("10");
}
} else {
mesFirstOrderDetail.setCheckValue("20");
} }
} }
@ -305,5 +204,6 @@ public class BuFirstOrderService implements IBuFirstOrderService {
orderJobRepository.save(mesOrderJob); orderJobRepository.save(mesOrderJob);
return mesFirstOrderDetail.getCheckResult();
} }
} }

@ -144,12 +144,12 @@ public class BuMesOrderJobService implements IBuMesOrderJobService {
List<MesPersonCheckDetail> personCheckDetailList = personCheckDetailRDao.findByHqlWhere(packBean); List<MesPersonCheckDetail> personCheckDetailList = personCheckDetailRDao.findByHqlWhere(packBean);
return CollectionUtils.isEmpty(personCheckDetailList)? true : false; return CollectionUtils.isEmpty(personCheckDetailList)? true : false;
case Q_MANAGE: //case Q_MANAGE:
//判断当前明细数据中【刀头是否完好】字段存在数据 // //判断当前明细数据中【刀头是否完好】字段存在数据
List<MesQManageTaskDetail> qDetailsTotal = qManageTaskDetailRDao.findByHqlWhere(packBean); // List<MesQManageTaskDetail> qDetailsTotal = qManageTaskDetailRDao.findByHqlWhere(packBean);
DdlPreparedPack.getStringNotBlanklPack("isIntact", packBean); // DdlPreparedPack.getStringNotBlanklPack("isIntact", packBean);
List<MesQManageTaskDetail> qDetails = qManageTaskDetailRDao.findByHqlWhere(packBean); // List<MesQManageTaskDetail> qDetails = qManageTaskDetailRDao.findByHqlWhere(packBean);
return qDetails.size() == qDetailsTotal.size() ? true : false; // return qDetails.size() == qDetailsTotal.size() ? true : false;
case EQU_CHECK: case EQU_CHECK:
DdlPackBean equPackBean = MesPcnHqlPack.getAllBaseData(organizeCode); DdlPackBean equPackBean = MesPcnHqlPack.getAllBaseData(organizeCode);

@ -1,146 +1,146 @@
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.base.bu3; //package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.base.bu3;
//
import cn.estsh.i3plus.ext.mes.pcn.api.base.bu3.IBuQManageService; //import cn.estsh.i3plus.ext.mes.pcn.api.base.bu3.IBuQManageService;
import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.*; //import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.*;
import cn.estsh.i3plus.ext.mes.pcn.pojo.repository.*; //import cn.estsh.i3plus.ext.mes.pcn.pojo.repository.*;
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords; //import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtEnumUtil; //import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtEnumUtil;
import cn.estsh.i3plus.mes.pcn.api.iservice.busi.ISyncFuncService; //import cn.estsh.i3plus.mes.pcn.api.iservice.busi.ISyncFuncService;
import cn.estsh.i3plus.mes.pcn.util.DateUtil; //import cn.estsh.i3plus.mes.pcn.util.DateUtil;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; //import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
import cn.estsh.i3plus.pojo.base.bean.BaseResultBean; //import cn.estsh.i3plus.pojo.base.bean.BaseResultBean;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; //import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; //import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.MesEnumUtil; //import cn.estsh.i3plus.pojo.base.enumutil.MesEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; //import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.model.GenSerialNoModel; //import cn.estsh.i3plus.pojo.mes.model.GenSerialNoModel;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; //import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import org.springframework.beans.BeanUtils; //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.util.CollectionUtils; //import org.springframework.util.CollectionUtils;
//
import java.util.Date; //import java.util.Date;
import java.util.List; //import java.util.List;
import java.util.Map; //import java.util.Map;
import java.util.function.Function; //import java.util.function.Function;
import java.util.stream.Collectors; //import java.util.stream.Collectors;
//
/** ///**
* @PROJECT_NAME: i3plus-mes-panasonic-bu // * @PROJECT_NAME: i3plus-mes-panasonic-bu
* @DESCRIPTION: // * @DESCRIPTION:
* @USER: xinwang.yi // * @USER: xinwang.yi
* @DATE: 2023-04-17 9:23 // * @DATE: 2023-04-17 9:23
*/ // */
@Service //@Service
public class BuQManageService implements IBuQManageService { //public class BuQManageService implements IBuQManageService {
//
@Autowired // @Autowired
private MesOrderJobRepository orderJobRepository; // private MesOrderJobRepository orderJobRepository;
//
@Autowired // @Autowired
private MesQManageTaskDetailRepository qManageTaskDetailRepository; // private MesQManageTaskDetailRepository qManageTaskDetailRepository;
//
@Autowired // @Autowired
private ISyncFuncService syncFuncService; // private ISyncFuncService syncFuncService;
//
@Autowired // @Autowired
private MesWorkCenterExtRepository workCenterExtRepository; // private MesWorkCenterExtRepository workCenterExtRepository;
//
@Autowired // @Autowired
private MesProcessQManageRepository processQManageRepository; // private MesProcessQManageRepository processQManageRepository;
//
@Autowired // @Autowired
private MesProcessCellRepository processCellRepository; // private MesProcessCellRepository processCellRepository;
//
//@Override // //@Override
//public void generateWeekCheck(String organizeCode, String workCenterCode) { // //public void generateWeekCheck(String organizeCode, String workCenterCode) {
// generateOrderJob(organizeCode, workCenterCode, MesPcnExtEnumUtil.MES_Q_MANAGER_CHECK_TYPE.WEEK_CHECK.getValue()); // // generateOrderJob(organizeCode, workCenterCode, MesPcnExtEnumUtil.MES_Q_MANAGER_CHECK_TYPE.WEEK_CHECK.getValue());
//} // //}
//
@Override // @Override
public void generateMonthCheck(String organizeCode, String workCenterCode) { // public void generateMonthCheck(String organizeCode, String workCenterCode) {
generateOrderJob(organizeCode, workCenterCode, MesPcnExtEnumUtil.MES_Q_MANAGER_CHECK_TYPE.MONTH_CHECK.getValue()); // generateOrderJob(organizeCode, workCenterCode, MesPcnExtEnumUtil.MES_Q_MANAGER_CHECK_TYPE.MONTH_CHECK.getValue());
} // }
//
private void generateOrderJob(String organizeCode, String workCenterCode, String checkType) { // private void generateOrderJob(String organizeCode, String workCenterCode, String checkType) {
List<MesProcessCell> processCellList = processCellRepository.findByProperty( // List<MesProcessCell> processCellList = processCellRepository.findByProperty(
new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.WORK_CENTER_CODE}, // new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.WORK_CENTER_CODE},
new Object[]{organizeCode, CommonEnumUtil.IS_VAILD.VAILD.getValue(), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), workCenterCode}); // new Object[]{organizeCode, CommonEnumUtil.IS_VAILD.VAILD.getValue(), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), workCenterCode});
Map<String, MesProcessCell> processCellMap = processCellList.stream().collect(Collectors.toMap(o -> o.getProcessCode(), Function.identity(), (x, y) -> y)); // Map<String, MesProcessCell> processCellMap = processCellList.stream().collect(Collectors.toMap(o -> o.getProcessCode(), Function.identity(), (x, y) -> y));
List<MesProcessQManage> qManageList = findQManageByCenterCode(organizeCode, processCellList, checkType); // List<MesProcessQManage> qManageList = findQManageByCenterCode(organizeCode, processCellList, checkType);
if (!CollectionUtils.isEmpty(qManageList)) { // if (!CollectionUtils.isEmpty(qManageList)) {
MesWorkCenterExt workCenter = getWorkCenter(workCenterCode, organizeCode); // MesWorkCenterExt workCenter = getWorkCenter(workCenterCode, organizeCode);
MesOrderJob newOrderJob = new MesOrderJob(); // MesOrderJob newOrderJob = new MesOrderJob();
newOrderJob.setTaskType(MesPcnExtEnumUtil.MES_OR_TASK_TYPE.PREPARE_TASK.getValue()); // newOrderJob.setTaskType(MesPcnExtEnumUtil.MES_OR_TASK_TYPE.PREPARE_TASK.getValue());
newOrderJob.setOrderType(MesPcnExtEnumUtil.MES_OR_ORDER_TYPE.Q_MANAGE.getValue()); // newOrderJob.setOrderType(MesPcnExtEnumUtil.MES_OR_ORDER_TYPE.Q_MANAGE.getValue());
newOrderJob.setOrderNo(getOrderNo(organizeCode)); // newOrderJob.setOrderNo(getOrderNo(organizeCode));
newOrderJob.setWorkCenterCode(workCenterCode); // newOrderJob.setWorkCenterCode(workCenterCode);
newOrderJob.setOrderStatus(MesPcnExtEnumUtil.MES_ORJ_ORDER_STATUS.CREATE.getValue()); // newOrderJob.setOrderStatus(MesPcnExtEnumUtil.MES_ORJ_ORDER_STATUS.CREATE.getValue());
newOrderJob.setOrderDate(DateUtil.formatDate("yyyy-MM-dd", new Date())); // newOrderJob.setOrderDate(DateUtil.formatDate("yyyy-MM-dd", new Date()));
newOrderJob.setWorkTime(DateUtil.formatDate("yyyy-MM-dd", new Date())); // newOrderJob.setWorkTime(DateUtil.formatDate("yyyy-MM-dd", new Date()));
newOrderJob.setGenerateTime(DateUtil.formatDate("yyyy-MM-dd", new Date())); // newOrderJob.setGenerateTime(DateUtil.formatDate("yyyy-MM-dd", new Date()));
newOrderJob.setOrganizeCode(organizeCode); // newOrderJob.setOrganizeCode(organizeCode);
newOrderJob.setIsValid(MesPcnExtEnumUtil.IS_VAILD.VAILD.getValue()); // newOrderJob.setIsValid(MesPcnExtEnumUtil.IS_VAILD.VAILD.getValue());
newOrderJob.setIsDeleted(MesEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); // newOrderJob.setIsDeleted(MesEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
newOrderJob.setCreateDatetime(DateUtil.formatDate()); // newOrderJob.setCreateDatetime(DateUtil.formatDate());
newOrderJob.setModifyDatetime(DateUtil.formatDate()); // newOrderJob.setModifyDatetime(DateUtil.formatDate());
newOrderJob.setCheckType(checkType); // newOrderJob.setCheckType(checkType);
newOrderJob.setHandlerMethod(MesPcnExtEnumUtil.HANDLER_METHOD.MANUALLY_CREATE.getValue()); // newOrderJob.setHandlerMethod(MesPcnExtEnumUtil.HANDLER_METHOD.MANUALLY_CREATE.getValue());
newOrderJob.setShiftCode(workCenter.getShiftCode()); // newOrderJob.setShiftCode(workCenter.getShiftCode());
MesOrderJob job = orderJobRepository.save(newOrderJob); // MesOrderJob job = orderJobRepository.save(newOrderJob);
//
for (MesProcessQManage processQManage : qManageList) { // for (MesProcessQManage processQManage : qManageList) {
MesQManageTaskDetail qManageTaskDetail = new MesQManageTaskDetail(); // MesQManageTaskDetail qManageTaskDetail = new MesQManageTaskDetail();
qManageTaskDetail.setOrderNo(job.getOrderNo()); // qManageTaskDetail.setOrderNo(job.getOrderNo());
BeanUtils.copyProperties(processQManage, qManageTaskDetail, "id"); // BeanUtils.copyProperties(processQManage, qManageTaskDetail, "id");
qManageTaskDetail.setCheckType(checkType); // qManageTaskDetail.setCheckType(checkType);
qManageTaskDetail.setShiftCode(workCenter.getShiftCode()); // qManageTaskDetail.setShiftCode(workCenter.getShiftCode());
qManageTaskDetail.setWorkCenterCode(workCenterCode); // qManageTaskDetail.setWorkCenterCode(workCenterCode);
MesProcessCell mesProcessCell = processCellMap.get(processQManage.getProcessCode()); // MesProcessCell mesProcessCell = processCellMap.get(processQManage.getProcessCode());
if(mesProcessCell != null){ // if(mesProcessCell != null){
qManageTaskDetail.setWorkCellCode(mesProcessCell.getWorkCellCode()); // qManageTaskDetail.setWorkCellCode(mesProcessCell.getWorkCellCode());
qManageTaskDetail.setWorkCellName(mesProcessCell.getWorkCellName()); // qManageTaskDetail.setWorkCellName(mesProcessCell.getWorkCellName());
qManageTaskDetail.setProcessName(mesProcessCell.getProcessName()); // qManageTaskDetail.setProcessName(mesProcessCell.getProcessName());
} // }
//
qManageTaskDetailRepository.save(qManageTaskDetail); // qManageTaskDetailRepository.save(qManageTaskDetail);
} // }
}else{ // }else{
throw ImppExceptionBuilder.newInstance() // throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode()) // .setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode()) // .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode())
.setErrorDetail("产线【%s】未维护月点检项目请确认",workCenterCode) // .setErrorDetail("产线【%s】未维护月点检项目请确认",workCenterCode)
.build(); // .build();
} // }
} // }
//
private MesWorkCenterExt getWorkCenter(String workCenterCode, String organizeCode) { // private MesWorkCenterExt getWorkCenter(String workCenterCode, String organizeCode) {
return workCenterExtRepository.getByProperty( // return workCenterExtRepository.getByProperty(
new String[]{"workCenterCode", "organizeCode", "isValid", "isDeleted"}, // new String[]{"workCenterCode", "organizeCode", "isValid", "isDeleted"},
new Object[]{workCenterCode, organizeCode, // new Object[]{workCenterCode, organizeCode,
CommonEnumUtil.IS_VAILD.VAILD.getValue(), // CommonEnumUtil.IS_VAILD.VAILD.getValue(),
CommonEnumUtil.IS_DEAL.NO.getValue()}); // CommonEnumUtil.IS_DEAL.NO.getValue()});
} // }
//
public List<MesProcessQManage> findQManageByCenterCode(String organizeCode, List<MesProcessCell> processCellList, String checkType) { // public List<MesProcessQManage> findQManageByCenterCode(String organizeCode, List<MesProcessCell> processCellList, String checkType) {
if(CollectionUtils.isEmpty(processCellList)) return null; // if(CollectionUtils.isEmpty(processCellList)) return null;
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); // DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(checkType, MesPcnExtConstWords.CHECK_TYPE, ddlPackBean); // DdlPreparedPack.getStringEqualPack(checkType, MesPcnExtConstWords.CHECK_TYPE, ddlPackBean);
DdlPreparedPack.getInPackList(processCellList.stream().map(MesProcessCell::getProcessCode).distinct().collect(Collectors.toList()), MesPcnExtConstWords.PROCESS_CODE, ddlPackBean); // DdlPreparedPack.getInPackList(processCellList.stream().map(MesProcessCell::getProcessCode).distinct().collect(Collectors.toList()), MesPcnExtConstWords.PROCESS_CODE, ddlPackBean);
//
return processQManageRepository.findByHqlWhere(ddlPackBean); // return processQManageRepository.findByHqlWhere(ddlPackBean);
} // }
//
private String getOrderNo(String organizeCode) { // private String getOrderNo(String organizeCode) {
String orderNo = null; // String orderNo = null;
try { // try {
BaseResultBean oneCodeResult = syncFuncService.syncSerialNo(new GenSerialNoModel(MesPcnExtConstWords.ORDER_NO_RULE), null, organizeCode, 1); // BaseResultBean oneCodeResult = syncFuncService.syncSerialNo(new GenSerialNoModel(MesPcnExtConstWords.ORDER_NO_RULE), null, organizeCode, 1);
if (oneCodeResult != null && oneCodeResult.isSuccess()) { // if (oneCodeResult != null && oneCodeResult.isSuccess()) {
orderNo = oneCodeResult.getResultList().get(0).toString(); // orderNo = oneCodeResult.getResultList().get(0).toString();
} // }
} catch (Exception e) { // } catch (Exception e) {
} // }
return orderNo; // return orderNo;
} // }
} //}

@ -1,415 +1,415 @@
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.base.ep; //package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.base.ep;
//
import cn.estsh.i3plus.ext.mes.pcn.api.base.ep.IEpEquipmentCheckDetailService; //import cn.estsh.i3plus.ext.mes.pcn.api.base.ep.IEpEquipmentCheckDetailService;
import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.MesEpEquipmentCheck; //import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.MesEpEquipmentCheck;
import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.MesEpEquipmentCheckDetail; //import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.MesEpEquipmentCheckDetail;
import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.MesOrderJob; //import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.MesOrderJob;
import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.MesWorkCenterExt; //import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.MesWorkCenterExt;
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.ep.EpEquipmentCheckDetailModel; //import cn.estsh.i3plus.ext.mes.pcn.pojo.model.ep.EpEquipmentCheckDetailModel;
import cn.estsh.i3plus.ext.mes.pcn.pojo.repository.MesEpEquipmentCheckDetailRepository; //import cn.estsh.i3plus.ext.mes.pcn.pojo.repository.MesEpEquipmentCheckDetailRepository;
import cn.estsh.i3plus.ext.mes.pcn.pojo.repository.MesEpEquipmentCheckRepository; //import cn.estsh.i3plus.ext.mes.pcn.pojo.repository.MesEpEquipmentCheckRepository;
import cn.estsh.i3plus.ext.mes.pcn.pojo.repository.MesOrderJobRepository; //import cn.estsh.i3plus.ext.mes.pcn.pojo.repository.MesOrderJobRepository;
import cn.estsh.i3plus.ext.mes.pcn.pojo.repository.MesWorkCenterExtRepository; //import cn.estsh.i3plus.ext.mes.pcn.pojo.repository.MesWorkCenterExtRepository;
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords; //import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtEnumUtil; //import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtEnumUtil;
import cn.estsh.i3plus.mes.pcn.api.iservice.busi.ISyncFuncService; //import cn.estsh.i3plus.mes.pcn.api.iservice.busi.ISyncFuncService;
import cn.estsh.i3plus.mes.pcn.util.DateUtil; //import cn.estsh.i3plus.mes.pcn.util.DateUtil;
import cn.estsh.i3plus.platform.common.convert.ConvertBean; //import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; //import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
import cn.estsh.i3plus.platform.common.tool.TimeTool; //import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.platform.common.util.MesConstWords; //import cn.estsh.i3plus.platform.common.util.MesConstWords;
import cn.estsh.i3plus.pojo.base.bean.BaseResultBean; //import cn.estsh.i3plus.pojo.base.bean.BaseResultBean;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; //import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.bean.ListPager; //import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager; //import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.common.PagerHelper; //import cn.estsh.i3plus.pojo.base.common.PagerHelper;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; //import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.MesEnumUtil; //import cn.estsh.i3plus.pojo.base.enumutil.MesEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; //import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.model.GenSerialNoModel; //import cn.estsh.i3plus.pojo.mes.model.GenSerialNoModel;
import cn.estsh.i3plus.pojo.mes.sqlpack.MesHqlPack; //import cn.estsh.i3plus.pojo.mes.sqlpack.MesHqlPack;
import cn.estsh.impp.framework.boot.auth.AuthUtil; //import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; //import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import org.springframework.beans.BeanUtils; //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.util.CollectionUtils; //import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils; //import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils; //import org.springframework.util.StringUtils;
//
import java.util.ArrayList; //import java.util.ArrayList;
import java.util.Date; //import java.util.Date;
import java.util.List; //import java.util.List;
import java.util.Map; //import java.util.Map;
import java.util.stream.Collectors; //import java.util.stream.Collectors;
//
/** ///**
* @PROJECT_NAME: i3plus-mes-panasonic-dev // * @PROJECT_NAME: i3plus-mes-panasonic-dev
* @DESCRIPTION: // * @DESCRIPTION:
* @USER: xinwang.yi // * @USER: xinwang.yi
* @DATE: 2021-12-14 10:32 // * @DATE: 2021-12-14 10:32
*/ // */
@Service //@Service
public class EpEquipmentCheckDetailService implements IEpEquipmentCheckDetailService { //public class EpEquipmentCheckDetailService implements IEpEquipmentCheckDetailService {
//
@Autowired // @Autowired
private MesEpEquipmentCheckRepository epEquipmentCheckRepository; // private MesEpEquipmentCheckRepository epEquipmentCheckRepository;
//
@Autowired // @Autowired
private MesEpEquipmentCheckDetailRepository equDetailRepository; // private MesEpEquipmentCheckDetailRepository equDetailRepository;
//
@Autowired // @Autowired
private MesOrderJobRepository mesOrderJobRepository; // private MesOrderJobRepository mesOrderJobRepository;
@Autowired // @Autowired
private MesWorkCenterExtRepository workCenterRepository; // private MesWorkCenterExtRepository workCenterRepository;
@Autowired // @Autowired
private ISyncFuncService syncFuncService; // private ISyncFuncService syncFuncService;
//
@Override // @Override
public ListPager<EpEquipmentCheckDetailModel> queryByPager(MesEpEquipmentCheckDetail equipmentCheck, Pager pager) { // public ListPager<EpEquipmentCheckDetailModel> queryByPager(MesEpEquipmentCheckDetail equipmentCheck, Pager pager) {
String workCenterCode = equipmentCheck.getWorkCenterCode(); // String workCenterCode = equipmentCheck.getWorkCenterCode();
String organizeCode = equipmentCheck.getOrganizeCode(); // String organizeCode = equipmentCheck.getOrganizeCode();
DdlPackBean packBean = MesHqlPack.getMesAllData(organizeCode); // DdlPackBean packBean = MesHqlPack.getMesAllData(organizeCode);
DdlPreparedPack.getStringEqualPack(equipmentCheck.getOrderJobNo(), MesPcnExtConstWords.ORDER_JOB_NO, packBean); // DdlPreparedPack.getStringEqualPack(equipmentCheck.getOrderJobNo(), MesPcnExtConstWords.ORDER_JOB_NO, packBean);
DdlPreparedPack.getStringEqualPack(equipmentCheck.getWorkCellCode(), "workCellCode", packBean); // DdlPreparedPack.getStringEqualPack(equipmentCheck.getWorkCellCode(), "workCellCode", packBean);
//
DdlPreparedPack.getNumEqualPack(equipmentCheck.getIsValid(), MesPcnExtConstWords.IS_VALID, packBean); // DdlPreparedPack.getNumEqualPack(equipmentCheck.getIsValid(), MesPcnExtConstWords.IS_VALID, packBean);
DdlPreparedPack.getStringEqualPack(workCenterCode, MesPcnExtConstWords.WORK_CENTER_CODE, packBean); // DdlPreparedPack.getStringEqualPack(workCenterCode, MesPcnExtConstWords.WORK_CENTER_CODE, packBean);
pager = PagerHelper.getPager(pager, equDetailRepository.findByHqlWhereCount(packBean)); // pager = PagerHelper.getPager(pager, equDetailRepository.findByHqlWhereCount(packBean));
List<MesEpEquipmentCheckDetail> equipmentCheckDetails = equDetailRepository.findByHqlWherePage(packBean, pager); // List<MesEpEquipmentCheckDetail> equipmentCheckDetails = equDetailRepository.findByHqlWherePage(packBean, pager);
List<EpEquipmentCheckDetailModel> epEquipmentCheckDetailModels = new ArrayList<>(); // List<EpEquipmentCheckDetailModel> epEquipmentCheckDetailModels = new ArrayList<>();
for(MesEpEquipmentCheckDetail epEquipmentCheckDetail: equipmentCheckDetails){ // for(MesEpEquipmentCheckDetail epEquipmentCheckDetail: equipmentCheckDetails){
EpEquipmentCheckDetailModel epEquipmentCheckDetailModel = new EpEquipmentCheckDetailModel(); // EpEquipmentCheckDetailModel epEquipmentCheckDetailModel = new EpEquipmentCheckDetailModel();
BeanUtils.copyProperties(epEquipmentCheckDetail, epEquipmentCheckDetailModel); // BeanUtils.copyProperties(epEquipmentCheckDetail, epEquipmentCheckDetailModel);
epEquipmentCheckDetailModel.setResutlTypeName(MesPcnExtEnumUtil.EP_EQUIPMENT_CHECK_RESULT_TYPE.valueOfDescription(epEquipmentCheckDetailModel.getResultType())); // epEquipmentCheckDetailModel.setResutlTypeName(MesPcnExtEnumUtil.EP_EQUIPMENT_CHECK_RESULT_TYPE.valueOfDescription(epEquipmentCheckDetailModel.getResultType()));
epEquipmentCheckDetailModels.add(epEquipmentCheckDetailModel); // epEquipmentCheckDetailModels.add(epEquipmentCheckDetailModel);
} // }
return new ListPager(epEquipmentCheckDetailModels, pager); // return new ListPager(epEquipmentCheckDetailModels, pager);
} // }
//
/** // /**
* // * 新增
* // *
* @param equipmentCheck // * @param equipmentCheck
* @return // * @return
*/ // */
@Override // @Override
public MesEpEquipmentCheckDetail insert(MesEpEquipmentCheckDetail equipmentCheck) { // public MesEpEquipmentCheckDetail insert(MesEpEquipmentCheckDetail equipmentCheck) {
ConvertBean.modelInitialize(equipmentCheck, AuthUtil.getSessionUser()); // ConvertBean.modelInitialize(equipmentCheck, AuthUtil.getSessionUser());
equipmentCheck.setOrganizeCode(AuthUtil.getOrganize().getOrganizeCode()); // equipmentCheck.setOrganizeCode(AuthUtil.getOrganize().getOrganizeCode());
return equDetailRepository.insert(equipmentCheck); // return equDetailRepository.insert(equipmentCheck);
} // }
//
/** // /**
* // * 修改
* // *
* @param equipmentCheck // * @param equipmentCheck
* @return // * @return
*/ // */
@Override // @Override
public void update(MesEpEquipmentCheckDetail equipmentCheck) { // public void update(MesEpEquipmentCheckDetail equipmentCheck) {
//1、判断单据是否存在 // //1、判断单据是否存在
Long id = equipmentCheck.getId(); // Long id = equipmentCheck.getId();
MesEpEquipmentCheckDetail equipmentCheckMeta = equDetailRepository.getById(id); // MesEpEquipmentCheckDetail equipmentCheckMeta = equDetailRepository.getById(id);
if (ObjectUtils.isEmpty(equipmentCheckMeta)) { // if (ObjectUtils.isEmpty(equipmentCheckMeta)) {
throwImppException(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode(), ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode(), "点检信息不存在"); // throwImppException(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode(), ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode(), "点检信息不存在");
} // }
//
ConvertBean.serviceModelUpdate(equipmentCheckMeta, equipmentCheck.getModifyUser()); // ConvertBean.serviceModelUpdate(equipmentCheckMeta, equipmentCheck.getModifyUser());
equipmentCheckMeta.setSpotCheckTime(equipmentCheckMeta.getModifyDatetime()); // equipmentCheckMeta.setSpotCheckTime(equipmentCheckMeta.getModifyDatetime());
equipmentCheckMeta.setSpotCheckUser(equipmentCheckMeta.getModifyUser()); // equipmentCheckMeta.setSpotCheckUser(equipmentCheckMeta.getModifyUser());
//
//根据单号查询任务主表信息 // //根据单号查询任务主表信息
String orderJobNo = equipmentCheckMeta.getOrderJobNo(); // String orderJobNo = equipmentCheckMeta.getOrderJobNo();
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(equipmentCheck.getOrganizeCode()); // DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(equipmentCheck.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(orderJobNo, MesPcnExtConstWords.ORDER_NO, ddlPackBean); // DdlPreparedPack.getStringEqualPack(orderJobNo, MesPcnExtConstWords.ORDER_NO, ddlPackBean);
MesOrderJob mesOrderJob = mesOrderJobRepository.getByProperty(ddlPackBean); // MesOrderJob mesOrderJob = mesOrderJobRepository.getByProperty(ddlPackBean);
//
if(null == mesOrderJob){ // if(null == mesOrderJob){
throw ImppExceptionBuilder.newInstance() // throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode()) // .setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode()) // .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode())
.setErrorDetail("单据【%s】不存在",orderJobNo) // .setErrorDetail("单据【%s】不存在",orderJobNo)
.build(); // .build();
} // }
//
switch (MesPcnExtEnumUtil.EP_EQUIPMENT_CHECK_RESULT_TYPE.valueOfDescription(equipmentCheck.getResultType())){ // switch (MesPcnExtEnumUtil.EP_EQUIPMENT_CHECK_RESULT_TYPE.valueOfDescription(equipmentCheck.getResultType())){
case MesPcnExtConstWords.COMPARE_TYPE: // case MesPcnExtConstWords.COMPARE_TYPE:
if(StringUtils.isEmpty(equipmentCheck.getResultValue())){ // if(StringUtils.isEmpty(equipmentCheck.getResultValue())){
equipmentCheckMeta.setRemark(equipmentCheck.getRemark()); // equipmentCheckMeta.setRemark(equipmentCheck.getRemark());
equipmentCheckMeta.setCheckResult(equipmentCheck.getCheckResult()); // equipmentCheckMeta.setCheckResult(equipmentCheck.getCheckResult());
equipmentCheckMeta.setResultValue(""); // equipmentCheckMeta.setResultValue("");
}else{ // }else{
try{ // try{
Double.valueOf(equipmentCheck.getResultValue()); // Double.valueOf(equipmentCheck.getResultValue());
}catch (Exception e){ // }catch (Exception e){
throwImppException(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode(), ImppExceptionEnum.VARIFY_EXCEPTION.getCode(), "实际值不是数值型"); // throwImppException(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode(), ImppExceptionEnum.VARIFY_EXCEPTION.getCode(), "实际值不是数值型");
} // }
//如果上限值和下限值为空 // //如果上限值和下限值为空
if(StringUtils.isEmpty(equipmentCheckMeta.getUpLimit()) && StringUtils.isEmpty(equipmentCheckMeta.getDownLimit())){ // if(StringUtils.isEmpty(equipmentCheckMeta.getUpLimit()) && StringUtils.isEmpty(equipmentCheckMeta.getDownLimit())){
equipmentCheckMeta.setRemark(equipmentCheck.getRemark()); // equipmentCheckMeta.setRemark(equipmentCheck.getRemark());
equipmentCheckMeta.setCheckResult(equipmentCheck.getCheckResult()); // equipmentCheckMeta.setCheckResult(equipmentCheck.getCheckResult());
equipmentCheckMeta.setResultValue(equipmentCheck.getResultValue()); // equipmentCheckMeta.setResultValue(equipmentCheck.getResultValue());
}else if(!StringUtils.isEmpty(equipmentCheckMeta.getDownLimit()) && !StringUtils.isEmpty(equipmentCheckMeta.getUpLimit())){ // }else if(!StringUtils.isEmpty(equipmentCheckMeta.getDownLimit()) && !StringUtils.isEmpty(equipmentCheckMeta.getUpLimit())){
Double downLimit = Double.valueOf(equipmentCheckMeta.getDownLimit()); // Double downLimit = Double.valueOf(equipmentCheckMeta.getDownLimit());
Double upLimit = Double.valueOf(equipmentCheckMeta.getUpLimit()); // Double upLimit = Double.valueOf(equipmentCheckMeta.getUpLimit());
Double resultValue = Double.valueOf(equipmentCheck.getResultValue()); // Double resultValue = Double.valueOf(equipmentCheck.getResultValue());
//如果实际值在规定范围之内 // //如果实际值在规定范围之内
if(resultValue>= downLimit && resultValue<= upLimit){ // if(resultValue>= downLimit && resultValue<= upLimit){
equipmentCheckMeta.setRemark(equipmentCheck.getRemark()); // equipmentCheckMeta.setRemark(equipmentCheck.getRemark());
equipmentCheckMeta.setResultValue(equipmentCheck.getResultValue()); // equipmentCheckMeta.setResultValue(equipmentCheck.getResultValue());
//
if(StringUtils.isEmpty(equipmentCheck.getCheckResult())){ // if(StringUtils.isEmpty(equipmentCheck.getCheckResult())){
equipmentCheckMeta.setCheckResult(MesPcnExtConstWords.OK); // equipmentCheckMeta.setCheckResult(MesPcnExtConstWords.OK);
}else if(equipmentCheck.getCheckResult() == MesPcnExtConstWords.NG){ // }else if(equipmentCheck.getCheckResult() == MesPcnExtConstWords.NG){
equipmentCheckMeta.setCheckResult(MesPcnExtConstWords.OK); // equipmentCheckMeta.setCheckResult(MesPcnExtConstWords.OK);
} else { // } else {
equipmentCheckMeta.setCheckResult(equipmentCheck.getCheckResult()); // equipmentCheckMeta.setCheckResult(equipmentCheck.getCheckResult());
} // }
//
}else{ // }else{
//实际值不在范围之内 // //实际值不在范围之内
//如果点检结果是空的 // //如果点检结果是空的
if(StringUtils.isEmpty(equipmentCheck.getCheckResult())){ // if(StringUtils.isEmpty(equipmentCheck.getCheckResult())){
equipmentCheckMeta.setRemark(equipmentCheck.getRemark()); // equipmentCheckMeta.setRemark(equipmentCheck.getRemark());
equipmentCheckMeta.setResultValue(equipmentCheck.getResultValue()); // equipmentCheckMeta.setResultValue(equipmentCheck.getResultValue());
equipmentCheckMeta.setCheckResult(MesPcnExtConstWords.NG); // equipmentCheckMeta.setCheckResult(MesPcnExtConstWords.NG);
}else{ // }else{
//如果点检结果是10 // //如果点检结果是10
if(equipmentCheck.getCheckResult() == MesPcnExtConstWords.OK && !MesPcnExtConstWords.INCONFORMITY.equals(equipmentCheck.getRemark())){ // if(equipmentCheck.getCheckResult() == MesPcnExtConstWords.OK && !MesPcnExtConstWords.INCONFORMITY.equals(equipmentCheck.getRemark())){
equipmentCheckMeta.setCheckResult(MesPcnExtConstWords.NG); // equipmentCheckMeta.setCheckResult(MesPcnExtConstWords.NG);
equipmentCheckMeta.setRemark(equipmentCheck.getRemark()); // equipmentCheckMeta.setRemark(equipmentCheck.getRemark());
equipmentCheckMeta.setResultValue(equipmentCheck.getResultValue()); // equipmentCheckMeta.setResultValue(equipmentCheck.getResultValue());
}else{ // }else{
//20 40 原值保存 // //20 40 原值保存
equipmentCheckMeta.setRemark(equipmentCheck.getRemark()); // equipmentCheckMeta.setRemark(equipmentCheck.getRemark());
equipmentCheckMeta.setResultValue(equipmentCheck.getResultValue()); // equipmentCheckMeta.setResultValue(equipmentCheck.getResultValue());
equipmentCheckMeta.setCheckResult(equipmentCheck.getCheckResult()); // equipmentCheckMeta.setCheckResult(equipmentCheck.getCheckResult());
} // }
} // }
} // }
} else if(!StringUtils.isEmpty(equipmentCheckMeta.getDownLimit())){ // } else if(!StringUtils.isEmpty(equipmentCheckMeta.getDownLimit())){
equipmentCheckMeta.setRemark(equipmentCheck.getRemark()); // equipmentCheckMeta.setRemark(equipmentCheck.getRemark());
equipmentCheckMeta.setResultValue(equipmentCheck.getResultValue()); // equipmentCheckMeta.setResultValue(equipmentCheck.getResultValue());
if(Double.valueOf(equipmentCheck.getResultValue()) < Double.valueOf(equipmentCheckMeta.getDownLimit())){ // if(Double.valueOf(equipmentCheck.getResultValue()) < Double.valueOf(equipmentCheckMeta.getDownLimit())){
if(equipmentCheck.getCheckResult() == MesPcnExtConstWords.OK && !MesPcnExtConstWords.INCONFORMITY.equals(equipmentCheck.getRemark())){ // if(equipmentCheck.getCheckResult() == MesPcnExtConstWords.OK && !MesPcnExtConstWords.INCONFORMITY.equals(equipmentCheck.getRemark())){
equipmentCheckMeta.setCheckResult(MesPcnExtConstWords.NG); // equipmentCheckMeta.setCheckResult(MesPcnExtConstWords.NG);
}else{ // }else{
equipmentCheckMeta.setCheckResult(equipmentCheck.getCheckResult()); // equipmentCheckMeta.setCheckResult(equipmentCheck.getCheckResult());
} // }
}else{ // }else{
if(equipmentCheck.getCheckResult() == MesPcnExtConstWords.NG){ // if(equipmentCheck.getCheckResult() == MesPcnExtConstWords.NG){
equipmentCheckMeta.setCheckResult(MesPcnExtConstWords.OK); // equipmentCheckMeta.setCheckResult(MesPcnExtConstWords.OK);
}else{ // }else{
equipmentCheckMeta.setCheckResult(equipmentCheck.getCheckResult()); // equipmentCheckMeta.setCheckResult(equipmentCheck.getCheckResult());
} // }
} // }
}else if(!StringUtils.isEmpty(equipmentCheckMeta.getUpLimit())){ // }else if(!StringUtils.isEmpty(equipmentCheckMeta.getUpLimit())){
equipmentCheckMeta.setRemark(equipmentCheck.getRemark()); // equipmentCheckMeta.setRemark(equipmentCheck.getRemark());
equipmentCheckMeta.setResultValue(equipmentCheck.getResultValue()); // equipmentCheckMeta.setResultValue(equipmentCheck.getResultValue());
if(Double.valueOf(equipmentCheck.getResultValue()) > Double.valueOf(equipmentCheckMeta.getUpLimit())){ // if(Double.valueOf(equipmentCheck.getResultValue()) > Double.valueOf(equipmentCheckMeta.getUpLimit())){
if(equipmentCheck.getCheckResult() == MesPcnExtConstWords.OK && !MesPcnExtConstWords.INCONFORMITY.equals(equipmentCheck.getRemark())){ // if(equipmentCheck.getCheckResult() == MesPcnExtConstWords.OK && !MesPcnExtConstWords.INCONFORMITY.equals(equipmentCheck.getRemark())){
equipmentCheckMeta.setCheckResult(MesPcnExtConstWords.NG); // equipmentCheckMeta.setCheckResult(MesPcnExtConstWords.NG);
}else{ // }else{
equipmentCheckMeta.setCheckResult(equipmentCheck.getCheckResult()); // equipmentCheckMeta.setCheckResult(equipmentCheck.getCheckResult());
} // }
}else{ // }else{
if(equipmentCheck.getCheckResult() == MesPcnExtConstWords.NG){ // if(equipmentCheck.getCheckResult() == MesPcnExtConstWords.NG){
equipmentCheckMeta.setCheckResult(MesPcnExtConstWords.OK); // equipmentCheckMeta.setCheckResult(MesPcnExtConstWords.OK);
}else{ // }else{
equipmentCheckMeta.setCheckResult(equipmentCheck.getCheckResult()); // equipmentCheckMeta.setCheckResult(equipmentCheck.getCheckResult());
} // }
} // }
} // }
} // }
break; // break;
case MesPcnExtConstWords.RESULT_TYPE: // case MesPcnExtConstWords.RESULT_TYPE:
equipmentCheckMeta.setRemark(equipmentCheck.getRemark()); // equipmentCheckMeta.setRemark(equipmentCheck.getRemark());
equipmentCheckMeta.setResultValue(equipmentCheck.getResultValue()); // equipmentCheckMeta.setResultValue(equipmentCheck.getResultValue());
equipmentCheckMeta.setCheckResult(equipmentCheck.getCheckResult()); // equipmentCheckMeta.setCheckResult(equipmentCheck.getCheckResult());
break; // break;
case MesPcnExtConstWords.EQUAL_TYPE: // case MesPcnExtConstWords.EQUAL_TYPE:
//点检结果为空的时候 // //点检结果为空的时候
if(StringUtils.isEmpty(equipmentCheckMeta.getStandardValue()) && StringUtils.isEmpty(equipmentCheck.getCheckResult())){ // if(StringUtils.isEmpty(equipmentCheckMeta.getStandardValue()) && StringUtils.isEmpty(equipmentCheck.getCheckResult())){
equipmentCheckMeta.setRemark(equipmentCheck.getRemark()); // equipmentCheckMeta.setRemark(equipmentCheck.getRemark());
equipmentCheckMeta.setResultValue(equipmentCheck.getResultValue()); // equipmentCheckMeta.setResultValue(equipmentCheck.getResultValue());
}else{ // }else{
//结果不为空 // //结果不为空
equipmentCheckMeta.setRemark(equipmentCheck.getRemark()); // equipmentCheckMeta.setRemark(equipmentCheck.getRemark());
equipmentCheckMeta.setResultValue(equipmentCheck.getResultValue()); // equipmentCheckMeta.setResultValue(equipmentCheck.getResultValue());
//标准值不为空 // //标准值不为空
if(!StringUtils.isEmpty(equipmentCheckMeta.getStandardValue())){ // if(!StringUtils.isEmpty(equipmentCheckMeta.getStandardValue())){
//用户输入的标准值和之前设定的标准值都不为空 // //用户输入的标准值和之前设定的标准值都不为空
if(equipmentCheckMeta.getStandardValue().equals(equipmentCheck.getResultValue())){ // if(equipmentCheckMeta.getStandardValue().equals(equipmentCheck.getResultValue())){
if(!StringUtils.isEmpty(equipmentCheck.getCheckResult())){ // if(!StringUtils.isEmpty(equipmentCheck.getCheckResult())){
//当标准值一致但点检结果为30时 // //当标准值一致但点检结果为30时
if(equipmentCheck.getCheckResult() == MesPcnExtConstWords.NG){ // if(equipmentCheck.getCheckResult() == MesPcnExtConstWords.NG){
equipmentCheckMeta.setCheckResult(MesPcnExtConstWords.OK); // equipmentCheckMeta.setCheckResult(MesPcnExtConstWords.OK);
}else{ // }else{
// 20 & 40 原值保存 // // 20 & 40 原值保存
equipmentCheckMeta.setCheckResult(equipmentCheck.getCheckResult()); // equipmentCheckMeta.setCheckResult(equipmentCheck.getCheckResult());
} // }
}else{ // }else{
// 标准值一致,点检结果为空 // // 标准值一致,点检结果为空
equipmentCheckMeta.setCheckResult(MesPcnExtConstWords.OK); // equipmentCheckMeta.setCheckResult(MesPcnExtConstWords.OK);
} // }
}else{ // }else{
//如果点检结果为空 // //如果点检结果为空
if(equipmentCheck.getCheckResult()==MesPcnExtConstWords.OK && !MesPcnExtConstWords.INCONFORMITY.equals(equipmentCheck.getRemark())){ // if(equipmentCheck.getCheckResult()==MesPcnExtConstWords.OK && !MesPcnExtConstWords.INCONFORMITY.equals(equipmentCheck.getRemark())){
equipmentCheckMeta.setCheckResult(MesPcnExtConstWords.NG); // equipmentCheckMeta.setCheckResult(MesPcnExtConstWords.NG);
}else{ // }else{
equipmentCheckMeta.setCheckResult(equipmentCheck.getCheckResult()); // equipmentCheckMeta.setCheckResult(equipmentCheck.getCheckResult());
} // }
} // }
}else{ // }else{
// 标准值为空 保存备注和结果 // // 标准值为空 保存备注和结果
equipmentCheckMeta.setCheckResult(equipmentCheck.getCheckResult()); // equipmentCheckMeta.setCheckResult(equipmentCheck.getCheckResult());
} // }
} // }
break; // break;
} // }
//
mesOrderJob.setOrderStatus(MesPcnExtEnumUtil.MES_ORJ_ORDER_STATUS.CHECKING.getValue()); // mesOrderJob.setOrderStatus(MesPcnExtEnumUtil.MES_ORJ_ORDER_STATUS.CHECKING.getValue());
ConvertBean.serviceModelUpdate(mesOrderJob,equipmentCheck.getCreateUser()); // ConvertBean.serviceModelUpdate(mesOrderJob,equipmentCheck.getCreateUser());
mesOrderJobRepository.save(mesOrderJob); // mesOrderJobRepository.save(mesOrderJob);
ConvertBean.serviceModelUpdate(equipmentCheckMeta,equipmentCheck.getCreateUser()); // ConvertBean.serviceModelUpdate(equipmentCheckMeta,equipmentCheck.getCreateUser());
equipmentCheckMeta.setSystemSyncStatus(MesPcnExtEnumUtil.IF_SYNC_STATUS.NO_SYNC.getValue()); // equipmentCheckMeta.setSystemSyncStatus(MesPcnExtEnumUtil.IF_SYNC_STATUS.NO_SYNC.getValue());
equDetailRepository.save(equipmentCheckMeta); // equDetailRepository.save(equipmentCheckMeta);
//
} // }
//
private MesWorkCenterExt getWorkCenter(String workCenterCode, String organizeCode) { // private MesWorkCenterExt getWorkCenter(String workCenterCode, String organizeCode) {
return workCenterRepository.getByProperty( // return workCenterRepository.getByProperty(
new String[]{MesPcnExtConstWords.WORK_CENTER_CODE, MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.IS_DELETED}, // new String[]{MesPcnExtConstWords.WORK_CENTER_CODE, MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.IS_DELETED},
new Object[]{workCenterCode, organizeCode, // new Object[]{workCenterCode, organizeCode,
CommonEnumUtil.IS_VAILD.VAILD.getValue(), // CommonEnumUtil.IS_VAILD.VAILD.getValue(),
CommonEnumUtil.IS_DEAL.NO.getValue()}); // CommonEnumUtil.IS_DEAL.NO.getValue()});
} // }
//
/** // /**
* // * 根据
* // *
* @param id // * @param id
* @param status // * @param status
* @return // * @return
*/ // */
@Override // @Override
public int updateIsValidById(long id, Integer status) { // public int updateIsValidById(long id, Integer status) {
//1、判断单据是否存在 // //1、判断单据是否存在
MesEpEquipmentCheckDetail equipmentCheck = equDetailRepository.getById(id); // MesEpEquipmentCheckDetail equipmentCheck = equDetailRepository.getById(id);
if (ObjectUtils.isEmpty(equipmentCheck)) { // if (ObjectUtils.isEmpty(equipmentCheck)) {
throwImppException(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode(), ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode(), "自动配置不存在"); // throwImppException(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode(), ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode(), "自动配置不存在");
} // }
//
return equDetailRepository.updateByProperties(new String[]{ MesPcnExtConstWords.ID}, new Object[]{id}, // return equDetailRepository.updateByProperties(new String[]{ MesPcnExtConstWords.ID}, new Object[]{id},
new String[]{MesConstWords.IS_VALID, MesPcnExtConstWords.MODIFY_USER, MesPcnExtConstWords.MODIFY_DATE_TIME}, // new String[]{MesConstWords.IS_VALID, MesPcnExtConstWords.MODIFY_USER, MesPcnExtConstWords.MODIFY_DATE_TIME},
new Object[]{status, AuthUtil.getSessionUser().getUserName(), TimeTool.getNowTime(true)}); // new Object[]{status, AuthUtil.getSessionUser().getUserName(), TimeTool.getNowTime(true)});
} // }
//
@Override // @Override
public List<String> queryCell(MesEpEquipmentCheckDetail detail) { // public List<String> queryCell(MesEpEquipmentCheckDetail detail) {
DdlPackBean packBean = MesHqlPack.getMesAllData(detail.getOrganizeCode()); // DdlPackBean packBean = MesHqlPack.getMesAllData(detail.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(detail.getWorkCellCode(), "workCellCode", packBean); // DdlPreparedPack.getStringEqualPack(detail.getWorkCellCode(), "workCellCode", packBean);
DdlPreparedPack.getStringEqualPack(detail.getWorkCenterCode(), "workCenterCode", packBean); // DdlPreparedPack.getStringEqualPack(detail.getWorkCenterCode(), "workCenterCode", packBean);
DdlPreparedPack.getStringEqualPack(detail.getOrderJobNo(), "orderJobNo", packBean); // DdlPreparedPack.getStringEqualPack(detail.getOrderJobNo(), "orderJobNo", packBean);
List<MesEpEquipmentCheckDetail> details = equDetailRepository.findByHqlWhere(packBean); // List<MesEpEquipmentCheckDetail> details = equDetailRepository.findByHqlWhere(packBean);
return details.stream().map(MesEpEquipmentCheckDetail::getWorkCellCode).distinct().collect(Collectors.toList()); // return details.stream().map(MesEpEquipmentCheckDetail::getWorkCellCode).distinct().collect(Collectors.toList());
} // }
//
@Override // @Override
public void generateWeekCheck(String organizeCode,String workCenterCode) { // public void generateWeekCheck(String organizeCode,String workCenterCode) {
generateOrderJob(organizeCode,workCenterCode,MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.WEEK_CHECK.getValue()); // generateOrderJob(organizeCode,workCenterCode,MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.WEEK_CHECK.getValue());
} // }
//
@Override // @Override
public void generateMonthCheck(String organizeCode,String workCenterCode) { // public void generateMonthCheck(String organizeCode,String workCenterCode) {
generateOrderJob(organizeCode,workCenterCode,MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.MONTH_CHECK.getValue()); // generateOrderJob(organizeCode,workCenterCode,MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.MONTH_CHECK.getValue());
} // }
//
//生产单据作业 // //生产单据作业
private void generateOrderJob(String organizeCode, String workCenterCode, String checkType) { // private void generateOrderJob(String organizeCode, String workCenterCode, String checkType) {
List<MesEpEquipmentCheck> mesEquipmentChecks = findEquByCenterCode(organizeCode, workCenterCode, checkType); // List<MesEpEquipmentCheck> mesEquipmentChecks = findEquByCenterCode(organizeCode, workCenterCode, checkType);
if (!CollectionUtils.isEmpty(mesEquipmentChecks)) { // if (!CollectionUtils.isEmpty(mesEquipmentChecks)) {
MesWorkCenterExt workCenter = getWorkCenter(workCenterCode, organizeCode); // MesWorkCenterExt workCenter = getWorkCenter(workCenterCode, organizeCode);
//根据设备编号来进行分组 // //根据设备编号来进行分组
Map<String, List<MesEpEquipmentCheck>> resultMap = mesEquipmentChecks.stream().filter(mesEquipmentCheck -> mesEquipmentCheck.getEquNo() != null && !StringUtils.isEmpty(mesEquipmentCheck.getEquNo())).collect(Collectors.groupingBy(MesEpEquipmentCheck::getEquNo)); // Map<String, List<MesEpEquipmentCheck>> resultMap = mesEquipmentChecks.stream().filter(mesEquipmentCheck -> mesEquipmentCheck.getEquNo() != null && !StringUtils.isEmpty(mesEquipmentCheck.getEquNo())).collect(Collectors.groupingBy(MesEpEquipmentCheck::getEquNo));
for (String key: resultMap.keySet()){ // for (String key: resultMap.keySet()){
MesOrderJob newOrderJob = new MesOrderJob(); // MesOrderJob newOrderJob = new MesOrderJob();
newOrderJob.setTaskType(MesPcnExtEnumUtil.MES_OR_TASK_TYPE.PREPARE_TASK.getValue()); // newOrderJob.setTaskType(MesPcnExtEnumUtil.MES_OR_TASK_TYPE.PREPARE_TASK.getValue());
newOrderJob.setOrderType(MesPcnExtEnumUtil.MES_OR_ORDER_TYPE.EP_EQU_CHECK.getValue()); // newOrderJob.setOrderType(MesPcnExtEnumUtil.MES_OR_ORDER_TYPE.EP_EQU_CHECK.getValue());
newOrderJob.setOrderNo(getOrderNo(organizeCode)); // newOrderJob.setOrderNo(getOrderNo(organizeCode));
newOrderJob.setWorkCenterCode(workCenterCode); // newOrderJob.setWorkCenterCode(workCenterCode);
newOrderJob.setOrderStatus(MesPcnExtEnumUtil.MES_ORJ_ORDER_STATUS.CREATE.getValue()); // newOrderJob.setOrderStatus(MesPcnExtEnumUtil.MES_ORJ_ORDER_STATUS.CREATE.getValue());
newOrderJob.setOrderDate(DateUtil.formatDate("yyyy-MM-dd", new Date())); // newOrderJob.setOrderDate(DateUtil.formatDate("yyyy-MM-dd", new Date()));
newOrderJob.setWorkTime(DateUtil.formatDate("yyyy-MM-dd", new Date())); // newOrderJob.setWorkTime(DateUtil.formatDate("yyyy-MM-dd", new Date()));
newOrderJob.setGenerateTime(DateUtil.formatDate("yyyy-MM-dd", new Date())); // newOrderJob.setGenerateTime(DateUtil.formatDate("yyyy-MM-dd", new Date()));
newOrderJob.setOrganizeCode(organizeCode); // newOrderJob.setOrganizeCode(organizeCode);
newOrderJob.setIsValid(MesPcnExtEnumUtil.IS_VAILD.VAILD.getValue()); // newOrderJob.setIsValid(MesPcnExtEnumUtil.IS_VAILD.VAILD.getValue());
newOrderJob.setIsDeleted(MesEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); // newOrderJob.setIsDeleted(MesEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
newOrderJob.setCreateDatetime(DateUtil.formatDate()); // newOrderJob.setCreateDatetime(DateUtil.formatDate());
newOrderJob.setModifyDatetime(DateUtil.formatDate()); // newOrderJob.setModifyDatetime(DateUtil.formatDate());
newOrderJob.setCheckType(checkType); // newOrderJob.setCheckType(checkType);
newOrderJob.setHandlerMethod(MesPcnExtEnumUtil.HANDLER_METHOD.MANUALLY_CREATE.getValue()); // newOrderJob.setHandlerMethod(MesPcnExtEnumUtil.HANDLER_METHOD.MANUALLY_CREATE.getValue());
newOrderJob.setShiftCode(workCenter.getShiftCode()); // newOrderJob.setShiftCode(workCenter.getShiftCode());
//
MesOrderJob job = mesOrderJobRepository.save(newOrderJob); // MesOrderJob job = mesOrderJobRepository.save(newOrderJob);
//
List<MesEpEquipmentCheck> epEquipmentChecks = resultMap.get(key); // List<MesEpEquipmentCheck> epEquipmentChecks = resultMap.get(key);
//
for (MesEpEquipmentCheck mesEquipmentCheck : epEquipmentChecks) { // for (MesEpEquipmentCheck mesEquipmentCheck : epEquipmentChecks) {
MesEpEquipmentCheckDetail mesEquipmentCheckDetail = new MesEpEquipmentCheckDetail(); // MesEpEquipmentCheckDetail mesEquipmentCheckDetail = new MesEpEquipmentCheckDetail();
mesEquipmentCheckDetail.setOrderJobNo(job.getOrderNo()); // mesEquipmentCheckDetail.setOrderJobNo(job.getOrderNo());
BeanUtils.copyProperties(mesEquipmentCheck, mesEquipmentCheckDetail, MesPcnExtConstWords.ID); // BeanUtils.copyProperties(mesEquipmentCheck, mesEquipmentCheckDetail, MesPcnExtConstWords.ID);
mesEquipmentCheckDetail.setCheckType(checkType); // mesEquipmentCheckDetail.setCheckType(checkType);
mesEquipmentCheckDetail.setEquNo(mesEquipmentCheck.getEquNo()); // mesEquipmentCheckDetail.setEquNo(mesEquipmentCheck.getEquNo());
mesEquipmentCheckDetail.setResultType(mesEquipmentCheck.getResultType()); // mesEquipmentCheckDetail.setResultType(mesEquipmentCheck.getResultType());
mesEquipmentCheckDetail.setEquName(mesEquipmentCheck.getEquName()); // mesEquipmentCheckDetail.setEquName(mesEquipmentCheck.getEquName());
mesEquipmentCheckDetail.setShiftCode(workCenter.getShiftCode()); // mesEquipmentCheckDetail.setShiftCode(workCenter.getShiftCode());
mesEquipmentCheckDetail.setStandardValue(mesEquipmentCheck.getStandardValue()); // mesEquipmentCheckDetail.setStandardValue(mesEquipmentCheck.getStandardValue());
mesEquipmentCheckDetail.setDownLimit(mesEquipmentCheck.getDownLimit()); // mesEquipmentCheckDetail.setDownLimit(mesEquipmentCheck.getDownLimit());
mesEquipmentCheckDetail.setUpLimit(mesEquipmentCheck.getUpLimit()); // mesEquipmentCheckDetail.setUpLimit(mesEquipmentCheck.getUpLimit());
mesEquipmentCheckDetail.setSystemSyncStatus(MesPcnExtEnumUtil.IF_SYNC_STATUS.NO_SYNC.getValue()); // mesEquipmentCheckDetail.setSystemSyncStatus(MesPcnExtEnumUtil.IF_SYNC_STATUS.NO_SYNC.getValue());
equDetailRepository.save(mesEquipmentCheckDetail); // equDetailRepository.save(mesEquipmentCheckDetail);
} // }
} // }
} // }
//
//
} // }
//
public List<MesEpEquipmentCheck> findEquByCenterCode(String organizeCode, String workCenterCode, String checkType) { // public List<MesEpEquipmentCheck> findEquByCenterCode(String organizeCode, String workCenterCode, String checkType) {
DdlPackBean ddlPackBean2 = DdlPackBean.getDdlPackBean(organizeCode); // DdlPackBean ddlPackBean2 = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(checkType, "checkType", ddlPackBean2); // DdlPreparedPack.getStringEqualPack(checkType, "checkType", ddlPackBean2);
DdlPreparedPack.getStringEqualPack(workCenterCode, "workCenterCode", ddlPackBean2); // DdlPreparedPack.getStringEqualPack(workCenterCode, "workCenterCode", ddlPackBean2);
return epEquipmentCheckRepository.findByHqlWhere(ddlPackBean2); // return epEquipmentCheckRepository.findByHqlWhere(ddlPackBean2);
//
} // }
//
private String getOrderNo(String organizeCode) { // private String getOrderNo(String organizeCode) {
String orderNo = ""; // String orderNo = "";
BaseResultBean oneCodeResult = syncFuncService.syncSerialNo(new GenSerialNoModel(MesPcnExtConstWords.ORDER_NO_RULE), null, organizeCode, 1); // BaseResultBean oneCodeResult = syncFuncService.syncSerialNo(new GenSerialNoModel(MesPcnExtConstWords.ORDER_NO_RULE), null, organizeCode, 1);
if (oneCodeResult != null && oneCodeResult.isSuccess()) { // if (oneCodeResult != null && oneCodeResult.isSuccess()) {
orderNo = oneCodeResult.getResultList().get(0).toString(); // orderNo = oneCodeResult.getResultList().get(0).toString();
} else { // } else {
throwImppException(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode(),ImppExceptionEnum.SYSTEM_EXCEPTION.getCode(),"生成唯一工单号失败"); // throwImppException(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode(),ImppExceptionEnum.SYSTEM_EXCEPTION.getCode(),"生成唯一工单号失败");
} // }
return orderNo; // return orderNo;
} // }
//
//
/** // /**
* // * 异常
* // *
* @param softTypeCode softTypeCode // * @param softTypeCode softTypeCode
* @param errorDetailString // * @param errorDetailString 错误消息字符串
* @param imppExceptionEnumCode // * @param imppExceptionEnumCode 异常代码
* @param args // * @param args 参数
*/ // */
private void throwImppException(String softTypeCode, String errorDetailString, String imppExceptionEnumCode, Object... args) { // private void throwImppException(String softTypeCode, String errorDetailString, String imppExceptionEnumCode, Object... args) {
throw ImppExceptionBuilder.newInstance() // throw ImppExceptionBuilder.newInstance()
.setSystemID(softTypeCode) // .setSystemID(softTypeCode)
.setErrorCode(imppExceptionEnumCode) // .setErrorCode(imppExceptionEnumCode)
.setErrorDetail(errorDetailString, args) // .setErrorDetail(errorDetailString, args)
.build(); // .build();
} // }
} //}

@ -1,257 +1,257 @@
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi; //package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi;
//
import cn.estsh.i3plus.ext.mes.pcn.api.base.ICheckErrorLogService; //import cn.estsh.i3plus.ext.mes.pcn.api.base.ICheckErrorLogService;
import cn.estsh.i3plus.ext.mes.pcn.api.base.IWorkOrderStartService; //import cn.estsh.i3plus.ext.mes.pcn.api.base.IWorkOrderStartService;
import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.*; //import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.*;
import cn.estsh.i3plus.ext.mes.pcn.pojo.repository.*; //import cn.estsh.i3plus.ext.mes.pcn.pojo.repository.*;
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords; //import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtEnumUtil; //import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtEnumUtil;
import cn.estsh.i3plus.mes.pcn.api.iservice.busi.ISyncFuncService; //import cn.estsh.i3plus.mes.pcn.api.iservice.busi.ISyncFuncService;
import cn.estsh.i3plus.platform.common.convert.ConvertBean; //import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.tool.TimeTool; //import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.pojo.base.bean.BaseResultBean; //import cn.estsh.i3plus.pojo.base.bean.BaseResultBean;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; //import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; //import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; //import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.model.GenSerialNoModel; //import cn.estsh.i3plus.pojo.mes.model.GenSerialNoModel;
import lombok.extern.slf4j.Slf4j; //import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils; //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.util.CollectionUtils; //import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils; //import org.springframework.util.StringUtils;
//
import java.util.*; //import java.util.*;
import java.util.stream.Collectors; //import java.util.stream.Collectors;
//
/** ///**
* @author wangjie // * @author wangjie
* @version 1.0 // * @version 1.0
* @date 2021/1/13 9:28 // * @date 2021/1/13 9:28
**/ // **/
@Slf4j //@Slf4j
@Service("qManageOrderService") //@Service("qManageOrderService")
public class QManageOrderService implements IWorkOrderStartService { //public class QManageOrderService implements IWorkOrderStartService {
//
@Autowired // @Autowired
private MesWorkCenterExtRepository workCenterExtRepository; // private MesWorkCenterExtRepository workCenterExtRepository;
//
@Autowired // @Autowired
private MesOrderRuleRepository orderRuleRepository; // private MesOrderRuleRepository orderRuleRepository;
//
@Autowired // @Autowired
private MesProcessCellRepository processCellRepository; // private MesProcessCellRepository processCellRepository;
//
@Autowired // @Autowired
private MesProcessQManageRepository processQManageRepository; // private MesProcessQManageRepository processQManageRepository;
//
@Autowired // @Autowired
private MesOrderJobRepository orderJobRepository; // private MesOrderJobRepository orderJobRepository;
//
@Autowired // @Autowired
private MesQManageTaskDetailRepository qManageTaskDetailRepository; // private MesQManageTaskDetailRepository qManageTaskDetailRepository;
//
@Autowired // @Autowired
private ISyncFuncService syncFuncService; // private ISyncFuncService syncFuncService;
//
@Autowired // @Autowired
private ICheckErrorLogService checkErrorLogService; // private ICheckErrorLogService checkErrorLogService;
//
@Override // @Override
public void doGenCheckOrder(MesWorkOrderExt workOrderExt, String userInfo) { // public void doGenCheckOrder(MesWorkOrderExt workOrderExt, String userInfo) {
MesCheckErrorLog checkErrorLog = new MesCheckErrorLog(); // MesCheckErrorLog checkErrorLog = new MesCheckErrorLog();
checkErrorLog.setGenerationMethod(MesPcnExtEnumUtil.GENERATION_METHOD.FROM_WORK_ORDER_START.getValue()); // checkErrorLog.setGenerationMethod(MesPcnExtEnumUtil.GENERATION_METHOD.FROM_WORK_ORDER_START.getValue());
checkErrorLog.setGeneratingModule(MesPcnExtEnumUtil.MES_OR_ORDER_TYPE.Q_MANAGE.getDescription()); // checkErrorLog.setGeneratingModule(MesPcnExtEnumUtil.MES_OR_ORDER_TYPE.Q_MANAGE.getDescription());
//
String msg; // String msg;
try { // try {
MesWorkCenterExt workCenterExt = workCenterExtRepository.getByProperty( // MesWorkCenterExt workCenterExt = workCenterExtRepository.getByProperty(
new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.WORK_CENTER_CODE}, // new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.WORK_CENTER_CODE},
new Object[]{workOrderExt.getOrganizeCode(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), workOrderExt.getWorkCenterCode()}); // new Object[]{workOrderExt.getOrganizeCode(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), workOrderExt.getWorkCenterCode()});
if (null == workCenterExt) { // if (null == workCenterExt) {
msg = String.format("Q管理生成单据:工单[%s]生产线[%s]无效", workOrderExt.getOrderNo(), workOrderExt.getWorkCenterCode()); // msg = String.format("Q管理生成单据:工单[%s]生产线[%s]无效", workOrderExt.getOrderNo(), workOrderExt.getWorkCenterCode());
log.info(msg); // log.info(msg);
checkErrorLogService.insertCheckErrorLog(checkErrorLog, msg, userInfo); // checkErrorLogService.insertCheckErrorLog(checkErrorLog, msg, userInfo);
return; // return;
} // }
if (StringUtils.isEmpty(workCenterExt.getShiftCode()) || StringUtils.isEmpty(workCenterExt.getWorkTime())) { // if (StringUtils.isEmpty(workCenterExt.getShiftCode()) || StringUtils.isEmpty(workCenterExt.getWorkTime())) {
msg = String.format("Q管理生成单据:工单[%s]生产线[%s]未启动班次", workOrderExt.getOrderNo(), workOrderExt.getWorkCenterCode()); // msg = String.format("Q管理生成单据:工单[%s]生产线[%s]未启动班次", workOrderExt.getOrderNo(), workOrderExt.getWorkCenterCode());
log.info(msg); // log.info(msg);
checkErrorLogService.insertCheckErrorLog(checkErrorLog, msg, userInfo); // checkErrorLogService.insertCheckErrorLog(checkErrorLog, msg, userInfo);
return; // return;
} // }
List<MesOrderRule> orderRuleList = orderRuleRepository.findByProperty( // List<MesOrderRule> orderRuleList = orderRuleRepository.findByProperty(
new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.IS_DELETED, // new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.IS_DELETED,
MesPcnExtConstWords.ORDER_TYPE, MesPcnExtConstWords.CREATE_RULE, MesPcnExtConstWords.WORK_CENTER_CODE}, // MesPcnExtConstWords.ORDER_TYPE, MesPcnExtConstWords.CREATE_RULE, MesPcnExtConstWords.WORK_CENTER_CODE},
new Object[]{workOrderExt.getOrganizeCode(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), // new Object[]{workOrderExt.getOrganizeCode(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(),
MesPcnExtEnumUtil.MES_OR_ORDER_TYPE.Q_MANAGE.getValue(), MesPcnExtEnumUtil.MES_OR_CREATE_RULE.WORK_ORDER_CREATE.getValue(), workOrderExt.getWorkCenterCode()}); // MesPcnExtEnumUtil.MES_OR_ORDER_TYPE.Q_MANAGE.getValue(), MesPcnExtEnumUtil.MES_OR_CREATE_RULE.WORK_ORDER_CREATE.getValue(), workOrderExt.getWorkCenterCode()});
Optional<MesOrderRule> orderRuleOp = CollectionUtils.isEmpty(orderRuleList) ? null : // Optional<MesOrderRule> orderRuleOp = CollectionUtils.isEmpty(orderRuleList) ? null :
orderRuleList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getShiftCode()) && o.getShiftCode().equals(workCenterExt.getShiftCode()))).findFirst(); // orderRuleList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getShiftCode()) && o.getShiftCode().equals(workCenterExt.getShiftCode()))).findFirst();
if (null == orderRuleOp || !orderRuleOp.isPresent()) { // if (null == orderRuleOp || !orderRuleOp.isPresent()) {
orderRuleOp = CollectionUtils.isEmpty(orderRuleList) ? null : orderRuleList.stream().filter(o -> (null != o && StringUtils.isEmpty(o.getShiftCode()))).findFirst(); // orderRuleOp = CollectionUtils.isEmpty(orderRuleList) ? null : orderRuleList.stream().filter(o -> (null != o && StringUtils.isEmpty(o.getShiftCode()))).findFirst();
} // }
if (null == orderRuleOp || !orderRuleOp.isPresent()) { // if (null == orderRuleOp || !orderRuleOp.isPresent()) {
msg = String.format("Q管理生成单据:工单[%s]未配置生产线代码[%s][工单创建][Q管理]班次为[%s]或班次为空的单据规则信息,请检查", workOrderExt.getOrderNo(), workOrderExt.getWorkCenterCode(), workCenterExt.getShiftCode()); // msg = String.format("Q管理生成单据:工单[%s]未配置生产线代码[%s][工单创建][Q管理]班次为[%s]或班次为空的单据规则信息,请检查", workOrderExt.getOrderNo(), workOrderExt.getWorkCenterCode(), workCenterExt.getShiftCode());
log.info(msg); // log.info(msg);
checkErrorLogService.insertCheckErrorLog(checkErrorLog, msg, userInfo); // checkErrorLogService.insertCheckErrorLog(checkErrorLog, msg, userInfo);
return; // return;
} // }
//
List<MesProcessCell> processCellList = processCellRepository.findByProperty( // List<MesProcessCell> processCellList = processCellRepository.findByProperty(
new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.WORK_CENTER_CODE}, // new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.WORK_CENTER_CODE},
new Object[]{workOrderExt.getOrganizeCode(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), workOrderExt.getWorkCenterCode()}); // new Object[]{workOrderExt.getOrganizeCode(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), workOrderExt.getWorkCenterCode()});
Map<String, List<MesProcessCell>> processCodeMap = CollectionUtils.isEmpty(processCellList) ? null : // Map<String, List<MesProcessCell>> processCodeMap = CollectionUtils.isEmpty(processCellList) ? null :
processCellList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getProcessCode()))).collect(Collectors.groupingBy(MesProcessCell::getProcessCode)); // processCellList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getProcessCode()))).collect(Collectors.groupingBy(MesProcessCell::getProcessCode));
if (CollectionUtils.isEmpty(processCodeMap)) { // if (CollectionUtils.isEmpty(processCodeMap)) {
msg = String.format("Q管理生成单据:工单[%s]生产线代码[%s]未维护工序工位信息", workOrderExt.getOrderNo(), workOrderExt.getWorkCenterCode()); // msg = String.format("Q管理生成单据:工单[%s]生产线代码[%s]未维护工序工位信息", workOrderExt.getOrderNo(), workOrderExt.getWorkCenterCode());
log.info(msg); // log.info(msg);
checkErrorLogService.insertCheckErrorLog(checkErrorLog, msg, userInfo); // checkErrorLogService.insertCheckErrorLog(checkErrorLog, msg, userInfo);
return; // return;
} // }
List<String> processCodeList = new ArrayList<>(processCodeMap.keySet()); // List<String> processCodeList = new ArrayList<>(processCodeMap.keySet());
//
DdlPackBean packBean = DdlPackBean.getDdlPackBean(workOrderExt.getOrganizeCode()); // DdlPackBean packBean = DdlPackBean.getDdlPackBean(workOrderExt.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(workOrderExt.getPartNo(), MesPcnExtConstWords.PART_NO, packBean); // DdlPreparedPack.getStringEqualPack(workOrderExt.getPartNo(), MesPcnExtConstWords.PART_NO, packBean);
DdlPreparedPack.getInPackList(processCodeList, MesPcnExtConstWords.PROCESS_CODE, packBean); // DdlPreparedPack.getInPackList(processCodeList, MesPcnExtConstWords.PROCESS_CODE, packBean);
List<MesProcessQManage> processQManageList = processQManageRepository.findByHqlWhere(packBean); // List<MesProcessQManage> processQManageList = processQManageRepository.findByHqlWhere(packBean);
processQManageList = CollectionUtils.isEmpty(processQManageList) ? null :processQManageList.stream().filter(o-> StringUtils.isEmpty(o.getCheckType()) || o.getCheckType().equals(MesPcnExtEnumUtil.MES_Q_MANAGER_CHECK_TYPE.ORDER_CHECK.getValue())).collect(Collectors.toList()); // processQManageList = CollectionUtils.isEmpty(processQManageList) ? null :processQManageList.stream().filter(o-> StringUtils.isEmpty(o.getCheckType()) || o.getCheckType().equals(MesPcnExtEnumUtil.MES_Q_MANAGER_CHECK_TYPE.ORDER_CHECK.getValue())).collect(Collectors.toList());
if (CollectionUtils.isEmpty(processQManageList)) { // if (CollectionUtils.isEmpty(processQManageList)) {
msg = String.format("Q管理生成单据:工单[%s]物料编码[%s]与工序代码%s未配置Q管理项目信息,请检查", workOrderExt.getOrderNo(), workOrderExt.getPartNo(), processCodeList.toString()); // msg = String.format("Q管理生成单据:工单[%s]物料编码[%s]与工序代码%s未配置Q管理项目信息,请检查", workOrderExt.getOrderNo(), workOrderExt.getPartNo(), processCodeList.toString());
log.info(msg); // log.info(msg);
checkErrorLogService.insertCheckErrorLog(checkErrorLog, msg, userInfo); // checkErrorLogService.insertCheckErrorLog(checkErrorLog, msg, userInfo);
return; // return;
} // }
//
//根据单据类型【Q管理】、产线代码和产线信息中的班次代码、生产日期获取Q管理单信息 // //根据单据类型【Q管理】、产线代码和产线信息中的班次代码、生产日期获取Q管理单信息
packBean = DdlPackBean.getDdlPackBean(workOrderExt.getOrganizeCode()); // packBean = DdlPackBean.getDdlPackBean(workOrderExt.getOrganizeCode());
DdlPreparedPack.getNumEqualPack(MesPcnExtEnumUtil.MES_OR_ORDER_TYPE.Q_MANAGE.getValue(), MesPcnExtConstWords.ORDER_TYPE, packBean); // DdlPreparedPack.getNumEqualPack(MesPcnExtEnumUtil.MES_OR_ORDER_TYPE.Q_MANAGE.getValue(), MesPcnExtConstWords.ORDER_TYPE, packBean);
DdlPreparedPack.getStringEqualPack(workOrderExt.getWorkCenterCode(), MesPcnExtConstWords.WORK_CENTER_CODE, packBean); // DdlPreparedPack.getStringEqualPack(workOrderExt.getWorkCenterCode(), MesPcnExtConstWords.WORK_CENTER_CODE, packBean);
DdlPreparedPack.getStringEqualPack(workCenterExt.getShiftCode(), MesPcnExtConstWords.SHIFT_CODE, packBean); // DdlPreparedPack.getStringEqualPack(workCenterExt.getShiftCode(), MesPcnExtConstWords.SHIFT_CODE, packBean);
DdlPreparedPack.getStringEqualPack(workCenterExt.getWorkTime(), MesPcnExtConstWords.WORK_TIME, packBean); // DdlPreparedPack.getStringEqualPack(workCenterExt.getWorkTime(), MesPcnExtConstWords.WORK_TIME, packBean);
DdlPreparedPack.getStringEqualPack(workOrderExt.getOrderNo(), MesPcnExtConstWords.WORK_ORDER_NO, packBean); // DdlPreparedPack.getStringEqualPack(workOrderExt.getOrderNo(), MesPcnExtConstWords.WORK_ORDER_NO, packBean);
List<MesOrderJob> orderJobList = orderJobRepository.findByHqlWhere(packBean); // List<MesOrderJob> orderJobList = orderJobRepository.findByHqlWhere(packBean);
if (CollectionUtils.isEmpty(orderJobList)) { // if (CollectionUtils.isEmpty(orderJobList)) {
String orderNo = insertMesOrderJob(workOrderExt, workCenterExt, orderRuleOp.get().getTaskType(), userInfo, checkErrorLog); // String orderNo = insertMesOrderJob(workOrderExt, workCenterExt, orderRuleOp.get().getTaskType(), userInfo, checkErrorLog);
if (StringUtils.isEmpty(orderNo)) { // if (StringUtils.isEmpty(orderNo)) {
return; // return;
} // }
insertMesQManageTaskDetail(orderNo, processQManageList, processCodeMap, userInfo); // insertMesQManageTaskDetail(orderNo, processQManageList, processCodeMap, userInfo);
}else { // }else {
msg = String.format("Q管理点检生成单据:工单[%s]已经生成过Q管理作业点检单", workOrderExt.getOrderNo()); // msg = String.format("Q管理点检生成单据:工单[%s]已经生成过Q管理作业点检单", workOrderExt.getOrderNo());
log.info(msg); // log.info(msg);
checkErrorLogService.insertCheckErrorLog(checkErrorLog, msg, userInfo); // checkErrorLogService.insertCheckErrorLog(checkErrorLog, msg, userInfo);
return; // return;
} // }
/*else { // /*else {
//根据作业单号查询明细数据 // //根据作业单号查询明细数据
List<MesQManageTaskDetail> qManageTaskDetailList = new ArrayList<>(); // List<MesQManageTaskDetail> qManageTaskDetailList = new ArrayList<>();
List<String> orderNoList = orderJobList.stream().filter(o -> null != o).map(MesOrderJob::getOrderNo).collect(Collectors.toList()); // List<String> orderNoList = orderJobList.stream().filter(o -> null != o).map(MesOrderJob::getOrderNo).collect(Collectors.toList());
for (String orderNo : orderNoList) { // for (String orderNo : orderNoList) {
if (StringUtils.isEmpty(orderNo)) { // if (StringUtils.isEmpty(orderNo)) {
continue; // continue;
} // }
packBean = DdlPackBean.getDdlPackBean(workOrderExt.getOrganizeCode()); // packBean = DdlPackBean.getDdlPackBean(workOrderExt.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(orderNo, MesPcnExtConstWords.ORDER_NO, packBean); // DdlPreparedPack.getStringEqualPack(orderNo, MesPcnExtConstWords.ORDER_NO, packBean);
qManageTaskDetailList.addAll(qManageTaskDetailRepository.findByHqlWhere(packBean)); // qManageTaskDetailList.addAll(qManageTaskDetailRepository.findByHqlWhere(packBean));
} // }
//
Map<String, List<MesProcessQManage>> processQManageDbMap = CollectionUtils.isEmpty(processQManageList) ? null : // Map<String, List<MesProcessQManage>> processQManageDbMap = CollectionUtils.isEmpty(processQManageList) ? null :
processQManageList.stream().filter(o -> null != o).collect(Collectors.groupingBy(o -> new StringJoiner(MesPcnExtConstWords.AND) // processQManageList.stream().filter(o -> null != o).collect(Collectors.groupingBy(o -> new StringJoiner(MesPcnExtConstWords.AND)
.add(o.getProcessCode()).add(o.getPartNo()).add(o.getManageProjects()).add(o.getScrewType()).add(o.getTighteningTorque()).toString())); // .add(o.getProcessCode()).add(o.getPartNo()).add(o.getManageProjects()).add(o.getScrewType()).add(o.getTighteningTorque()).toString()));
//
Map<String, List<MesQManageTaskDetail>> qManageTaskDetailDbMap = CollectionUtils.isEmpty(qManageTaskDetailList) ? null : // Map<String, List<MesQManageTaskDetail>> qManageTaskDetailDbMap = CollectionUtils.isEmpty(qManageTaskDetailList) ? null :
qManageTaskDetailList.stream().filter(o -> null != o).collect(Collectors.groupingBy(o -> new StringJoiner(MesPcnExtConstWords.AND) // qManageTaskDetailList.stream().filter(o -> null != o).collect(Collectors.groupingBy(o -> new StringJoiner(MesPcnExtConstWords.AND)
.add(o.getProcessCode()).add(o.getPartNo()).add(o.getManageProjects()).add(o.getScrewType()).add(o.getTighteningTorque()).toString())); // .add(o.getProcessCode()).add(o.getPartNo()).add(o.getManageProjects()).add(o.getScrewType()).add(o.getTighteningTorque()).toString()));
//
List<MesProcessQManage> newProcessQManageList = null; // List<MesProcessQManage> newProcessQManageList = null;
//获取两个存在差异的数据 // //获取两个存在差异的数据
for (String key : processQManageDbMap.keySet()) { // for (String key : processQManageDbMap.keySet()) {
if (CollectionUtils.isEmpty(qManageTaskDetailDbMap) || !qManageTaskDetailDbMap.containsKey(key)) { // if (CollectionUtils.isEmpty(qManageTaskDetailDbMap) || !qManageTaskDetailDbMap.containsKey(key)) {
if (CollectionUtils.isEmpty(newProcessQManageList)) { // if (CollectionUtils.isEmpty(newProcessQManageList)) {
newProcessQManageList = new ArrayList<>(); // newProcessQManageList = new ArrayList<>();
} // }
newProcessQManageList.addAll(processQManageDbMap.get(key)); // newProcessQManageList.addAll(processQManageDbMap.get(key));
} // }
} // }
//
if (!CollectionUtils.isEmpty(newProcessQManageList)) { // if (!CollectionUtils.isEmpty(newProcessQManageList)) {
String orderNo = insertMesOrderJob(workOrderExt, workCenterExt, orderRuleOp.get().getTaskType(), userInfo, checkErrorLog); // String orderNo = insertMesOrderJob(workOrderExt, workCenterExt, orderRuleOp.get().getTaskType(), userInfo, checkErrorLog);
if (StringUtils.isEmpty(orderNo)) { // if (StringUtils.isEmpty(orderNo)) {
return; // return;
} // }
insertMesQManageTaskDetail(orderNo, newProcessQManageList, processCodeMap, userInfo); // insertMesQManageTaskDetail(orderNo, newProcessQManageList, processCodeMap, userInfo);
} // }
}*/ // }*/
} catch (Exception e) { // } catch (Exception e) {
checkErrorLogService.insertCheckErrorLog(checkErrorLog, e.getMessage(), userInfo); // checkErrorLogService.insertCheckErrorLog(checkErrorLog, e.getMessage(), userInfo);
log.info(e.getMessage()); // log.info(e.getMessage());
} // }
//
} // }
//
//
private String insertMesOrderJob(MesWorkOrderExt workOrderExt, MesWorkCenterExt workCenterExt, Integer taskType, String userInfo, MesCheckErrorLog checkErrorLog){ // private String insertMesOrderJob(MesWorkOrderExt workOrderExt, MesWorkCenterExt workCenterExt, Integer taskType, String userInfo, MesCheckErrorLog checkErrorLog){
List<String> orderNoList = getOrderNoByRuleCode(1, // List<String> orderNoList = getOrderNoByRuleCode(1,
MesPcnExtConstWords.ORDER_NO_RULE, new GenSerialNoModel(), userInfo, workOrderExt.getOrganizeCode()); // MesPcnExtConstWords.ORDER_NO_RULE, new GenSerialNoModel(), userInfo, workOrderExt.getOrganizeCode());
if (CollectionUtils.isEmpty(orderNoList)) { // if (CollectionUtils.isEmpty(orderNoList)) {
String msg = String.format("Q管理生成单据:工单[%s]单据编号未生成成功", workOrderExt.getOrderNo()); // String msg = String.format("Q管理生成单据:工单[%s]单据编号未生成成功", workOrderExt.getOrderNo());
log.info(msg); // log.info(msg);
checkErrorLogService.insertCheckErrorLog(checkErrorLog, msg, userInfo); // checkErrorLogService.insertCheckErrorLog(checkErrorLog, msg, userInfo);
return null; // return null;
} // }
MesOrderJob orderJob = new MesOrderJob(); // MesOrderJob orderJob = new MesOrderJob();
orderJob.setOrderType(MesPcnExtEnumUtil.MES_OR_ORDER_TYPE.Q_MANAGE.getValue()); // orderJob.setOrderType(MesPcnExtEnumUtil.MES_OR_ORDER_TYPE.Q_MANAGE.getValue());
orderJob.setTaskType(taskType); // orderJob.setTaskType(taskType);
orderJob.setOrderNo(orderNoList.get(0)); // orderJob.setOrderNo(orderNoList.get(0));
orderJob.setWorkCenterCode(workOrderExt.getWorkCenterCode()); // orderJob.setWorkCenterCode(workOrderExt.getWorkCenterCode());
orderJob.setShiftCode(workCenterExt.getShiftCode()); // orderJob.setShiftCode(workCenterExt.getShiftCode());
orderJob.setWorkOrderNo(workOrderExt.getOrderNo()); // orderJob.setWorkOrderNo(workOrderExt.getOrderNo());
orderJob.setOrderStatus(MesPcnExtEnumUtil.MES_ORJ_ORDER_STATUS.CREATE.getValue()); // orderJob.setOrderStatus(MesPcnExtEnumUtil.MES_ORJ_ORDER_STATUS.CREATE.getValue());
orderJob.setWorkTime(workCenterExt.getWorkTime()); // orderJob.setWorkTime(workCenterExt.getWorkTime());
orderJob.setOrderDate(TimeTool.getToday()); // orderJob.setOrderDate(TimeTool.getToday());
orderJob.setGenerateTime(TimeTool.getNowTime(true)); // orderJob.setGenerateTime(TimeTool.getNowTime(true));
orderJob.setOrganizeCode(workOrderExt.getOrganizeCode()); // orderJob.setOrganizeCode(workOrderExt.getOrganizeCode());
ConvertBean.serviceModelInitialize(orderJob, userInfo); // ConvertBean.serviceModelInitialize(orderJob, userInfo);
orderJobRepository.insert(orderJob); // orderJobRepository.insert(orderJob);
return orderJob.getOrderNo(); // return orderJob.getOrderNo();
} // }
//
private void insertMesQManageTaskDetail(String orderNo, List<MesProcessQManage> processQManageList, Map<String, List<MesProcessCell>> processCodeMap, String userInfo){ // private void insertMesQManageTaskDetail(String orderNo, List<MesProcessQManage> processQManageList, Map<String, List<MesProcessCell>> processCodeMap, String userInfo){
for(MesProcessQManage processQManage : processQManageList){ // for(MesProcessQManage processQManage : processQManageList){
if (null == processQManage) { // if (null == processQManage) {
continue; // continue;
} // }
MesQManageTaskDetail qManageTaskDetail = new MesQManageTaskDetail(); // MesQManageTaskDetail qManageTaskDetail = new MesQManageTaskDetail();
BeanUtils.copyProperties(processQManage, qManageTaskDetail, MesPcnExtConstWords.ID); // BeanUtils.copyProperties(processQManage, qManageTaskDetail, MesPcnExtConstWords.ID);
qManageTaskDetail.setOrderNo(orderNo); // qManageTaskDetail.setOrderNo(orderNo);
//
List<MesProcessCell> processCellList = processCodeMap.get(processQManage.getProcessCode()); // List<MesProcessCell> processCellList = processCodeMap.get(processQManage.getProcessCode());
if (!CollectionUtils.isEmpty(processCellList)) { // if (!CollectionUtils.isEmpty(processCellList)) {
qManageTaskDetail.setWorkCellCode(processCellList.get(0).getWorkCellCode()); // qManageTaskDetail.setWorkCellCode(processCellList.get(0).getWorkCellCode());
qManageTaskDetail.setWorkCellName(processCellList.get(0).getWorkCellName()); // qManageTaskDetail.setWorkCellName(processCellList.get(0).getWorkCellName());
qManageTaskDetail.setProcessName(processCellList.get(0).getProcessName()); // qManageTaskDetail.setProcessName(processCellList.get(0).getProcessName());
} // }
qManageTaskDetail.setIsTeamConfirm(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); // qManageTaskDetail.setIsTeamConfirm(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
qManageTaskDetail.setIsQualityConfirm(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); // qManageTaskDetail.setIsQualityConfirm(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
qManageTaskDetail.setCheckType(MesPcnExtEnumUtil.MES_Q_MANAGER_CHECK_TYPE.ORDER_CHECK.getValue()); // qManageTaskDetail.setCheckType(MesPcnExtEnumUtil.MES_Q_MANAGER_CHECK_TYPE.ORDER_CHECK.getValue());
ConvertBean.serviceModelInitialize(qManageTaskDetail, userInfo); // ConvertBean.serviceModelInitialize(qManageTaskDetail, userInfo);
qManageTaskDetailRepository.insert(qManageTaskDetail); // qManageTaskDetailRepository.insert(qManageTaskDetail);
} // }
} // }
//
public List<String> getOrderNoByRuleCode(int number, String ruleCode, GenSerialNoModel genSerialNoModel, String userName, String org) { // public List<String> getOrderNoByRuleCode(int number, String ruleCode, GenSerialNoModel genSerialNoModel, String userName, String org) {
genSerialNoModel.setRuleCode(ruleCode); // genSerialNoModel.setRuleCode(ruleCode);
BaseResultBean<String> serialNumberBean; // BaseResultBean<String> serialNumberBean;
try { // try {
serialNumberBean = syncFuncService.syncSerialNo(genSerialNoModel, userName, org, Integer.valueOf(number)); // serialNumberBean = syncFuncService.syncSerialNo(genSerialNoModel, userName, org, Integer.valueOf(number));
} catch (Exception e) { // } catch (Exception e) {
return null; // return null;
} // }
if (serialNumberBean != null && serialNumberBean.isSuccess()) { // if (serialNumberBean != null && serialNumberBean.isSuccess()) {
return serialNumberBean.getResultList(); // return serialNumberBean.getResultList();
} else { // } else {
return null; // return null;
} // }
} // }
//
} //}

@ -1,297 +1,297 @@
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.job.ep; //package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.job.ep;
//
import cn.estsh.i3plus.ext.mes.pcn.api.base.IWorkCenterExtService; //import cn.estsh.i3plus.ext.mes.pcn.api.base.IWorkCenterExtService;
import cn.estsh.i3plus.ext.mes.pcn.api.job.ep.IEpEquipmentCheckOrderService; //import cn.estsh.i3plus.ext.mes.pcn.api.job.ep.IEpEquipmentCheckOrderService;
import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.*; //import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.*;
import cn.estsh.i3plus.ext.mes.pcn.pojo.repository.*; //import cn.estsh.i3plus.ext.mes.pcn.pojo.repository.*;
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords; //import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtEnumUtil; //import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtEnumUtil;
import cn.estsh.i3plus.mes.pcn.api.iservice.busi.ISyncFuncService; //import cn.estsh.i3plus.mes.pcn.api.iservice.busi.ISyncFuncService;
import cn.estsh.i3plus.platform.common.convert.ConvertBean; //import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.tool.TimeTool; //import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.pojo.base.bean.BaseResultBean; //import cn.estsh.i3plus.pojo.base.bean.BaseResultBean;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; //import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; //import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.model.GenSerialNoModel; //import cn.estsh.i3plus.pojo.mes.model.GenSerialNoModel;
import lombok.extern.slf4j.Slf4j; //import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils; //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.util.CollectionUtils; //import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils; //import org.springframework.util.StringUtils;
//
import java.util.ArrayList; //import java.util.ArrayList;
import java.util.Calendar; //import java.util.Calendar;
import java.util.List; //import java.util.List;
import java.util.Map; //import java.util.Map;
import java.util.stream.Collectors; //import java.util.stream.Collectors;
//
/** ///**
* @PROJECT_NAME: i3plus-mes-panasonic-dev // * @PROJECT_NAME: i3plus-mes-panasonic-dev
* @DESCRIPTION: // * @DESCRIPTION:
* @USER: xinwang.yi // * @USER: xinwang.yi
* @DATE: 2021-12-13 13:41 // * @DATE: 2021-12-13 13:41
*/ // */
@Slf4j //@Slf4j
@Service //@Service
public class EpEquipmentCheckOrderService implements IEpEquipmentCheckOrderService { //public class EpEquipmentCheckOrderService implements IEpEquipmentCheckOrderService {
@Autowired // @Autowired
private MesEpEquipmentCheckRepository equipmentCheckRepository; // private MesEpEquipmentCheckRepository equipmentCheckRepository;
//
@Autowired // @Autowired
private MesOrderRuleRepository orderRuleRepository; // private MesOrderRuleRepository orderRuleRepository;
//
@Autowired // @Autowired
private MesOrderJobRepository orderJobRepository; // private MesOrderJobRepository orderJobRepository;
//
@Autowired // @Autowired
private MesWorkOrderExtRepository workOrderExtRepository; // private MesWorkOrderExtRepository workOrderExtRepository;
//
@Autowired // @Autowired
private MesEpEquipmentCheckDetailRepository equipmentCheckDetailRepository; // private MesEpEquipmentCheckDetailRepository equipmentCheckDetailRepository;
//
@Autowired // @Autowired
private IWorkCenterExtService workCenterExtService; // private IWorkCenterExtService workCenterExtService;
//
@Autowired // @Autowired
private ISyncFuncService syncFuncService; // private ISyncFuncService syncFuncService;
//
@Override // @Override
public void doHandleEquipmentCheckOrder(String organizeCode) { // public void doHandleEquipmentCheckOrder(String organizeCode) {
List<String> checkTypeList = getCheckTypelist(); // List<String> checkTypeList = getCheckTypelist();
//
for (String checkType : checkTypeList) { // for (String checkType : checkTypeList) {
if (StringUtils.isEmpty(checkType)) { // if (StringUtils.isEmpty(checkType)) {
continue; // continue;
} // }
Boolean isSuccess = false; // Boolean isSuccess = false;
List<MesEpEquipmentCheck> equipmentCheckList = getEquipmentCheckList(organizeCode, checkType); // List<MesEpEquipmentCheck> equipmentCheckList = getEquipmentCheckList(organizeCode, checkType);
if (CollectionUtils.isEmpty(equipmentCheckList)) { // if (CollectionUtils.isEmpty(equipmentCheckList)) {
log.info("Pcn处理EP工厂设备点检单据生成JOB,未配置[{}]类型的设备点检项目", // log.info("Pcn处理EP工厂设备点检单据生成JOB,未配置[{}]类型的设备点检项目",
MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.valueOfDescription(checkType)); // MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.valueOfDescription(checkType));
continue; // continue;
} // }
List<String> workCenterCodeList = (equipmentCheckList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getWorkCenterCode()))) // List<String> workCenterCodeList = (equipmentCheckList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getWorkCenterCode())))
.map(MesEpEquipmentCheck::getWorkCenterCode).collect(Collectors.toList())) // .map(MesEpEquipmentCheck::getWorkCenterCode).collect(Collectors.toList()))
.stream().filter(o -> !StringUtils.isEmpty(o)).distinct().collect(Collectors.toList()); // .stream().filter(o -> !StringUtils.isEmpty(o)).distinct().collect(Collectors.toList());
log.info("Pcn处理EP工厂设备点检单据生成JOB,[{}]类型的设备点检单据生成包含以下生产线{}", // log.info("Pcn处理EP工厂设备点检单据生成JOB,[{}]类型的设备点检单据生成包含以下生产线{}",
MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.valueOfDescription(checkType), workCenterCodeList.toString()); // MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.valueOfDescription(checkType), workCenterCodeList.toString());
for (String workCenterCode : workCenterCodeList) { // for (String workCenterCode : workCenterCodeList) {
if (StringUtils.isEmpty(workCenterCode)) { // if (StringUtils.isEmpty(workCenterCode)) {
continue; // continue;
} // }
List<MesOrderRule> orderRuleList = getOrderRuleList(organizeCode, workCenterCode, checkType); // List<MesOrderRule> orderRuleList = getOrderRuleList(organizeCode, workCenterCode, checkType);
if (CollectionUtils.isEmpty(orderRuleList)) { // if (CollectionUtils.isEmpty(orderRuleList)) {
log.info("Pcn处理EP工厂设备点检单据生成JOB,[{}]类型的设备点检单据生成,生产线[{}]未配置单据规则", // log.info("Pcn处理EP工厂设备点检单据生成JOB,[{}]类型的设备点检单据生成,生产线[{}]未配置单据规则",
MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.valueOfDescription(checkType), workCenterCode); // MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.valueOfDescription(checkType), workCenterCode);
continue; // continue;
} // }
//
List<MesWorkOrderExt> workOrderExtList = null; // List<MesWorkOrderExt> workOrderExtList = null;
if (checkType.equals(MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.DAY_CHECK.getValue())) { // if (checkType.equals(MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.DAY_CHECK.getValue())) {
workOrderExtList = findWorkOrderList(organizeCode, workCenterCode); // workOrderExtList = findWorkOrderList(organizeCode, workCenterCode);
} // }
//
for (MesOrderRule orderRule : orderRuleList) { // for (MesOrderRule orderRule : orderRuleList) {
if (null == orderRule || StringUtils.isEmpty(orderRule.getProduceTime())) { // if (null == orderRule || StringUtils.isEmpty(orderRule.getProduceTime())) {
continue; // continue;
} // }
Boolean flag = false; // Boolean flag = false;
String produceTime = orderRule.getProduceTime() + MesPcnExtConstWords.APPEND_SECONDS; // String produceTime = orderRule.getProduceTime() + MesPcnExtConstWords.APPEND_SECONDS;
String shiftCode = getCurShiftCode(organizeCode, workCenterCode, TimeTool.getToday()); // String shiftCode = getCurShiftCode(organizeCode, workCenterCode, TimeTool.getToday());
if (StringUtils.isEmpty(orderRule.getShiftCode()) || StringUtils.isEmpty(shiftCode)) { // if (StringUtils.isEmpty(orderRule.getShiftCode()) || StringUtils.isEmpty(shiftCode)) {
log.info("Pcn处理EP工厂设备点检单据生成JOB,生产线[{}]设备点检单据存在生成时间[{}]的单据未配置班次或生产线未启动班次", workCenterCode, produceTime); // log.info("Pcn处理EP工厂设备点检单据生成JOB,生产线[{}]设备点检单据存在生成时间[{}]的单据未配置班次或生产线未启动班次", workCenterCode, produceTime);
continue; // continue;
} // }
if (checkType.equals(MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.DAY_CHECK.getValue())) { // if (checkType.equals(MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.DAY_CHECK.getValue())) {
if (TimeTool.stringParseToDate(TimeTool.getNowTime(MesPcnExtConstWords.TIME_FORMAT)).compareTo(TimeTool.stringParseToDate(produceTime)) >= 0) { // if (TimeTool.stringParseToDate(TimeTool.getNowTime(MesPcnExtConstWords.TIME_FORMAT)).compareTo(TimeTool.stringParseToDate(produceTime)) >= 0) {
List<MesOrderJob> orderJobList = getOrderJobList(organizeCode, workCenterCode, shiftCode, checkType, produceTime); // List<MesOrderJob> orderJobList = getOrderJobList(organizeCode, workCenterCode, shiftCode, checkType, produceTime);
if (CollectionUtils.isEmpty(orderJobList)) { // if (CollectionUtils.isEmpty(orderJobList)) {
log.info("Pcn处理EP工厂设备点检单据生成JOB,生产线[{}]还未生成类型[{}]生成时间[{}]班次[{}]的设备点检单据", // log.info("Pcn处理EP工厂设备点检单据生成JOB,生产线[{}]还未生成类型[{}]生成时间[{}]班次[{}]的设备点检单据",
workCenterCode, MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.valueOfDescription(checkType), produceTime, shiftCode); // workCenterCode, MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.valueOfDescription(checkType), produceTime, shiftCode);
if (CollectionUtils.isEmpty(workOrderExtList)) { // if (CollectionUtils.isEmpty(workOrderExtList)) {
log.info("Pcn处理设备点检单据生成JOB,生产线[{}]还未生成类型[{}]生成时间[{}]班次[{}]的设备点检单据,但未查询到启动或下达的工单", // log.info("Pcn处理设备点检单据生成JOB,生产线[{}]还未生成类型[{}]生成时间[{}]班次[{}]的设备点检单据,但未查询到启动或下达的工单",
workCenterCode, MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.valueOfDescription(checkType), produceTime, shiftCode); // workCenterCode, MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.valueOfDescription(checkType), produceTime, shiftCode);
continue; // continue;
} // }
flag = true; // flag = true;
} // }
} // }
} else { // } else {
List<MesOrderJob> orderJobList = getOrderJobList(organizeCode, workCenterCode, shiftCode, checkType, produceTime); // List<MesOrderJob> orderJobList = getOrderJobList(organizeCode, workCenterCode, shiftCode, checkType, produceTime);
if (CollectionUtils.isEmpty(orderJobList)) { // if (CollectionUtils.isEmpty(orderJobList)) {
log.info("Pcn处理EP工厂设备点检单据生成JOB,生产线[{}]还未生成类型[{}]生成时间[{}]班次[{}]的设备点检单据", // log.info("Pcn处理EP工厂设备点检单据生成JOB,生产线[{}]还未生成类型[{}]生成时间[{}]班次[{}]的设备点检单据",
workCenterCode, MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.valueOfDescription(checkType), produceTime, shiftCode); // workCenterCode, MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.valueOfDescription(checkType), produceTime, shiftCode);
flag = true; // flag = true;
} // }
} // }
//
if (flag) { // if (flag) {
log.info("Pcn处理EP工厂设备点检单据生成JOB,生产线[{}]正在生成类型[{}]生成时间[{}]班次[{}]的设备点检单据", // log.info("Pcn处理EP工厂设备点检单据生成JOB,生产线[{}]正在生成类型[{}]生成时间[{}]班次[{}]的设备点检单据",
workCenterCode, MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.valueOfDescription(checkType), produceTime, shiftCode); // workCenterCode, MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.valueOfDescription(checkType), produceTime, shiftCode);
List<MesEpEquipmentCheck> equipmentCheckListTemp = equipmentCheckList.stream().filter(o -> (null != o && o.getWorkCenterCode().equals(workCenterCode))).collect(Collectors.toList()); // List<MesEpEquipmentCheck> equipmentCheckListTemp = equipmentCheckList.stream().filter(o -> (null != o && o.getWorkCenterCode().equals(workCenterCode))).collect(Collectors.toList());
Map<String, List<MesEpEquipmentCheck>> resultMap = equipmentCheckListTemp.stream().filter(mesEquipmentCheck -> mesEquipmentCheck != null && !StringUtils.isEmpty(mesEquipmentCheck.getEquNo())).collect(Collectors.groupingBy(MesEpEquipmentCheck::getEquNo)); // Map<String, List<MesEpEquipmentCheck>> resultMap = equipmentCheckListTemp.stream().filter(mesEquipmentCheck -> mesEquipmentCheck != null && !StringUtils.isEmpty(mesEquipmentCheck.getEquNo())).collect(Collectors.groupingBy(MesEpEquipmentCheck::getEquNo));
//
List<String> orderNoList= getOrderNo(organizeCode,resultMap.size()); // List<String> orderNoList= getOrderNo(organizeCode,resultMap.size());
if (CollectionUtils.isEmpty(orderNoList)) { // if (CollectionUtils.isEmpty(orderNoList)) {
log.info("Pcn处理EP工厂设备点检单据生成JOB,生产线[{}]生成类型[{}]生成时间[{}]班次[{}]的设备点检单据时生成单据号失败", // log.info("Pcn处理EP工厂设备点检单据生成JOB,生产线[{}]生成类型[{}]生成时间[{}]班次[{}]的设备点检单据时生成单据号失败",
workCenterCode, MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.valueOfDescription(checkType), produceTime, shiftCode); // workCenterCode, MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.valueOfDescription(checkType), produceTime, shiftCode);
continue; // continue;
} // }
insertEquipmentCheckOrder(organizeCode, workCenterCode, shiftCode, checkType, produceTime, orderNoList, resultMap); // insertEquipmentCheckOrder(organizeCode, workCenterCode, shiftCode, checkType, produceTime, orderNoList, resultMap);
isSuccess = true; // isSuccess = true;
} // }
} // }
} // }
//
if (isSuccess) { // if (isSuccess) {
log.info("Pcn处理EP工厂设备点检单据生成JOB,[{}]类型的设备点检单据生成成功", // log.info("Pcn处理EP工厂设备点检单据生成JOB,[{}]类型的设备点检单据生成成功",
MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.valueOfDescription(checkType)); // MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.valueOfDescription(checkType));
break; // break;
} // }
} // }
} // }
//
private String getCurShiftCode(String organizeCode, String workCenterCode, String workTime) { // private String getCurShiftCode(String organizeCode, String workCenterCode, String workTime) {
MesWorkCenterExt workCenterExt = workCenterExtService.getWorkCenterExtByWorkCenterAndTime(organizeCode, workCenterCode, workTime); // MesWorkCenterExt workCenterExt = workCenterExtService.getWorkCenterExtByWorkCenterAndTime(organizeCode, workCenterCode, workTime);
if (null != workCenterExt) { // if (null != workCenterExt) {
return workCenterExt.getShiftCode(); // return workCenterExt.getShiftCode();
} // }
return null; // return null;
} // }
//
private void insertEquipmentCheckOrder(String organizeCode, String workCenterCode, String shiftCode, String checkType, String produceTime, List<String> orderNoList, Map<String, List<MesEpEquipmentCheck>> resultMap) { // private void insertEquipmentCheckOrder(String organizeCode, String workCenterCode, String shiftCode, String checkType, String produceTime, List<String> orderNoList, Map<String, List<MesEpEquipmentCheck>> resultMap) {
int orderNoIndex = 0; // int orderNoIndex = 0;
for (String equNo : resultMap.keySet()) { // for (String equNo : resultMap.keySet()) {
List<MesEpEquipmentCheck> itemList = resultMap.get(equNo); // List<MesEpEquipmentCheck> itemList = resultMap.get(equNo);
//
MesOrderJob orderJob = new MesOrderJob(); // MesOrderJob orderJob = new MesOrderJob();
//
orderJob.setTaskType(MesPcnExtEnumUtil.MES_OR_TASK_TYPE.PREPARE_TASK.getValue()); // orderJob.setTaskType(MesPcnExtEnumUtil.MES_OR_TASK_TYPE.PREPARE_TASK.getValue());
orderJob.setOrderType(MesPcnExtEnumUtil.MES_OR_ORDER_TYPE.EP_EQU_CHECK.getValue()); // orderJob.setOrderType(MesPcnExtEnumUtil.MES_OR_ORDER_TYPE.EP_EQU_CHECK.getValue());
orderJob.setHandlerMethod(MesPcnExtEnumUtil.HANDLER_METHOD.AUTOMATICALLY_CREATED.getValue()); // orderJob.setHandlerMethod(MesPcnExtEnumUtil.HANDLER_METHOD.AUTOMATICALLY_CREATED.getValue());
orderJob.setOrderNo(orderNoList.get(orderNoIndex)); // orderJob.setOrderNo(orderNoList.get(orderNoIndex));
orderJob.setWorkCenterCode(workCenterCode); // orderJob.setWorkCenterCode(workCenterCode);
orderJob.setOrderStatus(MesPcnExtEnumUtil.MES_ORJ_ORDER_STATUS.CREATE.getValue()); // orderJob.setOrderStatus(MesPcnExtEnumUtil.MES_ORJ_ORDER_STATUS.CREATE.getValue());
orderJob.setOrderDate(TimeTool.getToday()); // orderJob.setOrderDate(TimeTool.getToday());
orderJob.setWorkTime(orderJob.getOrderDate()); // orderJob.setWorkTime(orderJob.getOrderDate());
orderJob.setGenerateTime(orderJob.getOrderDate() + MesPcnExtConstWords.ONE_SPACE + produceTime); // orderJob.setGenerateTime(orderJob.getOrderDate() + MesPcnExtConstWords.ONE_SPACE + produceTime);
orderJob.setCheckType(checkType); // orderJob.setCheckType(checkType);
orderJob.setShiftCode(shiftCode); // orderJob.setShiftCode(shiftCode);
List<String> collect = (itemList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getWorkCellCode()))) // List<String> collect = (itemList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getWorkCellCode())))
.map(MesEpEquipmentCheck::getWorkCellCode).collect(Collectors.toList())) // .map(MesEpEquipmentCheck::getWorkCellCode).collect(Collectors.toList()))
.stream().filter(o -> !StringUtils.isEmpty(o)).distinct().collect(Collectors.toList()); // .stream().filter(o -> !StringUtils.isEmpty(o)).distinct().collect(Collectors.toList());
String cellCollect = org.apache.commons.lang.StringUtils.join(collect, MesPcnExtConstWords.COMMA); // String cellCollect = org.apache.commons.lang.StringUtils.join(collect, MesPcnExtConstWords.COMMA);
orderJob.setCellCollect(cellCollect); // orderJob.setCellCollect(cellCollect);
orderJob.setOrganizeCode(organizeCode); // orderJob.setOrganizeCode(organizeCode);
ConvertBean.serviceModelInitialize(orderJob, MesPcnExtConstWords.JOB); // ConvertBean.serviceModelInitialize(orderJob, MesPcnExtConstWords.JOB);
orderJobRepository.insert(orderJob); // orderJobRepository.insert(orderJob);
for (MesEpEquipmentCheck mesEquipmentCheck : itemList) { // for (MesEpEquipmentCheck mesEquipmentCheck : itemList) {
MesEpEquipmentCheckDetail equipmentCheckDetail = new MesEpEquipmentCheckDetail(); // MesEpEquipmentCheckDetail equipmentCheckDetail = new MesEpEquipmentCheckDetail();
BeanUtils.copyProperties(mesEquipmentCheck, equipmentCheckDetail, MesPcnExtConstWords.ID); // BeanUtils.copyProperties(mesEquipmentCheck, equipmentCheckDetail, MesPcnExtConstWords.ID);
equipmentCheckDetail.setOrderJobNo(orderNoList.get(orderNoIndex)); // equipmentCheckDetail.setOrderJobNo(orderNoList.get(orderNoIndex));
equipmentCheckDetail.setCheckType(checkType); // equipmentCheckDetail.setCheckType(checkType);
equipmentCheckDetail.setEquNo(mesEquipmentCheck.getEquNo()); // equipmentCheckDetail.setEquNo(mesEquipmentCheck.getEquNo());
equipmentCheckDetail.setEquName(mesEquipmentCheck.getEquName()); // equipmentCheckDetail.setEquName(mesEquipmentCheck.getEquName());
equipmentCheckDetail.setShiftCode(shiftCode); // equipmentCheckDetail.setShiftCode(shiftCode);
equipmentCheckDetail.setIsTeamConfirm(MesPcnExtEnumUtil.SHIFT_GROUP_CHECK.NO.getValue()); // equipmentCheckDetail.setIsTeamConfirm(MesPcnExtEnumUtil.SHIFT_GROUP_CHECK.NO.getValue());
equipmentCheckDetail.setIsQualityConfirm(MesPcnExtEnumUtil.QUALITY_CHECK.NO.getValue()); // equipmentCheckDetail.setIsQualityConfirm(MesPcnExtEnumUtil.QUALITY_CHECK.NO.getValue());
equipmentCheckDetail.setOrganizeCode(organizeCode); // equipmentCheckDetail.setOrganizeCode(organizeCode);
equipmentCheckDetail.setStandardValue(mesEquipmentCheck.getStandardValue()); // equipmentCheckDetail.setStandardValue(mesEquipmentCheck.getStandardValue());
equipmentCheckDetail.setDownLimit(mesEquipmentCheck.getDownLimit()); // equipmentCheckDetail.setDownLimit(mesEquipmentCheck.getDownLimit());
equipmentCheckDetail.setUpLimit(mesEquipmentCheck.getUpLimit()); // equipmentCheckDetail.setUpLimit(mesEquipmentCheck.getUpLimit());
equipmentCheckDetail.setResultType(mesEquipmentCheck.getResultType()); // equipmentCheckDetail.setResultType(mesEquipmentCheck.getResultType());
ConvertBean.serviceModelInitialize(equipmentCheckDetail, MesPcnExtConstWords.JOB); // ConvertBean.serviceModelInitialize(equipmentCheckDetail, MesPcnExtConstWords.JOB);
equipmentCheckDetailRepository.insert(equipmentCheckDetail); // equipmentCheckDetailRepository.insert(equipmentCheckDetail);
} // }
orderNoIndex++; // orderNoIndex++;
} // }
} // }
//
private List<String> getOrderNo(String organizeCode,int num) { // private List<String> getOrderNo(String organizeCode,int num) {
try { // try {
BaseResultBean oneCodeResult = syncFuncService.syncSerialNo(new GenSerialNoModel(MesPcnExtConstWords.ORDER_NO_RULE), null, organizeCode, num); // BaseResultBean oneCodeResult = syncFuncService.syncSerialNo(new GenSerialNoModel(MesPcnExtConstWords.ORDER_NO_RULE), null, organizeCode, num);
log.info("获取生成单号的数量:{}",oneCodeResult.getResultList().size()); // log.info("获取生成单号的数量:{}",oneCodeResult.getResultList().size());
if (oneCodeResult != null && oneCodeResult.isSuccess()) { // if (oneCodeResult != null && oneCodeResult.isSuccess()) {
return oneCodeResult.getResultList(); // return oneCodeResult.getResultList();
} // }
} catch (Exception e) { // } catch (Exception e) {
} // }
return null; // return null;
} // }
//
private List<MesWorkOrderExt> findWorkOrderList(String organizeCode, String workCenterCode) { // private List<MesWorkOrderExt> findWorkOrderList(String organizeCode, String workCenterCode) {
List<MesWorkOrderExt> workOrderExtList = null; // List<MesWorkOrderExt> workOrderExtList = null;
List<MesWorkOrderExt> openList = getWorkOrderList(organizeCode, workCenterCode, MesPcnExtEnumUtil.WORK_ORDER_STATUS.OPEN.getValue()); // List<MesWorkOrderExt> openList = getWorkOrderList(organizeCode, workCenterCode, MesPcnExtEnumUtil.WORK_ORDER_STATUS.OPEN.getValue());
List<MesWorkOrderExt> landedList = getWorkOrderList(organizeCode, workCenterCode, MesPcnExtEnumUtil.WORK_ORDER_STATUS.LANDED.getValue()); // List<MesWorkOrderExt> landedList = getWorkOrderList(organizeCode, workCenterCode, MesPcnExtEnumUtil.WORK_ORDER_STATUS.LANDED.getValue());
if (!CollectionUtils.isEmpty(openList) || !CollectionUtils.isEmpty(landedList)) { // if (!CollectionUtils.isEmpty(openList) || !CollectionUtils.isEmpty(landedList)) {
workOrderExtList = new ArrayList<>(); // workOrderExtList = new ArrayList<>();
if (!CollectionUtils.isEmpty(openList)) { // if (!CollectionUtils.isEmpty(openList)) {
workOrderExtList.addAll(openList); // workOrderExtList.addAll(openList);
} // }
if (!CollectionUtils.isEmpty(landedList)) { // if (!CollectionUtils.isEmpty(landedList)) {
workOrderExtList.addAll(landedList); // workOrderExtList.addAll(landedList);
} // }
} // }
return workOrderExtList; // return workOrderExtList;
} // }
//
private List<MesWorkOrderExt> getWorkOrderList(String organizeCode, String workCenterCode, Integer workOrderStatus) { // private List<MesWorkOrderExt> getWorkOrderList(String organizeCode, String workCenterCode, Integer workOrderStatus) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode); // DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getNumEqualPack(workOrderStatus, MesPcnExtConstWords.WORK_ORDER_STATUS, packBean); // DdlPreparedPack.getNumEqualPack(workOrderStatus, MesPcnExtConstWords.WORK_ORDER_STATUS, packBean);
DdlPreparedPack.getStringEqualPack(workCenterCode, MesPcnExtConstWords.WORK_CENTER_CODE, packBean); // DdlPreparedPack.getStringEqualPack(workCenterCode, MesPcnExtConstWords.WORK_CENTER_CODE, packBean);
return workOrderExtRepository.findByHqlWhere(packBean); // return workOrderExtRepository.findByHqlWhere(packBean);
} // }
//
private List<MesOrderJob> getOrderJobList(String organizeCode, String workCenterCode, String shiftCode, String checkType, String produceTime) { // private List<MesOrderJob> getOrderJobList(String organizeCode, String workCenterCode, String shiftCode, String checkType, String produceTime) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode); // DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getNumEqualPack(MesPcnExtEnumUtil.MES_OR_TASK_TYPE.PREPARE_TASK.getValue(), MesPcnExtConstWords.TASK_TYPE, packBean); // DdlPreparedPack.getNumEqualPack(MesPcnExtEnumUtil.MES_OR_TASK_TYPE.PREPARE_TASK.getValue(), MesPcnExtConstWords.TASK_TYPE, packBean);
DdlPreparedPack.getNumEqualPack(MesPcnExtEnumUtil.MES_OR_ORDER_TYPE.EP_EQU_CHECK.getValue(), MesPcnExtConstWords.ORDER_TYPE, packBean); // DdlPreparedPack.getNumEqualPack(MesPcnExtEnumUtil.MES_OR_ORDER_TYPE.EP_EQU_CHECK.getValue(), MesPcnExtConstWords.ORDER_TYPE, packBean);
DdlPreparedPack.getNumEqualPack(MesPcnExtEnumUtil.HANDLER_METHOD.AUTOMATICALLY_CREATED.getValue(), MesPcnExtConstWords.HANDLER_METHOD, packBean); // DdlPreparedPack.getNumEqualPack(MesPcnExtEnumUtil.HANDLER_METHOD.AUTOMATICALLY_CREATED.getValue(), MesPcnExtConstWords.HANDLER_METHOD, packBean);
DdlPreparedPack.getStringEqualPack(workCenterCode, MesPcnExtConstWords.WORK_CENTER_CODE, packBean); // DdlPreparedPack.getStringEqualPack(workCenterCode, MesPcnExtConstWords.WORK_CENTER_CODE, packBean);
DdlPreparedPack.getStringEqualPack(shiftCode, MesPcnExtConstWords.SHIFT_CODE, packBean); // DdlPreparedPack.getStringEqualPack(shiftCode, MesPcnExtConstWords.SHIFT_CODE, packBean);
DdlPreparedPack.getStringEqualPack(checkType, MesPcnExtConstWords.CHECK_TYPE, packBean); // DdlPreparedPack.getStringEqualPack(checkType, MesPcnExtConstWords.CHECK_TYPE, packBean);
String nowProduceTime = TimeTool.getToday() + MesPcnExtConstWords.ONE_SPACE + produceTime; // String nowProduceTime = TimeTool.getToday() + MesPcnExtConstWords.ONE_SPACE + produceTime;
String lastProduceTime; // String lastProduceTime;
if (checkType.equals(MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.DAY_CHECK.getValue())) { // if (checkType.equals(MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.DAY_CHECK.getValue())) {
DdlPreparedPack.getStringEqualPack(nowProduceTime, MesPcnExtConstWords.GENERATE_TIME, packBean); // DdlPreparedPack.getStringEqualPack(nowProduceTime, MesPcnExtConstWords.GENERATE_TIME, packBean);
} else if (checkType.equals(MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.WEEK_CHECK.getValue())) { // } else if (checkType.equals(MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.WEEK_CHECK.getValue())) {
lastProduceTime = TimeTool.timeCalc(TimeTool.stringParseToDate(nowProduceTime), Calendar.DAY_OF_YEAR, -7, MesPcnExtConstWords.DATETIME_FORMAT); // lastProduceTime = TimeTool.timeCalc(TimeTool.stringParseToDate(nowProduceTime), Calendar.DAY_OF_YEAR, -7, MesPcnExtConstWords.DATETIME_FORMAT);
DdlPreparedPack.timeBuilder(lastProduceTime, nowProduceTime, MesPcnExtConstWords.GENERATE_TIME, packBean, true); // DdlPreparedPack.timeBuilder(lastProduceTime, nowProduceTime, MesPcnExtConstWords.GENERATE_TIME, packBean, true);
} else if (checkType.equals(MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.MONTH_CHECK.getValue())) { // } else if (checkType.equals(MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.MONTH_CHECK.getValue())) {
lastProduceTime = TimeTool.timeCalc(TimeTool.stringParseToDate(nowProduceTime), Calendar.DAY_OF_YEAR, -30, MesPcnExtConstWords.DATETIME_FORMAT); // lastProduceTime = TimeTool.timeCalc(TimeTool.stringParseToDate(nowProduceTime), Calendar.DAY_OF_YEAR, -30, MesPcnExtConstWords.DATETIME_FORMAT);
DdlPreparedPack.timeBuilder(lastProduceTime, nowProduceTime, MesPcnExtConstWords.GENERATE_TIME, packBean, true); // DdlPreparedPack.timeBuilder(lastProduceTime, nowProduceTime, MesPcnExtConstWords.GENERATE_TIME, packBean, true);
} else { // } else {
lastProduceTime = TimeTool.timeCalc(TimeTool.stringParseToDate(nowProduceTime), Calendar.YEAR, -1, MesPcnExtConstWords.DATETIME_FORMAT); // lastProduceTime = TimeTool.timeCalc(TimeTool.stringParseToDate(nowProduceTime), Calendar.YEAR, -1, MesPcnExtConstWords.DATETIME_FORMAT);
DdlPreparedPack.timeBuilder(lastProduceTime, nowProduceTime, MesPcnExtConstWords.GENERATE_TIME, packBean, true); // DdlPreparedPack.timeBuilder(lastProduceTime, nowProduceTime, MesPcnExtConstWords.GENERATE_TIME, packBean, true);
} // }
return orderJobRepository.findByHqlWhere(packBean); // return orderJobRepository.findByHqlWhere(packBean);
} // }
//
private List<MesOrderRule> getOrderRuleList(String organizeCode, String workCenterCode, String checkType) { // private List<MesOrderRule> getOrderRuleList(String organizeCode, String workCenterCode, String checkType) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode); // DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getNumEqualPack(MesPcnExtEnumUtil.MES_OR_TASK_TYPE.PREPARE_TASK.getValue(), MesPcnExtConstWords.TASK_TYPE, packBean); // DdlPreparedPack.getNumEqualPack(MesPcnExtEnumUtil.MES_OR_TASK_TYPE.PREPARE_TASK.getValue(), MesPcnExtConstWords.TASK_TYPE, packBean);
DdlPreparedPack.getNumEqualPack(MesPcnExtEnumUtil.MES_OR_ORDER_TYPE.EP_EQU_CHECK.getValue(), MesPcnExtConstWords.ORDER_TYPE, packBean); // DdlPreparedPack.getNumEqualPack(MesPcnExtEnumUtil.MES_OR_ORDER_TYPE.EP_EQU_CHECK.getValue(), MesPcnExtConstWords.ORDER_TYPE, packBean);
DdlPreparedPack.getNumEqualPack(MesPcnExtEnumUtil.MES_OR_CREATE_RULE.TIME_TO_CREATE.getValue(), MesPcnExtConstWords.CREATE_RULE, packBean); // DdlPreparedPack.getNumEqualPack(MesPcnExtEnumUtil.MES_OR_CREATE_RULE.TIME_TO_CREATE.getValue(), MesPcnExtConstWords.CREATE_RULE, packBean);
DdlPreparedPack.getStringEqualPack(workCenterCode, MesPcnExtConstWords.WORK_CENTER_CODE, packBean); // DdlPreparedPack.getStringEqualPack(workCenterCode, MesPcnExtConstWords.WORK_CENTER_CODE, packBean);
DdlPreparedPack.getStringEqualPack(checkType, MesPcnExtConstWords.CHECK_TYPE, packBean); // DdlPreparedPack.getStringEqualPack(checkType, MesPcnExtConstWords.CHECK_TYPE, packBean);
return orderRuleRepository.findByHqlWhere(packBean); // return orderRuleRepository.findByHqlWhere(packBean);
} // }
//
private List<String> getCheckTypelist() { // private List<String> getCheckTypelist() {
List<String> checkTypeList = new ArrayList<>(); // List<String> checkTypeList = new ArrayList<>();
String dayCheck = MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.DAY_CHECK.getValue(); // String dayCheck = MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.DAY_CHECK.getValue();
String weekCheck = MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.WEEK_CHECK.getValue(); // String weekCheck = MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.WEEK_CHECK.getValue();
String monthCheck = MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.MONTH_CHECK.getValue(); // String monthCheck = MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.MONTH_CHECK.getValue();
checkTypeList.add(weekCheck); // checkTypeList.add(weekCheck);
checkTypeList.add(dayCheck); // checkTypeList.add(dayCheck);
checkTypeList.add(monthCheck); // checkTypeList.add(monthCheck);
return checkTypeList; // return checkTypeList;
} // }
//
private List<MesEpEquipmentCheck> getEquipmentCheckList(String organizeCode, String checkType) { // private List<MesEpEquipmentCheck> getEquipmentCheckList(String organizeCode, String checkType) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode); // DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(checkType, MesPcnExtConstWords.CHECK_TYPE, packBean); // DdlPreparedPack.getStringEqualPack(checkType, MesPcnExtConstWords.CHECK_TYPE, packBean);
return equipmentCheckRepository.findByHqlWhere(packBean); // return equipmentCheckRepository.findByHqlWhere(packBean);
} // }
} //}

@ -1,247 +1,247 @@
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.job.ep; //package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.job.ep;
//
import cn.estsh.i3plus.ext.mes.pcn.api.base.IWorkCenterExtService; //import cn.estsh.i3plus.ext.mes.pcn.api.base.IWorkCenterExtService;
import cn.estsh.i3plus.ext.mes.pcn.api.job.ep.IEpQManageCheckOrderService; //import cn.estsh.i3plus.ext.mes.pcn.api.job.ep.IEpQManageCheckOrderService;
import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.*; //import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.*;
import cn.estsh.i3plus.ext.mes.pcn.pojo.repository.*; //import cn.estsh.i3plus.ext.mes.pcn.pojo.repository.*;
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords; //import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtEnumUtil; //import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtEnumUtil;
import cn.estsh.i3plus.mes.pcn.api.iservice.busi.ISyncFuncService; //import cn.estsh.i3plus.mes.pcn.api.iservice.busi.ISyncFuncService;
import cn.estsh.i3plus.platform.common.convert.ConvertBean; //import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.tool.TimeTool; //import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.pojo.base.bean.BaseResultBean; //import cn.estsh.i3plus.pojo.base.bean.BaseResultBean;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; //import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; //import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; //import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.model.GenSerialNoModel; //import cn.estsh.i3plus.pojo.mes.model.GenSerialNoModel;
import lombok.extern.slf4j.Slf4j; //import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils; //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.util.CollectionUtils; //import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils; //import org.springframework.util.StringUtils;
//
import java.util.ArrayList; //import java.util.ArrayList;
import java.util.List; //import java.util.List;
import java.util.Map; //import java.util.Map;
import java.util.stream.Collectors; //import java.util.stream.Collectors;
//
/** ///**
* @Author: wangjie // * @Author: wangjie
* @CreateDate: 2019/8/23 1:16 PM // * @CreateDate: 2019/8/23 1:16 PM
* @Description: EP-Q // * @Description: EP-Q管理单据定时任务
**/ // **/
@Slf4j //@Slf4j
@Service //@Service
public class EpQManageCheckOrderService implements IEpQManageCheckOrderService { //public class EpQManageCheckOrderService implements IEpQManageCheckOrderService {
//
@Autowired // @Autowired
private MesProcessCellRepository processCellRepository; // private MesProcessCellRepository processCellRepository;
//
@Autowired // @Autowired
private MesProcessQManageRepository processQManageRepository; // private MesProcessQManageRepository processQManageRepository;
//
@Autowired // @Autowired
private MesQManageTaskDetailRepository qManageTaskDetailRepository; // private MesQManageTaskDetailRepository qManageTaskDetailRepository;
//
@Autowired // @Autowired
private MesOrderRuleRepository orderRuleRepository; // private MesOrderRuleRepository orderRuleRepository;
//
@Autowired // @Autowired
private MesOrderJobRepository orderJobRepository; // private MesOrderJobRepository orderJobRepository;
//
@Autowired // @Autowired
private IWorkCenterExtService workCenterExtService; // private IWorkCenterExtService workCenterExtService;
//
@Autowired // @Autowired
private MesWorkOrderExtRepository workOrderExtRepository; // private MesWorkOrderExtRepository workOrderExtRepository;
//
@Autowired // @Autowired
private ISyncFuncService syncFuncService; // private ISyncFuncService syncFuncService;
//
@Override // @Override
public void doQManageCheckOrder(String organizeCode) { // public void doQManageCheckOrder(String organizeCode) {
List<MesOrderRule> orderRuleDbList = getOrderRuleList(organizeCode); // List<MesOrderRule> orderRuleDbList = getOrderRuleList(organizeCode);
if (CollectionUtils.isEmpty(orderRuleDbList)) { // if (CollectionUtils.isEmpty(orderRuleDbList)) {
log.info("Pcn处理Q管理点检单生成JOB,未配置单据规则"); // log.info("Pcn处理Q管理点检单生成JOB,未配置单据规则");
return; // return;
} // }
//
Map<String, List<MesOrderRule>> workCenterCodeMap = orderRuleDbList.stream() // Map<String, List<MesOrderRule>> workCenterCodeMap = orderRuleDbList.stream()
.filter(o -> (null != o && !StringUtils.isEmpty(o.getWorkCenterCode()) && !StringUtils.isEmpty(o.getProduceTime()))) // .filter(o -> (null != o && !StringUtils.isEmpty(o.getWorkCenterCode()) && !StringUtils.isEmpty(o.getProduceTime())))
.collect(Collectors.groupingBy(MesOrderRule::getWorkCenterCode)); // .collect(Collectors.groupingBy(MesOrderRule::getWorkCenterCode));
log.info("Pcn处理Q管理点检单生成JOB,生成包含以下生产线{}", CollectionUtils.isEmpty(workCenterCodeMap) ? null : workCenterCodeMap.keySet().toString()); // log.info("Pcn处理Q管理点检单生成JOB,生成包含以下生产线{}", CollectionUtils.isEmpty(workCenterCodeMap) ? null : workCenterCodeMap.keySet().toString());
//
for (String workCenterCode : workCenterCodeMap.keySet()) { // for (String workCenterCode : workCenterCodeMap.keySet()) {
if (StringUtils.isEmpty(workCenterCode)) continue; // if (StringUtils.isEmpty(workCenterCode)) continue;
//
List<MesOrderRule> orderRuleList = workCenterCodeMap.get(workCenterCode); // List<MesOrderRule> orderRuleList = workCenterCodeMap.get(workCenterCode);
if (CollectionUtils.isEmpty(orderRuleList)) continue; // if (CollectionUtils.isEmpty(orderRuleList)) continue;
//
MesWorkOrderExt workOrderExt = getWorkOrderByStatus(organizeCode, workCenterCode); // MesWorkOrderExt workOrderExt = getWorkOrderByStatus(organizeCode, workCenterCode);
//
Map<String, List<MesProcessCell>> processCodeMap = getProcessCodeMapByCenter(organizeCode, workCenterCode); // Map<String, List<MesProcessCell>> processCodeMap = getProcessCodeMapByCenter(organizeCode, workCenterCode);
List<String> processCodeList = getProcessCodeList(processCodeMap); // List<String> processCodeList = getProcessCodeList(processCodeMap);
log.info("Pcn处理Q管理点检单生成JOB,生产线[{}]配置的数据量processCodeMap[{}],processCodeList[{}]", // log.info("Pcn处理Q管理点检单生成JOB,生产线[{}]配置的数据量processCodeMap[{}],processCodeList[{}]",
workCenterCode, CollectionUtils.isEmpty(processCodeMap) ? 0 : processCodeMap.size(), CollectionUtils.isEmpty(processCodeList) ? 0 : processCodeList.size()); // workCenterCode, CollectionUtils.isEmpty(processCodeMap) ? 0 : processCodeMap.size(), CollectionUtils.isEmpty(processCodeList) ? 0 : processCodeList.size());
//
List<MesProcessQManage> processQManageList = getProcessQManageList(workOrderExt, processCodeList); // List<MesProcessQManage> processQManageList = getProcessQManageList(workOrderExt, processCodeList);
//
for (MesOrderRule orderRule : orderRuleList) { // for (MesOrderRule orderRule : orderRuleList) {
if (null == orderRule) continue; // if (null == orderRule) continue;
//
String produceTime = orderRule.getProduceTime() + MesPcnExtConstWords.APPEND_SECONDS; // String produceTime = orderRule.getProduceTime() + MesPcnExtConstWords.APPEND_SECONDS;
//
if (TimeTool.stringParseToDate(TimeTool.getNowTime(MesPcnExtConstWords.TIME_FORMAT)).compareTo(TimeTool.stringParseToDate(produceTime)) >= 0) { // if (TimeTool.stringParseToDate(TimeTool.getNowTime(MesPcnExtConstWords.TIME_FORMAT)).compareTo(TimeTool.stringParseToDate(produceTime)) >= 0) {
//
String shiftCode = getCurShiftCode(orderRule.getShiftCode(), organizeCode, workCenterCode); // String shiftCode = getCurShiftCode(orderRule.getShiftCode(), organizeCode, workCenterCode);
if (StringUtils.isEmpty(shiftCode)) { // if (StringUtils.isEmpty(shiftCode)) {
log.info("Pcn处理Q管理点检单生成JOB,生产线[{}]Q管理单据存在生成时间[{}]的单据规则,但未配置班次或生产线未启动班次", workCenterCode, produceTime); // log.info("Pcn处理Q管理点检单生成JOB,生产线[{}]Q管理单据存在生成时间[{}]的单据规则,但未配置班次或生产线未启动班次", workCenterCode, produceTime);
continue; // continue;
} // }
//
List<MesOrderJob> orderJobList = getOrderJobList(organizeCode, workCenterCode, shiftCode, produceTime); // List<MesOrderJob> orderJobList = getOrderJobList(organizeCode, workCenterCode, shiftCode, produceTime);
if (!CollectionUtils.isEmpty(orderJobList)) continue; // if (!CollectionUtils.isEmpty(orderJobList)) continue;
//
if (null == workOrderExt) { // if (null == workOrderExt) {
log.info("Pcn处理Q管理点检单生成JOB,生产线[{}]还未生成时间[{}]班次[{}]的Q管理点检单据,但未查询到启动或下达的工单", workCenterCode, produceTime, shiftCode); // log.info("Pcn处理Q管理点检单生成JOB,生产线[{}]还未生成时间[{}]班次[{}]的Q管理点检单据,但未查询到启动或下达的工单", workCenterCode, produceTime, shiftCode);
continue; // continue;
} // }
//
if (CollectionUtils.isEmpty(processCodeList)) { // if (CollectionUtils.isEmpty(processCodeList)) {
log.info("Pcn处理Q管理点检单生成JOB,生产线[{}]还未生成时间[{}]班次[{}]的Q管理点检单据,但未配置工位工序关系", workCenterCode, produceTime, shiftCode); // log.info("Pcn处理Q管理点检单生成JOB,生产线[{}]还未生成时间[{}]班次[{}]的Q管理点检单据,但未配置工位工序关系", workCenterCode, produceTime, shiftCode);
continue; // continue;
} // }
//
if (CollectionUtils.isEmpty(processQManageList)) { // if (CollectionUtils.isEmpty(processQManageList)) {
log.info("Pcn处理Q管理点检单生成JOB,生产线[{}]还未生成时间[{}]班次[{}]的Q管理点检单据,但根据生产线查询到顺序最小的一个[{}]状态的工单[{}]关联的物料编码[{}]与工序代码{}未配置Q管理项目信息", // log.info("Pcn处理Q管理点检单生成JOB,生产线[{}]还未生成时间[{}]班次[{}]的Q管理点检单据,但根据生产线查询到顺序最小的一个[{}]状态的工单[{}]关联的物料编码[{}]与工序代码{}未配置Q管理项目信息",
workCenterCode, produceTime, shiftCode, MesPcnExtEnumUtil.WORK_ORDER_STATUS.valueOfDescription(workOrderExt.getWorkOrderStatus()), workOrderExt.getOrderNo(), workOrderExt.getPartNo(), processCodeList.toString()); // workCenterCode, produceTime, shiftCode, MesPcnExtEnumUtil.WORK_ORDER_STATUS.valueOfDescription(workOrderExt.getWorkOrderStatus()), workOrderExt.getOrderNo(), workOrderExt.getPartNo(), processCodeList.toString());
continue; // continue;
} // }
//
log.info("Pcn处理Q管理点检单生成JOB,生产线[{}]正在生成时间[{}]班次[{}]的Q管理单据", workCenterCode, produceTime, shiftCode); // log.info("Pcn处理Q管理点检单生成JOB,生产线[{}]正在生成时间[{}]班次[{}]的Q管理单据", workCenterCode, produceTime, shiftCode);
String orderNo = getOrderNo(organizeCode); // String orderNo = getOrderNo(organizeCode);
if (StringUtils.isEmpty(orderNo)) { // if (StringUtils.isEmpty(orderNo)) {
log.info("Pcn处理Q管理点检单生成JOB,生产线[{}]生成时间[{}]班次[{}]的Q管理单据时生成单据号失败", workCenterCode, produceTime, shiftCode); // log.info("Pcn处理Q管理点检单生成JOB,生产线[{}]生成时间[{}]班次[{}]的Q管理单据时生成单据号失败", workCenterCode, produceTime, shiftCode);
continue; // continue;
} // }
insertQManageCheckOrder(organizeCode, workCenterCode, shiftCode, produceTime, orderNo, processQManageList, processCodeMap); // insertQManageCheckOrder(organizeCode, workCenterCode, shiftCode, produceTime, orderNo, processQManageList, processCodeMap);
} // }
} // }
} // }
//
} // }
//
private List<String> getProcessCodeList(Map<String, List<MesProcessCell>> processCodeMap) { // private List<String> getProcessCodeList(Map<String, List<MesProcessCell>> processCodeMap) {
return CollectionUtils.isEmpty(processCodeMap) ? null : new ArrayList<>(processCodeMap.keySet()).stream().filter(o -> !StringUtils.isEmpty(o)).distinct().collect(Collectors.toList()); // return CollectionUtils.isEmpty(processCodeMap) ? null : new ArrayList<>(processCodeMap.keySet()).stream().filter(o -> !StringUtils.isEmpty(o)).distinct().collect(Collectors.toList());
} // }
//
private Map<String, List<MesProcessCell>> getProcessCodeMapByCenter(String organizeCode, String workCenterCode) { // private Map<String, List<MesProcessCell>> getProcessCodeMapByCenter(String organizeCode, String workCenterCode) {
List<MesProcessCell> processCellList = processCellRepository.findByProperty( // List<MesProcessCell> processCellList = processCellRepository.findByProperty(
new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.WORK_CENTER_CODE}, // new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.WORK_CENTER_CODE},
new Object[]{organizeCode, CommonEnumUtil.IS_VAILD.VAILD.getValue(), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), workCenterCode}); // new Object[]{organizeCode, CommonEnumUtil.IS_VAILD.VAILD.getValue(), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), workCenterCode});
return CollectionUtils.isEmpty(processCellList) ? null : // return CollectionUtils.isEmpty(processCellList) ? null :
processCellList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getProcessCode()))).collect(Collectors.groupingBy(MesProcessCell::getProcessCode)); // processCellList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getProcessCode()))).collect(Collectors.groupingBy(MesProcessCell::getProcessCode));
} // }
//
private List<MesProcessQManage> getProcessQManageList(MesWorkOrderExt workOrderExt, List<String> processCodeList) { // private List<MesProcessQManage> getProcessQManageList(MesWorkOrderExt workOrderExt, List<String> processCodeList) {
if (null == workOrderExt) return null; // if (null == workOrderExt) return null;
if (CollectionUtils.isEmpty(processCodeList)) return null; // if (CollectionUtils.isEmpty(processCodeList)) return null;
DdlPackBean packBean = DdlPackBean.getDdlPackBean(workOrderExt.getOrganizeCode()); // DdlPackBean packBean = DdlPackBean.getDdlPackBean(workOrderExt.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(workOrderExt.getPartNo(), MesPcnExtConstWords.PART_NO, packBean); // DdlPreparedPack.getStringEqualPack(workOrderExt.getPartNo(), MesPcnExtConstWords.PART_NO, packBean);
DdlPreparedPack.getInPackList(processCodeList, MesPcnExtConstWords.PROCESS_CODE, packBean); // DdlPreparedPack.getInPackList(processCodeList, MesPcnExtConstWords.PROCESS_CODE, packBean);
return processQManageRepository.findByHqlWhere(packBean); // return processQManageRepository.findByHqlWhere(packBean);
} // }
//
private List<MesOrderRule> getOrderRuleList(String organizeCode) { // private List<MesOrderRule> getOrderRuleList(String organizeCode) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode); // DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getNumEqualPack(MesPcnExtEnumUtil.MES_OR_TASK_TYPE.PREPARE_TASK.getValue(), MesPcnExtConstWords.TASK_TYPE, packBean); // DdlPreparedPack.getNumEqualPack(MesPcnExtEnumUtil.MES_OR_TASK_TYPE.PREPARE_TASK.getValue(), MesPcnExtConstWords.TASK_TYPE, packBean);
DdlPreparedPack.getNumEqualPack(MesPcnExtEnumUtil.MES_OR_ORDER_TYPE.Q_MANAGE.getValue(), MesPcnExtConstWords.ORDER_TYPE, packBean); // DdlPreparedPack.getNumEqualPack(MesPcnExtEnumUtil.MES_OR_ORDER_TYPE.Q_MANAGE.getValue(), MesPcnExtConstWords.ORDER_TYPE, packBean);
DdlPreparedPack.getNumEqualPack(MesPcnExtEnumUtil.MES_OR_CREATE_RULE.TIME_TO_CREATE.getValue(), MesPcnExtConstWords.CREATE_RULE, packBean); // DdlPreparedPack.getNumEqualPack(MesPcnExtEnumUtil.MES_OR_CREATE_RULE.TIME_TO_CREATE.getValue(), MesPcnExtConstWords.CREATE_RULE, packBean);
return orderRuleRepository.findByHqlWhere(packBean); // return orderRuleRepository.findByHqlWhere(packBean);
} // }
//
private List<MesOrderJob> getOrderJobList(String organizeCode, String workCenterCode, String shiftCode, String produceTime) { // private List<MesOrderJob> getOrderJobList(String organizeCode, String workCenterCode, String shiftCode, String produceTime) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode); // DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getNumEqualPack(MesPcnExtEnumUtil.MES_OR_TASK_TYPE.PREPARE_TASK.getValue(), MesPcnExtConstWords.TASK_TYPE, packBean); // DdlPreparedPack.getNumEqualPack(MesPcnExtEnumUtil.MES_OR_TASK_TYPE.PREPARE_TASK.getValue(), MesPcnExtConstWords.TASK_TYPE, packBean);
DdlPreparedPack.getNumEqualPack(MesPcnExtEnumUtil.MES_OR_ORDER_TYPE.Q_MANAGE.getValue(), MesPcnExtConstWords.ORDER_TYPE, packBean); // DdlPreparedPack.getNumEqualPack(MesPcnExtEnumUtil.MES_OR_ORDER_TYPE.Q_MANAGE.getValue(), MesPcnExtConstWords.ORDER_TYPE, packBean);
DdlPreparedPack.getNumEqualPack(MesPcnExtEnumUtil.HANDLER_METHOD.AUTOMATICALLY_CREATED.getValue(), MesPcnExtConstWords.HANDLER_METHOD, packBean); // DdlPreparedPack.getNumEqualPack(MesPcnExtEnumUtil.HANDLER_METHOD.AUTOMATICALLY_CREATED.getValue(), MesPcnExtConstWords.HANDLER_METHOD, packBean);
DdlPreparedPack.getStringEqualPack(workCenterCode, MesPcnExtConstWords.WORK_CENTER_CODE, packBean); // DdlPreparedPack.getStringEqualPack(workCenterCode, MesPcnExtConstWords.WORK_CENTER_CODE, packBean);
DdlPreparedPack.getStringEqualPack(shiftCode, MesPcnExtConstWords.SHIFT_CODE, packBean); // DdlPreparedPack.getStringEqualPack(shiftCode, MesPcnExtConstWords.SHIFT_CODE, packBean);
DdlPreparedPack.getStringEqualPack(TimeTool.getToday() + MesPcnExtConstWords.ONE_SPACE + produceTime, MesPcnExtConstWords.GENERATE_TIME, packBean); // DdlPreparedPack.getStringEqualPack(TimeTool.getToday() + MesPcnExtConstWords.ONE_SPACE + produceTime, MesPcnExtConstWords.GENERATE_TIME, packBean);
return orderJobRepository.findByHqlWhere(packBean); // return orderJobRepository.findByHqlWhere(packBean);
} // }
//
private String getCurShiftCode(String shiftCode, String organizeCode, String workCenterCode) { // private String getCurShiftCode(String shiftCode, String organizeCode, String workCenterCode) {
if (StringUtils.isEmpty(shiftCode)) { // if (StringUtils.isEmpty(shiftCode)) {
MesWorkCenterExt workCenterExt = workCenterExtService.getWorkCenterExtByWorkCenterCode(organizeCode, workCenterCode); // MesWorkCenterExt workCenterExt = workCenterExtService.getWorkCenterExtByWorkCenterCode(organizeCode, workCenterCode);
if (null != workCenterExt) { // if (null != workCenterExt) {
shiftCode = workCenterExt.getShiftCode(); // shiftCode = workCenterExt.getShiftCode();
} // }
} // }
return shiftCode; // return shiftCode;
} // }
//
private MesWorkOrderExt getWorkOrderByStatus(String organizeCode, String workCenterCode) { // private MesWorkOrderExt getWorkOrderByStatus(String organizeCode, String workCenterCode) {
MesWorkOrderExt workOrderExt = getWorkOrderByStatus(organizeCode, workCenterCode, MesPcnExtEnumUtil.WORK_ORDER_STATUS.OPEN.getValue()); // MesWorkOrderExt workOrderExt = getWorkOrderByStatus(organizeCode, workCenterCode, MesPcnExtEnumUtil.WORK_ORDER_STATUS.OPEN.getValue());
if (null == workOrderExt) { // if (null == workOrderExt) {
workOrderExt = getWorkOrderByStatus(organizeCode, workCenterCode, MesPcnExtEnumUtil.WORK_ORDER_STATUS.LANDED.getValue()); // workOrderExt = getWorkOrderByStatus(organizeCode, workCenterCode, MesPcnExtEnumUtil.WORK_ORDER_STATUS.LANDED.getValue());
} // }
return workOrderExt; // return workOrderExt;
} // }
//
private MesWorkOrderExt getWorkOrderByStatus(String organizeCode, String workCenterCode, Integer workOrderStatus) { // private MesWorkOrderExt getWorkOrderByStatus(String organizeCode, String workCenterCode, Integer workOrderStatus) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode); // DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getNumEqualPack(workOrderStatus, MesPcnExtConstWords.WORK_ORDER_STATUS, packBean); // DdlPreparedPack.getNumEqualPack(workOrderStatus, MesPcnExtConstWords.WORK_ORDER_STATUS, packBean);
DdlPreparedPack.getStringEqualPack(workCenterCode, MesPcnExtConstWords.WORK_CENTER_CODE, packBean); // DdlPreparedPack.getStringEqualPack(workCenterCode, MesPcnExtConstWords.WORK_CENTER_CODE, packBean);
DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.ASC.getValue()}, new String[]{MesPcnExtConstWords.SEQ}, packBean); // DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.ASC.getValue()}, new String[]{MesPcnExtConstWords.SEQ}, packBean);
return workOrderExtRepository.getByProperty(packBean); // return workOrderExtRepository.getByProperty(packBean);
} // }
//
private String getOrderNo(String organizeCode) { // private String getOrderNo(String organizeCode) {
String orderNo = null; // String orderNo = null;
try { // try {
BaseResultBean oneCodeResult = syncFuncService.syncSerialNo(new GenSerialNoModel(MesPcnExtConstWords.ORDER_NO_RULE), null, organizeCode, 1); // BaseResultBean oneCodeResult = syncFuncService.syncSerialNo(new GenSerialNoModel(MesPcnExtConstWords.ORDER_NO_RULE), null, organizeCode, 1);
if (oneCodeResult != null && oneCodeResult.isSuccess()) { // if (oneCodeResult != null && oneCodeResult.isSuccess()) {
orderNo = oneCodeResult.getResultList().get(0).toString(); // orderNo = oneCodeResult.getResultList().get(0).toString();
} // }
} catch (Exception e) { // } catch (Exception e) {
} // }
return orderNo; // return orderNo;
} // }
//
private void insertQManageCheckOrder(String organizeCode, String workCenterCode, String shiftCode, String produceTime, String orderNo, List<MesProcessQManage> processQManageList, Map<String, List<MesProcessCell>> processCodeMap) { // private void insertQManageCheckOrder(String organizeCode, String workCenterCode, String shiftCode, String produceTime, String orderNo, List<MesProcessQManage> processQManageList, Map<String, List<MesProcessCell>> processCodeMap) {
MesOrderJob orderJob = new MesOrderJob(); // MesOrderJob orderJob = new MesOrderJob();
orderJob.setTaskType(MesPcnExtEnumUtil.MES_OR_TASK_TYPE.PREPARE_TASK.getValue()); // orderJob.setTaskType(MesPcnExtEnumUtil.MES_OR_TASK_TYPE.PREPARE_TASK.getValue());
orderJob.setOrderType(MesPcnExtEnumUtil.MES_OR_ORDER_TYPE.Q_MANAGE.getValue()); // orderJob.setOrderType(MesPcnExtEnumUtil.MES_OR_ORDER_TYPE.Q_MANAGE.getValue());
orderJob.setHandlerMethod(MesPcnExtEnumUtil.HANDLER_METHOD.AUTOMATICALLY_CREATED.getValue()); // orderJob.setHandlerMethod(MesPcnExtEnumUtil.HANDLER_METHOD.AUTOMATICALLY_CREATED.getValue());
orderJob.setOrderNo(orderNo); // orderJob.setOrderNo(orderNo);
orderJob.setWorkCenterCode(workCenterCode); // orderJob.setWorkCenterCode(workCenterCode);
orderJob.setOrderStatus(MesPcnExtEnumUtil.MES_ORJ_ORDER_STATUS.CREATE.getValue()); // orderJob.setOrderStatus(MesPcnExtEnumUtil.MES_ORJ_ORDER_STATUS.CREATE.getValue());
orderJob.setOrderDate(TimeTool.getToday()); // orderJob.setOrderDate(TimeTool.getToday());
orderJob.setWorkTime(orderJob.getOrderDate()); // orderJob.setWorkTime(orderJob.getOrderDate());
orderJob.setGenerateTime(orderJob.getOrderDate() + MesPcnExtConstWords.ONE_SPACE + produceTime); // orderJob.setGenerateTime(orderJob.getOrderDate() + MesPcnExtConstWords.ONE_SPACE + produceTime);
orderJob.setShiftCode(shiftCode); // orderJob.setShiftCode(shiftCode);
orderJob.setOrganizeCode(organizeCode); // orderJob.setOrganizeCode(organizeCode);
ConvertBean.serviceModelInitialize(orderJob, MesPcnExtConstWords.JOB); // ConvertBean.serviceModelInitialize(orderJob, MesPcnExtConstWords.JOB);
orderJobRepository.insert(orderJob); // orderJobRepository.insert(orderJob);
//
for (MesProcessQManage processQManage : processQManageList) { // for (MesProcessQManage processQManage : processQManageList) {
MesQManageTaskDetail qManageTaskDetail = new MesQManageTaskDetail(); // MesQManageTaskDetail qManageTaskDetail = new MesQManageTaskDetail();
BeanUtils.copyProperties(processQManage, qManageTaskDetail, MesPcnExtConstWords.ID); // BeanUtils.copyProperties(processQManage, qManageTaskDetail, MesPcnExtConstWords.ID);
qManageTaskDetail.setOrderNo(orderNo); // qManageTaskDetail.setOrderNo(orderNo);
//
List<MesProcessCell> processCellList = processCodeMap.get(processQManage.getProcessCode()); // List<MesProcessCell> processCellList = processCodeMap.get(processQManage.getProcessCode());
if (!CollectionUtils.isEmpty(processCellList)) { // if (!CollectionUtils.isEmpty(processCellList)) {
qManageTaskDetail.setWorkCellCode(processCellList.get(0).getWorkCellCode()); // qManageTaskDetail.setWorkCellCode(processCellList.get(0).getWorkCellCode());
qManageTaskDetail.setWorkCellName(processCellList.get(0).getWorkCellName()); // qManageTaskDetail.setWorkCellName(processCellList.get(0).getWorkCellName());
qManageTaskDetail.setProcessName(processCellList.get(0).getProcessName()); // qManageTaskDetail.setProcessName(processCellList.get(0).getProcessName());
} // }
//
qManageTaskDetail.setIsTeamConfirm(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); // qManageTaskDetail.setIsTeamConfirm(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
qManageTaskDetail.setIsQualityConfirm(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); // qManageTaskDetail.setIsQualityConfirm(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
ConvertBean.serviceModelInitialize(qManageTaskDetail, MesPcnExtConstWords.JOB); // ConvertBean.serviceModelInitialize(qManageTaskDetail, MesPcnExtConstWords.JOB);
qManageTaskDetailRepository.insert(qManageTaskDetail); // qManageTaskDetailRepository.insert(qManageTaskDetail);
} // }
} // }
} //}

@ -1,5 +1,7 @@
package cn.estsh.i3plus.ext.mes.pcn.pojo.bean; package cn.estsh.i3plus.ext.mes.pcn.pojo.bean;
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtEnumUtil;
import cn.estsh.i3plus.pojo.base.annotation.AnnoOutputColumn;
import cn.estsh.i3plus.pojo.base.bean.BaseBean; import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
@ -26,7 +28,7 @@ import java.io.Serializable;
@Table(name = "MES_FIRST_ORDER_DETAIL", indexes = { @Table(name = "MES_FIRST_ORDER_DETAIL", indexes = {
@Index(columnList = "ORDER_NO") @Index(columnList = "ORDER_NO")
}) })
@Api("MES_首检单明细") @Api("MES_首检单明细改为Q管理")
public class MesFirstOrderDetail extends BaseBean implements Serializable { public class MesFirstOrderDetail extends BaseBean implements Serializable {
private static final long serialVersionUID = -111793151238704774L; private static final long serialVersionUID = -111793151238704774L;
@ -116,6 +118,27 @@ public class MesFirstOrderDetail extends BaseBean implements Serializable {
@ApiParam("结果值") @ApiParam("结果值")
private String resultValue; private String resultValue;
@Column(name = "MANAGE_TYPE")
@ApiParam("管理类型10-比值类型20-结果类型")
@AnnoOutputColumn(refClass = MesPcnExtEnumUtil.Q_MANAGE_MANAGE_TYPE.class, refForeignKey = "value", value = "description")
private String manageType;
@Column(name = "IMPORTANCE_SAFE_PART_NO")
@ApiParam("重要安全部品编码")
private String importanceSafePartNo;
@Column(name = "CHECK_FREQUENCY")
@ApiParam("检查频度")
private String checkFrequency;
@Column(name = "SAMPLE_QTY")
@ApiParam("样品数量")
private String sampleQty;
@Column(name = "CONFIRM_METHOD")
@ApiParam("确认方法")
private String confirmMethod;
@Transient @Transient
@ApiParam("生产工单号") @ApiParam("生产工单号")
private String workOrderNo; private String workOrderNo;

@ -1,5 +1,7 @@
package cn.estsh.i3plus.ext.mes.pcn.pojo.bean; package cn.estsh.i3plus.ext.mes.pcn.pojo.bean;
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtEnumUtil;
import cn.estsh.i3plus.pojo.base.annotation.AnnoOutputColumn;
import cn.estsh.i3plus.pojo.base.bean.BaseBean; import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
@ -64,4 +66,25 @@ public class MesProcessFirstItem extends BaseBean implements Serializable {
@ApiParam("下限值") @ApiParam("下限值")
private String downLimit; private String downLimit;
@Column(name = "MANAGE_TYPE")
@ApiParam("管理类型10-比值类型20-结果类型")
@AnnoOutputColumn(refClass = MesPcnExtEnumUtil.Q_MANAGE_MANAGE_TYPE.class, refForeignKey = "value", value = "description")
private String manageType;
@Column(name = "IMPORTANCE_SAFE_PART_NO")
@ApiParam("重要安全部品编码")
private String importanceSafePartNo;
@Column(name = "CHECK_FREQUENCY")
@ApiParam("检查频度")
private String checkFrequency;
@Column(name = "SAMPLE_QTY")
@ApiParam("样品数量")
private String sampleQty;
@Column(name = "CONFIRM_METHOD")
@ApiParam("确认方法")
private String confirmMethod;
} }

@ -3206,4 +3206,49 @@ public class MesPcnExtEnumUtil {
return tmp; return tmp;
} }
} }
/**
* Q
*/
public static enum Q_MANAGE_MANAGE_TYPE {
COMPARE_TYPE("10", "比值类型"),
RESULT_TYPE("20", "结果类型")
;
private String value;
private String description;
Q_MANAGE_MANAGE_TYPE(String value, String description) {
this.value = value;
this.description = description;
}
public String getValue() {
return value;
}
public String getDescription() {
return description;
}
public static String valueOfDescription(String val) {
String tmp = null;
for (int i = 0; i < values().length; i++) {
if (values()[i].value.equals(val)) {
tmp = values()[i].description;
}
}
return tmp;
}
public static String descriptionOfValue(String description) {
String tmp = null;
for (int i = 0; i < values().length; i++) {
if (values()[i].description.equals(description)) {
tmp = values()[i].value;
}
}
return tmp;
}
}
} }

Loading…
Cancel
Save