工单首检更改为Q管理
parent
474ef6c08f
commit
e02d45e8a0
@ -1,25 +1,25 @@
|
||||
package cn.estsh.i3plus.ext.mes.pcn.api.base.bu3;
|
||||
|
||||
/**
|
||||
* @Author: xinwang.yi
|
||||
* @CreateDate: 2023/04/17 9:31 上午
|
||||
* @Description:
|
||||
**/
|
||||
public interface IBuQManageService {
|
||||
|
||||
/**
|
||||
* 生成周点检
|
||||
* @param organizeCode 工厂代码
|
||||
* @param workCenterCode 产线代码
|
||||
*/
|
||||
//void generateWeekCheck(String organizeCode, String workCenterCode);
|
||||
|
||||
/**
|
||||
* 生成月点检
|
||||
* @param organizeCode 工厂代码
|
||||
* @param workCenterCode 产线代码
|
||||
*/
|
||||
void generateMonthCheck(String organizeCode, String workCenterCode);
|
||||
|
||||
|
||||
}
|
||||
//package cn.estsh.i3plus.ext.mes.pcn.api.base.bu3;
|
||||
//
|
||||
///**
|
||||
// * @Author: xinwang.yi
|
||||
// * @CreateDate: 2023/04/17 9:31 上午
|
||||
// * @Description:
|
||||
// **/
|
||||
//public interface IBuQManageService {
|
||||
//
|
||||
// /**
|
||||
// * 生成周点检
|
||||
// * @param organizeCode 工厂代码
|
||||
// * @param workCenterCode 产线代码
|
||||
// */
|
||||
// //void generateWeekCheck(String organizeCode, String workCenterCode);
|
||||
//
|
||||
// /**
|
||||
// * 生成月点检
|
||||
// * @param organizeCode 工厂代码
|
||||
// * @param workCenterCode 产线代码
|
||||
// */
|
||||
// void generateMonthCheck(String organizeCode, String workCenterCode);
|
||||
//
|
||||
//
|
||||
//}
|
||||
|
@ -1,63 +1,63 @@
|
||||
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.model.ep.EpEquipmentCheckDetailModel;
|
||||
import cn.estsh.i3plus.pojo.base.bean.ListPager;
|
||||
import cn.estsh.i3plus.pojo.base.common.Pager;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface IEpEquipmentCheckDetailService {
|
||||
/**
|
||||
* 查询
|
||||
* @param equipmentCheck
|
||||
* @param pager
|
||||
* @return
|
||||
*/
|
||||
ListPager<EpEquipmentCheckDetailModel> queryByPager(MesEpEquipmentCheckDetail equipmentCheck, Pager pager);
|
||||
|
||||
/**
|
||||
* 新增
|
||||
* @param equipmentCheck
|
||||
* @return
|
||||
*/
|
||||
MesEpEquipmentCheckDetail insert(MesEpEquipmentCheckDetail equipmentCheck);
|
||||
|
||||
/**
|
||||
* 修改
|
||||
*
|
||||
* @param equipmentCheck
|
||||
* @return
|
||||
*/
|
||||
void update(MesEpEquipmentCheckDetail equipmentCheck);
|
||||
|
||||
/**
|
||||
* 根据
|
||||
*
|
||||
* @param id
|
||||
* @param status
|
||||
* @return
|
||||
*/
|
||||
int updateIsValidById(long id, Integer status);
|
||||
|
||||
/**
|
||||
* 查询工位
|
||||
* @param detail
|
||||
* @return
|
||||
*/
|
||||
List<String> queryCell(MesEpEquipmentCheckDetail detail);
|
||||
|
||||
/**
|
||||
* 生成月点检
|
||||
* @param organizeCode
|
||||
* @param workCenterCode
|
||||
*/
|
||||
void generateWeekCheck(String organizeCode, String workCenterCode);
|
||||
|
||||
/**
|
||||
* 生成周点检
|
||||
* @param organizeCode
|
||||
* @param workCenterCode
|
||||
*/
|
||||
void generateMonthCheck(String organizeCode, String workCenterCode);
|
||||
}
|
||||
//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.model.ep.EpEquipmentCheckDetailModel;
|
||||
//import cn.estsh.i3plus.pojo.base.bean.ListPager;
|
||||
//import cn.estsh.i3plus.pojo.base.common.Pager;
|
||||
//
|
||||
//import java.util.List;
|
||||
//
|
||||
//public interface IEpEquipmentCheckDetailService {
|
||||
// /**
|
||||
// * 查询
|
||||
// * @param equipmentCheck
|
||||
// * @param pager
|
||||
// * @return
|
||||
// */
|
||||
// ListPager<EpEquipmentCheckDetailModel> queryByPager(MesEpEquipmentCheckDetail equipmentCheck, Pager pager);
|
||||
//
|
||||
// /**
|
||||
// * 新增
|
||||
// * @param equipmentCheck
|
||||
// * @return
|
||||
// */
|
||||
// MesEpEquipmentCheckDetail insert(MesEpEquipmentCheckDetail equipmentCheck);
|
||||
//
|
||||
// /**
|
||||
// * 修改
|
||||
// *
|
||||
// * @param equipmentCheck
|
||||
// * @return
|
||||
// */
|
||||
// void update(MesEpEquipmentCheckDetail equipmentCheck);
|
||||
//
|
||||
// /**
|
||||
// * 根据
|
||||
// *
|
||||
// * @param id
|
||||
// * @param status
|
||||
// * @return
|
||||
// */
|
||||
// int updateIsValidById(long id, Integer status);
|
||||
//
|
||||
// /**
|
||||
// * 查询工位
|
||||
// * @param detail
|
||||
// * @return
|
||||
// */
|
||||
// List<String> queryCell(MesEpEquipmentCheckDetail detail);
|
||||
//
|
||||
// /**
|
||||
// * 生成月点检
|
||||
// * @param organizeCode
|
||||
// * @param workCenterCode
|
||||
// */
|
||||
// void generateWeekCheck(String organizeCode, String workCenterCode);
|
||||
//
|
||||
// /**
|
||||
// * 生成周点检
|
||||
// * @param organizeCode
|
||||
// * @param workCenterCode
|
||||
// */
|
||||
// void generateMonthCheck(String organizeCode, String workCenterCode);
|
||||
//}
|
||||
|
@ -1,56 +1,56 @@
|
||||
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.platform.common.util.CommonConstWords;
|
||||
import cn.estsh.impp.framework.base.controller.MesPcnBaseController;
|
||||
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
|
||||
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
|
||||
import cn.estsh.impp.framework.boot.util.ResultBean;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* @Author: xinwang.yi
|
||||
* @CreateDate: 2023/04/17 09:14
|
||||
* @Description:
|
||||
**/
|
||||
@RestController
|
||||
@Api(tags = "Q管理作业")
|
||||
@RequestMapping(CommonConstWords.BASE_URL_MES_PCN + "/bu/q-manage")
|
||||
public class BuQManageController extends MesPcnBaseController {
|
||||
|
||||
@Autowired
|
||||
private IBuQManageService qManageService;
|
||||
|
||||
//@PostMapping("/generate-week")
|
||||
//@ApiOperation(value = "生成周点检")
|
||||
//public ResultBean generateWeekCheck(String organizeCode, String workCenterCode) {
|
||||
//
|
||||
// try {
|
||||
// qManageService.generateWeekCheck(organizeCode, workCenterCode);
|
||||
// return ResultBean.success("扫描成功");
|
||||
// } catch (ImppBusiException busExcep) {
|
||||
// return ResultBean.fail(busExcep);
|
||||
// } catch (Exception e) {
|
||||
// return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
|
||||
// }
|
||||
//}
|
||||
|
||||
@PostMapping("/generate-month")
|
||||
@ApiOperation(value = "生成月点检")
|
||||
public ResultBean generateMonthCheck(String organizeCode, String workCenterCode) {
|
||||
|
||||
try {
|
||||
qManageService.generateMonthCheck(organizeCode, workCenterCode);
|
||||
return ResultBean.success("生成成功");
|
||||
} catch (ImppBusiException busExcep) {
|
||||
return ResultBean.fail(busExcep);
|
||||
} catch (Exception e) {
|
||||
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
//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.platform.common.util.CommonConstWords;
|
||||
//import cn.estsh.impp.framework.base.controller.MesPcnBaseController;
|
||||
//import cn.estsh.impp.framework.boot.exception.ImppBusiException;
|
||||
//import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
|
||||
//import cn.estsh.impp.framework.boot.util.ResultBean;
|
||||
//import io.swagger.annotations.Api;
|
||||
//import io.swagger.annotations.ApiOperation;
|
||||
//import org.springframework.beans.factory.annotation.Autowired;
|
||||
//import org.springframework.web.bind.annotation.PostMapping;
|
||||
//import org.springframework.web.bind.annotation.RequestMapping;
|
||||
//import org.springframework.web.bind.annotation.RestController;
|
||||
//
|
||||
///**
|
||||
// * @Author: xinwang.yi
|
||||
// * @CreateDate: 2023/04/17 09:14
|
||||
// * @Description:
|
||||
// **/
|
||||
//@RestController
|
||||
//@Api(tags = "Q管理作业")
|
||||
//@RequestMapping(CommonConstWords.BASE_URL_MES_PCN + "/bu/q-manage")
|
||||
//public class BuQManageController extends MesPcnBaseController {
|
||||
//
|
||||
// @Autowired
|
||||
// private IBuQManageService qManageService;
|
||||
//
|
||||
// //@PostMapping("/generate-week")
|
||||
// //@ApiOperation(value = "生成周点检")
|
||||
// //public ResultBean generateWeekCheck(String organizeCode, String workCenterCode) {
|
||||
// //
|
||||
// // try {
|
||||
// // qManageService.generateWeekCheck(organizeCode, workCenterCode);
|
||||
// // return ResultBean.success("扫描成功");
|
||||
// // } catch (ImppBusiException busExcep) {
|
||||
// // return ResultBean.fail(busExcep);
|
||||
// // } catch (Exception e) {
|
||||
// // return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
|
||||
// // }
|
||||
// //}
|
||||
//
|
||||
// @PostMapping("/generate-month")
|
||||
// @ApiOperation(value = "生成月点检")
|
||||
// public ResultBean generateMonthCheck(String organizeCode, String workCenterCode) {
|
||||
//
|
||||
// try {
|
||||
// qManageService.generateMonthCheck(organizeCode, workCenterCode);
|
||||
// return ResultBean.success("生成成功");
|
||||
// } catch (ImppBusiException busExcep) {
|
||||
// return ResultBean.fail(busExcep);
|
||||
// } catch (Exception e) {
|
||||
// return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
|
@ -1,122 +1,122 @@
|
||||
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.IEpMesOrderJobService;
|
||||
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.platform.common.util.CommonConstWords;
|
||||
import cn.estsh.i3plus.pojo.base.common.Pager;
|
||||
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
|
||||
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
|
||||
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
|
||||
import cn.estsh.impp.framework.boot.util.ResultBean;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
/**
|
||||
* @PROJECT_NAME: i3plus-mes-panasonic-dev
|
||||
* @DESCRIPTION:
|
||||
* @USER: xinwang.yi
|
||||
* @DATE: 2021-12-13 17:08
|
||||
*/
|
||||
@RestController
|
||||
@Api(tags = "EP设备点检")
|
||||
@RequestMapping(CommonConstWords.BASE_URL_MES_PCN + "/ep-ext/order-job")
|
||||
public class EpEquipmentCheckDetailController {
|
||||
|
||||
@Autowired
|
||||
private IEpEquipmentCheckDetailService mesEquipmentCheckService;
|
||||
|
||||
@Autowired
|
||||
private IEpMesOrderJobService orderJobService;
|
||||
|
||||
@GetMapping("/equipment-check-detail/query")
|
||||
@ApiOperation(value = "条件分页查询设备点检详细")
|
||||
public ResultBean queryPager(MesEpEquipmentCheckDetail detail, Pager pager) {
|
||||
try {
|
||||
return ResultBean.success("查询成功").setListPager(this.mesEquipmentCheckService.queryByPager(detail, pager))
|
||||
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
|
||||
} catch (ImppBusiException busExcep) {
|
||||
return ResultBean.fail(busExcep);
|
||||
} catch (Exception e) {
|
||||
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 物料点检作业
|
||||
*
|
||||
* @param detail
|
||||
* @return
|
||||
*/
|
||||
@PutMapping("/equipment-check-detail/update")
|
||||
@ApiOperation(value = "修改")
|
||||
public ResultBean update(@RequestBody MesEpEquipmentCheckDetail detail) {
|
||||
try {
|
||||
this.mesEquipmentCheckService.update(detail);
|
||||
return ResultBean.success("扫描成功")
|
||||
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
|
||||
} catch (ImppBusiException busExcep) {
|
||||
return ResultBean.fail(busExcep);
|
||||
} catch (Exception e) {
|
||||
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
|
||||
}
|
||||
}
|
||||
|
||||
@GetMapping("/equipment-check/query")
|
||||
@ApiOperation(value = "条件分页查询单据")
|
||||
public ResultBean queryPager(EpOrderJobModel orderJob) {
|
||||
try {
|
||||
return ResultBean.success("查询成功").setResultList(orderJobService.queryMesOrderJob(orderJob))
|
||||
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
|
||||
} catch (ImppBusiException busExcep) {
|
||||
return ResultBean.fail(busExcep);
|
||||
} catch (Exception e) {
|
||||
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
|
||||
}
|
||||
}
|
||||
|
||||
@PostMapping("/equipment-check/generate-week")
|
||||
@ApiOperation(value = "生成周点检")
|
||||
public ResultBean generateWeekCheck(String organizeCode, String workCenterCode) {
|
||||
|
||||
try {
|
||||
mesEquipmentCheckService.generateWeekCheck(organizeCode, workCenterCode);
|
||||
return ResultBean.success("生成成功");
|
||||
} catch (ImppBusiException busExcep) {
|
||||
return ResultBean.fail(busExcep);
|
||||
} catch (Exception e) {
|
||||
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
|
||||
}
|
||||
}
|
||||
|
||||
@PostMapping("/equipment-check/generate-month")
|
||||
@ApiOperation(value = "生成月点检")
|
||||
public ResultBean generateMonthCheck(String organizeCode, String workCenterCode) {
|
||||
|
||||
try {
|
||||
mesEquipmentCheckService.generateMonthCheck(organizeCode, workCenterCode);
|
||||
return ResultBean.success("生成成功");
|
||||
} catch (ImppBusiException busExcep) {
|
||||
return ResultBean.fail(busExcep);
|
||||
} catch (Exception e) {
|
||||
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
|
||||
}
|
||||
}
|
||||
|
||||
@GetMapping("/query-cell")
|
||||
@ApiOperation(value = "查询工序代码下拉框")
|
||||
public ResultBean queryCell(MesEpEquipmentCheckDetail detail) {
|
||||
try {
|
||||
return ResultBean.success("查询成功").setResultList(this.mesEquipmentCheckService.queryCell(detail))
|
||||
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
|
||||
} catch (ImppBusiException busExcep) {
|
||||
return ResultBean.fail(busExcep);
|
||||
} catch (Exception e) {
|
||||
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
//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.IEpMesOrderJobService;
|
||||
//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.platform.common.util.CommonConstWords;
|
||||
//import cn.estsh.i3plus.pojo.base.common.Pager;
|
||||
//import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
|
||||
//import cn.estsh.impp.framework.boot.exception.ImppBusiException;
|
||||
//import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
|
||||
//import cn.estsh.impp.framework.boot.util.ResultBean;
|
||||
//import io.swagger.annotations.Api;
|
||||
//import io.swagger.annotations.ApiOperation;
|
||||
//import org.springframework.beans.factory.annotation.Autowired;
|
||||
//import org.springframework.web.bind.annotation.*;
|
||||
//
|
||||
///**
|
||||
// * @PROJECT_NAME: i3plus-mes-panasonic-dev
|
||||
// * @DESCRIPTION:
|
||||
// * @USER: xinwang.yi
|
||||
// * @DATE: 2021-12-13 17:08
|
||||
// */
|
||||
//@RestController
|
||||
//@Api(tags = "EP设备点检")
|
||||
//@RequestMapping(CommonConstWords.BASE_URL_MES_PCN + "/ep-ext/order-job")
|
||||
//public class EpEquipmentCheckDetailController {
|
||||
//
|
||||
// @Autowired
|
||||
// private IEpEquipmentCheckDetailService mesEquipmentCheckService;
|
||||
//
|
||||
// @Autowired
|
||||
// private IEpMesOrderJobService orderJobService;
|
||||
//
|
||||
// @GetMapping("/equipment-check-detail/query")
|
||||
// @ApiOperation(value = "条件分页查询设备点检详细")
|
||||
// public ResultBean queryPager(MesEpEquipmentCheckDetail detail, Pager pager) {
|
||||
// try {
|
||||
// return ResultBean.success("查询成功").setListPager(this.mesEquipmentCheckService.queryByPager(detail, pager))
|
||||
// .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
|
||||
// } catch (ImppBusiException busExcep) {
|
||||
// return ResultBean.fail(busExcep);
|
||||
// } catch (Exception e) {
|
||||
// return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 物料点检作业
|
||||
// *
|
||||
// * @param detail
|
||||
// * @return
|
||||
// */
|
||||
// @PutMapping("/equipment-check-detail/update")
|
||||
// @ApiOperation(value = "修改")
|
||||
// public ResultBean update(@RequestBody MesEpEquipmentCheckDetail detail) {
|
||||
// try {
|
||||
// this.mesEquipmentCheckService.update(detail);
|
||||
// return ResultBean.success("扫描成功")
|
||||
// .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
|
||||
// } catch (ImppBusiException busExcep) {
|
||||
// return ResultBean.fail(busExcep);
|
||||
// } catch (Exception e) {
|
||||
// return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// @GetMapping("/equipment-check/query")
|
||||
// @ApiOperation(value = "条件分页查询单据")
|
||||
// public ResultBean queryPager(EpOrderJobModel orderJob) {
|
||||
// try {
|
||||
// return ResultBean.success("查询成功").setResultList(orderJobService.queryMesOrderJob(orderJob))
|
||||
// .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
|
||||
// } catch (ImppBusiException busExcep) {
|
||||
// return ResultBean.fail(busExcep);
|
||||
// } catch (Exception e) {
|
||||
// return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// @PostMapping("/equipment-check/generate-week")
|
||||
// @ApiOperation(value = "生成周点检")
|
||||
// public ResultBean generateWeekCheck(String organizeCode, String workCenterCode) {
|
||||
//
|
||||
// try {
|
||||
// mesEquipmentCheckService.generateWeekCheck(organizeCode, workCenterCode);
|
||||
// return ResultBean.success("生成成功");
|
||||
// } catch (ImppBusiException busExcep) {
|
||||
// return ResultBean.fail(busExcep);
|
||||
// } catch (Exception e) {
|
||||
// return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// @PostMapping("/equipment-check/generate-month")
|
||||
// @ApiOperation(value = "生成月点检")
|
||||
// public ResultBean generateMonthCheck(String organizeCode, String workCenterCode) {
|
||||
//
|
||||
// try {
|
||||
// mesEquipmentCheckService.generateMonthCheck(organizeCode, workCenterCode);
|
||||
// return ResultBean.success("生成成功");
|
||||
// } catch (ImppBusiException busExcep) {
|
||||
// return ResultBean.fail(busExcep);
|
||||
// } catch (Exception e) {
|
||||
// return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// @GetMapping("/query-cell")
|
||||
// @ApiOperation(value = "查询工序代码下拉框")
|
||||
// public ResultBean queryCell(MesEpEquipmentCheckDetail detail) {
|
||||
// try {
|
||||
// return ResultBean.success("查询成功").setResultList(this.mesEquipmentCheckService.queryCell(detail))
|
||||
// .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
|
||||
// } catch (ImppBusiException busExcep) {
|
||||
// return ResultBean.fail(busExcep);
|
||||
// } catch (Exception e) {
|
||||
// return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
//}
|
||||
|
@ -1,257 +1,257 @@
|
||||
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.IWorkOrderStartService;
|
||||
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.util.MesPcnExtConstWords;
|
||||
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtEnumUtil;
|
||||
import cn.estsh.i3plus.mes.pcn.api.iservice.busi.ISyncFuncService;
|
||||
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
|
||||
import cn.estsh.i3plus.platform.common.tool.TimeTool;
|
||||
import cn.estsh.i3plus.pojo.base.bean.BaseResultBean;
|
||||
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
|
||||
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
|
||||
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
|
||||
import cn.estsh.i3plus.pojo.mes.model.GenSerialNoModel;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @author wangjie
|
||||
* @version 1.0
|
||||
* @date 2021/1/13 9:28
|
||||
**/
|
||||
@Slf4j
|
||||
@Service("qManageOrderService")
|
||||
public class QManageOrderService implements IWorkOrderStartService {
|
||||
|
||||
@Autowired
|
||||
private MesWorkCenterExtRepository workCenterExtRepository;
|
||||
|
||||
@Autowired
|
||||
private MesOrderRuleRepository orderRuleRepository;
|
||||
|
||||
@Autowired
|
||||
private MesProcessCellRepository processCellRepository;
|
||||
|
||||
@Autowired
|
||||
private MesProcessQManageRepository processQManageRepository;
|
||||
|
||||
@Autowired
|
||||
private MesOrderJobRepository orderJobRepository;
|
||||
|
||||
@Autowired
|
||||
private MesQManageTaskDetailRepository qManageTaskDetailRepository;
|
||||
|
||||
@Autowired
|
||||
private ISyncFuncService syncFuncService;
|
||||
|
||||
@Autowired
|
||||
private ICheckErrorLogService checkErrorLogService;
|
||||
|
||||
@Override
|
||||
public void doGenCheckOrder(MesWorkOrderExt workOrderExt, String userInfo) {
|
||||
MesCheckErrorLog checkErrorLog = new MesCheckErrorLog();
|
||||
checkErrorLog.setGenerationMethod(MesPcnExtEnumUtil.GENERATION_METHOD.FROM_WORK_ORDER_START.getValue());
|
||||
checkErrorLog.setGeneratingModule(MesPcnExtEnumUtil.MES_OR_ORDER_TYPE.Q_MANAGE.getDescription());
|
||||
|
||||
String msg;
|
||||
try {
|
||||
MesWorkCenterExt workCenterExt = workCenterExtRepository.getByProperty(
|
||||
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()});
|
||||
if (null == workCenterExt) {
|
||||
msg = String.format("Q管理生成单据:工单[%s]生产线[%s]无效", workOrderExt.getOrderNo(), workOrderExt.getWorkCenterCode());
|
||||
log.info(msg);
|
||||
checkErrorLogService.insertCheckErrorLog(checkErrorLog, msg, userInfo);
|
||||
return;
|
||||
}
|
||||
if (StringUtils.isEmpty(workCenterExt.getShiftCode()) || StringUtils.isEmpty(workCenterExt.getWorkTime())) {
|
||||
msg = String.format("Q管理生成单据:工单[%s]生产线[%s]未启动班次", workOrderExt.getOrderNo(), workOrderExt.getWorkCenterCode());
|
||||
log.info(msg);
|
||||
checkErrorLogService.insertCheckErrorLog(checkErrorLog, msg, userInfo);
|
||||
return;
|
||||
}
|
||||
List<MesOrderRule> orderRuleList = orderRuleRepository.findByProperty(
|
||||
new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.IS_DELETED,
|
||||
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(),
|
||||
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 :
|
||||
orderRuleList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getShiftCode()) && o.getShiftCode().equals(workCenterExt.getShiftCode()))).findFirst();
|
||||
if (null == orderRuleOp || !orderRuleOp.isPresent()) {
|
||||
orderRuleOp = CollectionUtils.isEmpty(orderRuleList) ? null : orderRuleList.stream().filter(o -> (null != o && StringUtils.isEmpty(o.getShiftCode()))).findFirst();
|
||||
}
|
||||
if (null == orderRuleOp || !orderRuleOp.isPresent()) {
|
||||
msg = String.format("Q管理生成单据:工单[%s]未配置生产线代码[%s][工单创建][Q管理]班次为[%s]或班次为空的单据规则信息,请检查", workOrderExt.getOrderNo(), workOrderExt.getWorkCenterCode(), workCenterExt.getShiftCode());
|
||||
log.info(msg);
|
||||
checkErrorLogService.insertCheckErrorLog(checkErrorLog, msg, userInfo);
|
||||
return;
|
||||
}
|
||||
|
||||
List<MesProcessCell> processCellList = processCellRepository.findByProperty(
|
||||
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()});
|
||||
Map<String, List<MesProcessCell>> processCodeMap = CollectionUtils.isEmpty(processCellList) ? null :
|
||||
processCellList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getProcessCode()))).collect(Collectors.groupingBy(MesProcessCell::getProcessCode));
|
||||
if (CollectionUtils.isEmpty(processCodeMap)) {
|
||||
msg = String.format("Q管理生成单据:工单[%s]生产线代码[%s]未维护工序工位信息", workOrderExt.getOrderNo(), workOrderExt.getWorkCenterCode());
|
||||
log.info(msg);
|
||||
checkErrorLogService.insertCheckErrorLog(checkErrorLog, msg, userInfo);
|
||||
return;
|
||||
}
|
||||
List<String> processCodeList = new ArrayList<>(processCodeMap.keySet());
|
||||
|
||||
DdlPackBean packBean = DdlPackBean.getDdlPackBean(workOrderExt.getOrganizeCode());
|
||||
DdlPreparedPack.getStringEqualPack(workOrderExt.getPartNo(), MesPcnExtConstWords.PART_NO, packBean);
|
||||
DdlPreparedPack.getInPackList(processCodeList, MesPcnExtConstWords.PROCESS_CODE, 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());
|
||||
if (CollectionUtils.isEmpty(processQManageList)) {
|
||||
msg = String.format("Q管理生成单据:工单[%s]物料编码[%s]与工序代码%s未配置Q管理项目信息,请检查", workOrderExt.getOrderNo(), workOrderExt.getPartNo(), processCodeList.toString());
|
||||
log.info(msg);
|
||||
checkErrorLogService.insertCheckErrorLog(checkErrorLog, msg, userInfo);
|
||||
return;
|
||||
}
|
||||
|
||||
//根据单据类型【Q管理】、产线代码和产线信息中的班次代码、生产日期获取Q管理单信息
|
||||
packBean = DdlPackBean.getDdlPackBean(workOrderExt.getOrganizeCode());
|
||||
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(workCenterExt.getShiftCode(), MesPcnExtConstWords.SHIFT_CODE, packBean);
|
||||
DdlPreparedPack.getStringEqualPack(workCenterExt.getWorkTime(), MesPcnExtConstWords.WORK_TIME, packBean);
|
||||
DdlPreparedPack.getStringEqualPack(workOrderExt.getOrderNo(), MesPcnExtConstWords.WORK_ORDER_NO, packBean);
|
||||
List<MesOrderJob> orderJobList = orderJobRepository.findByHqlWhere(packBean);
|
||||
if (CollectionUtils.isEmpty(orderJobList)) {
|
||||
String orderNo = insertMesOrderJob(workOrderExt, workCenterExt, orderRuleOp.get().getTaskType(), userInfo, checkErrorLog);
|
||||
if (StringUtils.isEmpty(orderNo)) {
|
||||
return;
|
||||
}
|
||||
insertMesQManageTaskDetail(orderNo, processQManageList, processCodeMap, userInfo);
|
||||
}else {
|
||||
msg = String.format("Q管理点检生成单据:工单[%s]已经生成过Q管理作业点检单", workOrderExt.getOrderNo());
|
||||
log.info(msg);
|
||||
checkErrorLogService.insertCheckErrorLog(checkErrorLog, msg, userInfo);
|
||||
return;
|
||||
}
|
||||
/*else {
|
||||
//根据作业单号查询明细数据
|
||||
List<MesQManageTaskDetail> qManageTaskDetailList = new ArrayList<>();
|
||||
List<String> orderNoList = orderJobList.stream().filter(o -> null != o).map(MesOrderJob::getOrderNo).collect(Collectors.toList());
|
||||
for (String orderNo : orderNoList) {
|
||||
if (StringUtils.isEmpty(orderNo)) {
|
||||
continue;
|
||||
}
|
||||
packBean = DdlPackBean.getDdlPackBean(workOrderExt.getOrganizeCode());
|
||||
DdlPreparedPack.getStringEqualPack(orderNo, MesPcnExtConstWords.ORDER_NO, packBean);
|
||||
qManageTaskDetailList.addAll(qManageTaskDetailRepository.findByHqlWhere(packBean));
|
||||
}
|
||||
|
||||
Map<String, List<MesProcessQManage>> processQManageDbMap = CollectionUtils.isEmpty(processQManageList) ? null :
|
||||
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()));
|
||||
|
||||
Map<String, List<MesQManageTaskDetail>> qManageTaskDetailDbMap = CollectionUtils.isEmpty(qManageTaskDetailList) ? null :
|
||||
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()));
|
||||
|
||||
List<MesProcessQManage> newProcessQManageList = null;
|
||||
//获取两个存在差异的数据
|
||||
for (String key : processQManageDbMap.keySet()) {
|
||||
if (CollectionUtils.isEmpty(qManageTaskDetailDbMap) || !qManageTaskDetailDbMap.containsKey(key)) {
|
||||
if (CollectionUtils.isEmpty(newProcessQManageList)) {
|
||||
newProcessQManageList = new ArrayList<>();
|
||||
}
|
||||
newProcessQManageList.addAll(processQManageDbMap.get(key));
|
||||
}
|
||||
}
|
||||
|
||||
if (!CollectionUtils.isEmpty(newProcessQManageList)) {
|
||||
String orderNo = insertMesOrderJob(workOrderExt, workCenterExt, orderRuleOp.get().getTaskType(), userInfo, checkErrorLog);
|
||||
if (StringUtils.isEmpty(orderNo)) {
|
||||
return;
|
||||
}
|
||||
insertMesQManageTaskDetail(orderNo, newProcessQManageList, processCodeMap, userInfo);
|
||||
}
|
||||
}*/
|
||||
} catch (Exception e) {
|
||||
checkErrorLogService.insertCheckErrorLog(checkErrorLog, e.getMessage(), userInfo);
|
||||
log.info(e.getMessage());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
private String insertMesOrderJob(MesWorkOrderExt workOrderExt, MesWorkCenterExt workCenterExt, Integer taskType, String userInfo, MesCheckErrorLog checkErrorLog){
|
||||
List<String> orderNoList = getOrderNoByRuleCode(1,
|
||||
MesPcnExtConstWords.ORDER_NO_RULE, new GenSerialNoModel(), userInfo, workOrderExt.getOrganizeCode());
|
||||
if (CollectionUtils.isEmpty(orderNoList)) {
|
||||
String msg = String.format("Q管理生成单据:工单[%s]单据编号未生成成功", workOrderExt.getOrderNo());
|
||||
log.info(msg);
|
||||
checkErrorLogService.insertCheckErrorLog(checkErrorLog, msg, userInfo);
|
||||
return null;
|
||||
}
|
||||
MesOrderJob orderJob = new MesOrderJob();
|
||||
orderJob.setOrderType(MesPcnExtEnumUtil.MES_OR_ORDER_TYPE.Q_MANAGE.getValue());
|
||||
orderJob.setTaskType(taskType);
|
||||
orderJob.setOrderNo(orderNoList.get(0));
|
||||
orderJob.setWorkCenterCode(workOrderExt.getWorkCenterCode());
|
||||
orderJob.setShiftCode(workCenterExt.getShiftCode());
|
||||
orderJob.setWorkOrderNo(workOrderExt.getOrderNo());
|
||||
orderJob.setOrderStatus(MesPcnExtEnumUtil.MES_ORJ_ORDER_STATUS.CREATE.getValue());
|
||||
orderJob.setWorkTime(workCenterExt.getWorkTime());
|
||||
orderJob.setOrderDate(TimeTool.getToday());
|
||||
orderJob.setGenerateTime(TimeTool.getNowTime(true));
|
||||
orderJob.setOrganizeCode(workOrderExt.getOrganizeCode());
|
||||
ConvertBean.serviceModelInitialize(orderJob, userInfo);
|
||||
orderJobRepository.insert(orderJob);
|
||||
return orderJob.getOrderNo();
|
||||
}
|
||||
|
||||
private void insertMesQManageTaskDetail(String orderNo, List<MesProcessQManage> processQManageList, Map<String, List<MesProcessCell>> processCodeMap, String userInfo){
|
||||
for(MesProcessQManage processQManage : processQManageList){
|
||||
if (null == processQManage) {
|
||||
continue;
|
||||
}
|
||||
MesQManageTaskDetail qManageTaskDetail = new MesQManageTaskDetail();
|
||||
BeanUtils.copyProperties(processQManage, qManageTaskDetail, MesPcnExtConstWords.ID);
|
||||
qManageTaskDetail.setOrderNo(orderNo);
|
||||
|
||||
List<MesProcessCell> processCellList = processCodeMap.get(processQManage.getProcessCode());
|
||||
if (!CollectionUtils.isEmpty(processCellList)) {
|
||||
qManageTaskDetail.setWorkCellCode(processCellList.get(0).getWorkCellCode());
|
||||
qManageTaskDetail.setWorkCellName(processCellList.get(0).getWorkCellName());
|
||||
qManageTaskDetail.setProcessName(processCellList.get(0).getProcessName());
|
||||
}
|
||||
qManageTaskDetail.setIsTeamConfirm(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());
|
||||
ConvertBean.serviceModelInitialize(qManageTaskDetail, userInfo);
|
||||
qManageTaskDetailRepository.insert(qManageTaskDetail);
|
||||
}
|
||||
}
|
||||
|
||||
public List<String> getOrderNoByRuleCode(int number, String ruleCode, GenSerialNoModel genSerialNoModel, String userName, String org) {
|
||||
genSerialNoModel.setRuleCode(ruleCode);
|
||||
BaseResultBean<String> serialNumberBean;
|
||||
try {
|
||||
serialNumberBean = syncFuncService.syncSerialNo(genSerialNoModel, userName, org, Integer.valueOf(number));
|
||||
} catch (Exception e) {
|
||||
return null;
|
||||
}
|
||||
if (serialNumberBean != null && serialNumberBean.isSuccess()) {
|
||||
return serialNumberBean.getResultList();
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
//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.IWorkOrderStartService;
|
||||
//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.util.MesPcnExtConstWords;
|
||||
//import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtEnumUtil;
|
||||
//import cn.estsh.i3plus.mes.pcn.api.iservice.busi.ISyncFuncService;
|
||||
//import cn.estsh.i3plus.platform.common.convert.ConvertBean;
|
||||
//import cn.estsh.i3plus.platform.common.tool.TimeTool;
|
||||
//import cn.estsh.i3plus.pojo.base.bean.BaseResultBean;
|
||||
//import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
|
||||
//import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
|
||||
//import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
|
||||
//import cn.estsh.i3plus.pojo.mes.model.GenSerialNoModel;
|
||||
//import lombok.extern.slf4j.Slf4j;
|
||||
//import org.springframework.beans.BeanUtils;
|
||||
//import org.springframework.beans.factory.annotation.Autowired;
|
||||
//import org.springframework.stereotype.Service;
|
||||
//import org.springframework.util.CollectionUtils;
|
||||
//import org.springframework.util.StringUtils;
|
||||
//
|
||||
//import java.util.*;
|
||||
//import java.util.stream.Collectors;
|
||||
//
|
||||
///**
|
||||
// * @author wangjie
|
||||
// * @version 1.0
|
||||
// * @date 2021/1/13 9:28
|
||||
// **/
|
||||
//@Slf4j
|
||||
//@Service("qManageOrderService")
|
||||
//public class QManageOrderService implements IWorkOrderStartService {
|
||||
//
|
||||
// @Autowired
|
||||
// private MesWorkCenterExtRepository workCenterExtRepository;
|
||||
//
|
||||
// @Autowired
|
||||
// private MesOrderRuleRepository orderRuleRepository;
|
||||
//
|
||||
// @Autowired
|
||||
// private MesProcessCellRepository processCellRepository;
|
||||
//
|
||||
// @Autowired
|
||||
// private MesProcessQManageRepository processQManageRepository;
|
||||
//
|
||||
// @Autowired
|
||||
// private MesOrderJobRepository orderJobRepository;
|
||||
//
|
||||
// @Autowired
|
||||
// private MesQManageTaskDetailRepository qManageTaskDetailRepository;
|
||||
//
|
||||
// @Autowired
|
||||
// private ISyncFuncService syncFuncService;
|
||||
//
|
||||
// @Autowired
|
||||
// private ICheckErrorLogService checkErrorLogService;
|
||||
//
|
||||
// @Override
|
||||
// public void doGenCheckOrder(MesWorkOrderExt workOrderExt, String userInfo) {
|
||||
// MesCheckErrorLog checkErrorLog = new MesCheckErrorLog();
|
||||
// checkErrorLog.setGenerationMethod(MesPcnExtEnumUtil.GENERATION_METHOD.FROM_WORK_ORDER_START.getValue());
|
||||
// checkErrorLog.setGeneratingModule(MesPcnExtEnumUtil.MES_OR_ORDER_TYPE.Q_MANAGE.getDescription());
|
||||
//
|
||||
// String msg;
|
||||
// try {
|
||||
// MesWorkCenterExt workCenterExt = workCenterExtRepository.getByProperty(
|
||||
// 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()});
|
||||
// if (null == workCenterExt) {
|
||||
// msg = String.format("Q管理生成单据:工单[%s]生产线[%s]无效", workOrderExt.getOrderNo(), workOrderExt.getWorkCenterCode());
|
||||
// log.info(msg);
|
||||
// checkErrorLogService.insertCheckErrorLog(checkErrorLog, msg, userInfo);
|
||||
// return;
|
||||
// }
|
||||
// if (StringUtils.isEmpty(workCenterExt.getShiftCode()) || StringUtils.isEmpty(workCenterExt.getWorkTime())) {
|
||||
// msg = String.format("Q管理生成单据:工单[%s]生产线[%s]未启动班次", workOrderExt.getOrderNo(), workOrderExt.getWorkCenterCode());
|
||||
// log.info(msg);
|
||||
// checkErrorLogService.insertCheckErrorLog(checkErrorLog, msg, userInfo);
|
||||
// return;
|
||||
// }
|
||||
// List<MesOrderRule> orderRuleList = orderRuleRepository.findByProperty(
|
||||
// new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.IS_DELETED,
|
||||
// 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(),
|
||||
// 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 :
|
||||
// orderRuleList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getShiftCode()) && o.getShiftCode().equals(workCenterExt.getShiftCode()))).findFirst();
|
||||
// if (null == orderRuleOp || !orderRuleOp.isPresent()) {
|
||||
// orderRuleOp = CollectionUtils.isEmpty(orderRuleList) ? null : orderRuleList.stream().filter(o -> (null != o && StringUtils.isEmpty(o.getShiftCode()))).findFirst();
|
||||
// }
|
||||
// if (null == orderRuleOp || !orderRuleOp.isPresent()) {
|
||||
// msg = String.format("Q管理生成单据:工单[%s]未配置生产线代码[%s][工单创建][Q管理]班次为[%s]或班次为空的单据规则信息,请检查", workOrderExt.getOrderNo(), workOrderExt.getWorkCenterCode(), workCenterExt.getShiftCode());
|
||||
// log.info(msg);
|
||||
// checkErrorLogService.insertCheckErrorLog(checkErrorLog, msg, userInfo);
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// List<MesProcessCell> processCellList = processCellRepository.findByProperty(
|
||||
// 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()});
|
||||
// Map<String, List<MesProcessCell>> processCodeMap = CollectionUtils.isEmpty(processCellList) ? null :
|
||||
// processCellList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getProcessCode()))).collect(Collectors.groupingBy(MesProcessCell::getProcessCode));
|
||||
// if (CollectionUtils.isEmpty(processCodeMap)) {
|
||||
// msg = String.format("Q管理生成单据:工单[%s]生产线代码[%s]未维护工序工位信息", workOrderExt.getOrderNo(), workOrderExt.getWorkCenterCode());
|
||||
// log.info(msg);
|
||||
// checkErrorLogService.insertCheckErrorLog(checkErrorLog, msg, userInfo);
|
||||
// return;
|
||||
// }
|
||||
// List<String> processCodeList = new ArrayList<>(processCodeMap.keySet());
|
||||
//
|
||||
// DdlPackBean packBean = DdlPackBean.getDdlPackBean(workOrderExt.getOrganizeCode());
|
||||
// DdlPreparedPack.getStringEqualPack(workOrderExt.getPartNo(), MesPcnExtConstWords.PART_NO, packBean);
|
||||
// DdlPreparedPack.getInPackList(processCodeList, MesPcnExtConstWords.PROCESS_CODE, 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());
|
||||
// if (CollectionUtils.isEmpty(processQManageList)) {
|
||||
// msg = String.format("Q管理生成单据:工单[%s]物料编码[%s]与工序代码%s未配置Q管理项目信息,请检查", workOrderExt.getOrderNo(), workOrderExt.getPartNo(), processCodeList.toString());
|
||||
// log.info(msg);
|
||||
// checkErrorLogService.insertCheckErrorLog(checkErrorLog, msg, userInfo);
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// //根据单据类型【Q管理】、产线代码和产线信息中的班次代码、生产日期获取Q管理单信息
|
||||
// packBean = DdlPackBean.getDdlPackBean(workOrderExt.getOrganizeCode());
|
||||
// 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(workCenterExt.getShiftCode(), MesPcnExtConstWords.SHIFT_CODE, packBean);
|
||||
// DdlPreparedPack.getStringEqualPack(workCenterExt.getWorkTime(), MesPcnExtConstWords.WORK_TIME, packBean);
|
||||
// DdlPreparedPack.getStringEqualPack(workOrderExt.getOrderNo(), MesPcnExtConstWords.WORK_ORDER_NO, packBean);
|
||||
// List<MesOrderJob> orderJobList = orderJobRepository.findByHqlWhere(packBean);
|
||||
// if (CollectionUtils.isEmpty(orderJobList)) {
|
||||
// String orderNo = insertMesOrderJob(workOrderExt, workCenterExt, orderRuleOp.get().getTaskType(), userInfo, checkErrorLog);
|
||||
// if (StringUtils.isEmpty(orderNo)) {
|
||||
// return;
|
||||
// }
|
||||
// insertMesQManageTaskDetail(orderNo, processQManageList, processCodeMap, userInfo);
|
||||
// }else {
|
||||
// msg = String.format("Q管理点检生成单据:工单[%s]已经生成过Q管理作业点检单", workOrderExt.getOrderNo());
|
||||
// log.info(msg);
|
||||
// checkErrorLogService.insertCheckErrorLog(checkErrorLog, msg, userInfo);
|
||||
// return;
|
||||
// }
|
||||
// /*else {
|
||||
// //根据作业单号查询明细数据
|
||||
// List<MesQManageTaskDetail> qManageTaskDetailList = new ArrayList<>();
|
||||
// List<String> orderNoList = orderJobList.stream().filter(o -> null != o).map(MesOrderJob::getOrderNo).collect(Collectors.toList());
|
||||
// for (String orderNo : orderNoList) {
|
||||
// if (StringUtils.isEmpty(orderNo)) {
|
||||
// continue;
|
||||
// }
|
||||
// packBean = DdlPackBean.getDdlPackBean(workOrderExt.getOrganizeCode());
|
||||
// DdlPreparedPack.getStringEqualPack(orderNo, MesPcnExtConstWords.ORDER_NO, packBean);
|
||||
// qManageTaskDetailList.addAll(qManageTaskDetailRepository.findByHqlWhere(packBean));
|
||||
// }
|
||||
//
|
||||
// Map<String, List<MesProcessQManage>> processQManageDbMap = CollectionUtils.isEmpty(processQManageList) ? null :
|
||||
// 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()));
|
||||
//
|
||||
// Map<String, List<MesQManageTaskDetail>> qManageTaskDetailDbMap = CollectionUtils.isEmpty(qManageTaskDetailList) ? null :
|
||||
// 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()));
|
||||
//
|
||||
// List<MesProcessQManage> newProcessQManageList = null;
|
||||
// //获取两个存在差异的数据
|
||||
// for (String key : processQManageDbMap.keySet()) {
|
||||
// if (CollectionUtils.isEmpty(qManageTaskDetailDbMap) || !qManageTaskDetailDbMap.containsKey(key)) {
|
||||
// if (CollectionUtils.isEmpty(newProcessQManageList)) {
|
||||
// newProcessQManageList = new ArrayList<>();
|
||||
// }
|
||||
// newProcessQManageList.addAll(processQManageDbMap.get(key));
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// if (!CollectionUtils.isEmpty(newProcessQManageList)) {
|
||||
// String orderNo = insertMesOrderJob(workOrderExt, workCenterExt, orderRuleOp.get().getTaskType(), userInfo, checkErrorLog);
|
||||
// if (StringUtils.isEmpty(orderNo)) {
|
||||
// return;
|
||||
// }
|
||||
// insertMesQManageTaskDetail(orderNo, newProcessQManageList, processCodeMap, userInfo);
|
||||
// }
|
||||
// }*/
|
||||
// } catch (Exception e) {
|
||||
// checkErrorLogService.insertCheckErrorLog(checkErrorLog, e.getMessage(), userInfo);
|
||||
// log.info(e.getMessage());
|
||||
// }
|
||||
//
|
||||
// }
|
||||
//
|
||||
//
|
||||
// private String insertMesOrderJob(MesWorkOrderExt workOrderExt, MesWorkCenterExt workCenterExt, Integer taskType, String userInfo, MesCheckErrorLog checkErrorLog){
|
||||
// List<String> orderNoList = getOrderNoByRuleCode(1,
|
||||
// MesPcnExtConstWords.ORDER_NO_RULE, new GenSerialNoModel(), userInfo, workOrderExt.getOrganizeCode());
|
||||
// if (CollectionUtils.isEmpty(orderNoList)) {
|
||||
// String msg = String.format("Q管理生成单据:工单[%s]单据编号未生成成功", workOrderExt.getOrderNo());
|
||||
// log.info(msg);
|
||||
// checkErrorLogService.insertCheckErrorLog(checkErrorLog, msg, userInfo);
|
||||
// return null;
|
||||
// }
|
||||
// MesOrderJob orderJob = new MesOrderJob();
|
||||
// orderJob.setOrderType(MesPcnExtEnumUtil.MES_OR_ORDER_TYPE.Q_MANAGE.getValue());
|
||||
// orderJob.setTaskType(taskType);
|
||||
// orderJob.setOrderNo(orderNoList.get(0));
|
||||
// orderJob.setWorkCenterCode(workOrderExt.getWorkCenterCode());
|
||||
// orderJob.setShiftCode(workCenterExt.getShiftCode());
|
||||
// orderJob.setWorkOrderNo(workOrderExt.getOrderNo());
|
||||
// orderJob.setOrderStatus(MesPcnExtEnumUtil.MES_ORJ_ORDER_STATUS.CREATE.getValue());
|
||||
// orderJob.setWorkTime(workCenterExt.getWorkTime());
|
||||
// orderJob.setOrderDate(TimeTool.getToday());
|
||||
// orderJob.setGenerateTime(TimeTool.getNowTime(true));
|
||||
// orderJob.setOrganizeCode(workOrderExt.getOrganizeCode());
|
||||
// ConvertBean.serviceModelInitialize(orderJob, userInfo);
|
||||
// orderJobRepository.insert(orderJob);
|
||||
// return orderJob.getOrderNo();
|
||||
// }
|
||||
//
|
||||
// private void insertMesQManageTaskDetail(String orderNo, List<MesProcessQManage> processQManageList, Map<String, List<MesProcessCell>> processCodeMap, String userInfo){
|
||||
// for(MesProcessQManage processQManage : processQManageList){
|
||||
// if (null == processQManage) {
|
||||
// continue;
|
||||
// }
|
||||
// MesQManageTaskDetail qManageTaskDetail = new MesQManageTaskDetail();
|
||||
// BeanUtils.copyProperties(processQManage, qManageTaskDetail, MesPcnExtConstWords.ID);
|
||||
// qManageTaskDetail.setOrderNo(orderNo);
|
||||
//
|
||||
// List<MesProcessCell> processCellList = processCodeMap.get(processQManage.getProcessCode());
|
||||
// if (!CollectionUtils.isEmpty(processCellList)) {
|
||||
// qManageTaskDetail.setWorkCellCode(processCellList.get(0).getWorkCellCode());
|
||||
// qManageTaskDetail.setWorkCellName(processCellList.get(0).getWorkCellName());
|
||||
// qManageTaskDetail.setProcessName(processCellList.get(0).getProcessName());
|
||||
// }
|
||||
// qManageTaskDetail.setIsTeamConfirm(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());
|
||||
// ConvertBean.serviceModelInitialize(qManageTaskDetail, userInfo);
|
||||
// qManageTaskDetailRepository.insert(qManageTaskDetail);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// public List<String> getOrderNoByRuleCode(int number, String ruleCode, GenSerialNoModel genSerialNoModel, String userName, String org) {
|
||||
// genSerialNoModel.setRuleCode(ruleCode);
|
||||
// BaseResultBean<String> serialNumberBean;
|
||||
// try {
|
||||
// serialNumberBean = syncFuncService.syncSerialNo(genSerialNoModel, userName, org, Integer.valueOf(number));
|
||||
// } catch (Exception e) {
|
||||
// return null;
|
||||
// }
|
||||
// if (serialNumberBean != null && serialNumberBean.isSuccess()) {
|
||||
// return serialNumberBean.getResultList();
|
||||
// } else {
|
||||
// return null;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
//}
|
||||
|
@ -1,297 +1,297 @@
|
||||
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.job.ep.IEpEquipmentCheckOrderService;
|
||||
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.util.MesPcnExtConstWords;
|
||||
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtEnumUtil;
|
||||
import cn.estsh.i3plus.mes.pcn.api.iservice.busi.ISyncFuncService;
|
||||
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
|
||||
import cn.estsh.i3plus.platform.common.tool.TimeTool;
|
||||
import cn.estsh.i3plus.pojo.base.bean.BaseResultBean;
|
||||
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
|
||||
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
|
||||
import cn.estsh.i3plus.pojo.mes.model.GenSerialNoModel;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @PROJECT_NAME: i3plus-mes-panasonic-dev
|
||||
* @DESCRIPTION:
|
||||
* @USER: xinwang.yi
|
||||
* @DATE: 2021-12-13 13:41
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
public class EpEquipmentCheckOrderService implements IEpEquipmentCheckOrderService {
|
||||
@Autowired
|
||||
private MesEpEquipmentCheckRepository equipmentCheckRepository;
|
||||
|
||||
@Autowired
|
||||
private MesOrderRuleRepository orderRuleRepository;
|
||||
|
||||
@Autowired
|
||||
private MesOrderJobRepository orderJobRepository;
|
||||
|
||||
@Autowired
|
||||
private MesWorkOrderExtRepository workOrderExtRepository;
|
||||
|
||||
@Autowired
|
||||
private MesEpEquipmentCheckDetailRepository equipmentCheckDetailRepository;
|
||||
|
||||
@Autowired
|
||||
private IWorkCenterExtService workCenterExtService;
|
||||
|
||||
@Autowired
|
||||
private ISyncFuncService syncFuncService;
|
||||
|
||||
@Override
|
||||
public void doHandleEquipmentCheckOrder(String organizeCode) {
|
||||
List<String> checkTypeList = getCheckTypelist();
|
||||
|
||||
for (String checkType : checkTypeList) {
|
||||
if (StringUtils.isEmpty(checkType)) {
|
||||
continue;
|
||||
}
|
||||
Boolean isSuccess = false;
|
||||
List<MesEpEquipmentCheck> equipmentCheckList = getEquipmentCheckList(organizeCode, checkType);
|
||||
if (CollectionUtils.isEmpty(equipmentCheckList)) {
|
||||
log.info("Pcn处理EP工厂设备点检单据生成JOB,未配置[{}]类型的设备点检项目",
|
||||
MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.valueOfDescription(checkType));
|
||||
continue;
|
||||
}
|
||||
List<String> workCenterCodeList = (equipmentCheckList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getWorkCenterCode())))
|
||||
.map(MesEpEquipmentCheck::getWorkCenterCode).collect(Collectors.toList()))
|
||||
.stream().filter(o -> !StringUtils.isEmpty(o)).distinct().collect(Collectors.toList());
|
||||
log.info("Pcn处理EP工厂设备点检单据生成JOB,[{}]类型的设备点检单据生成包含以下生产线{}",
|
||||
MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.valueOfDescription(checkType), workCenterCodeList.toString());
|
||||
for (String workCenterCode : workCenterCodeList) {
|
||||
if (StringUtils.isEmpty(workCenterCode)) {
|
||||
continue;
|
||||
}
|
||||
List<MesOrderRule> orderRuleList = getOrderRuleList(organizeCode, workCenterCode, checkType);
|
||||
if (CollectionUtils.isEmpty(orderRuleList)) {
|
||||
log.info("Pcn处理EP工厂设备点检单据生成JOB,[{}]类型的设备点检单据生成,生产线[{}]未配置单据规则",
|
||||
MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.valueOfDescription(checkType), workCenterCode);
|
||||
continue;
|
||||
}
|
||||
|
||||
List<MesWorkOrderExt> workOrderExtList = null;
|
||||
if (checkType.equals(MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.DAY_CHECK.getValue())) {
|
||||
workOrderExtList = findWorkOrderList(organizeCode, workCenterCode);
|
||||
}
|
||||
|
||||
for (MesOrderRule orderRule : orderRuleList) {
|
||||
if (null == orderRule || StringUtils.isEmpty(orderRule.getProduceTime())) {
|
||||
continue;
|
||||
}
|
||||
Boolean flag = false;
|
||||
String produceTime = orderRule.getProduceTime() + MesPcnExtConstWords.APPEND_SECONDS;
|
||||
String shiftCode = getCurShiftCode(organizeCode, workCenterCode, TimeTool.getToday());
|
||||
if (StringUtils.isEmpty(orderRule.getShiftCode()) || StringUtils.isEmpty(shiftCode)) {
|
||||
log.info("Pcn处理EP工厂设备点检单据生成JOB,生产线[{}]设备点检单据存在生成时间[{}]的单据未配置班次或生产线未启动班次", workCenterCode, produceTime);
|
||||
continue;
|
||||
}
|
||||
if (checkType.equals(MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.DAY_CHECK.getValue())) {
|
||||
if (TimeTool.stringParseToDate(TimeTool.getNowTime(MesPcnExtConstWords.TIME_FORMAT)).compareTo(TimeTool.stringParseToDate(produceTime)) >= 0) {
|
||||
List<MesOrderJob> orderJobList = getOrderJobList(organizeCode, workCenterCode, shiftCode, checkType, produceTime);
|
||||
if (CollectionUtils.isEmpty(orderJobList)) {
|
||||
log.info("Pcn处理EP工厂设备点检单据生成JOB,生产线[{}]还未生成类型[{}]生成时间[{}]班次[{}]的设备点检单据",
|
||||
workCenterCode, MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.valueOfDescription(checkType), produceTime, shiftCode);
|
||||
if (CollectionUtils.isEmpty(workOrderExtList)) {
|
||||
log.info("Pcn处理设备点检单据生成JOB,生产线[{}]还未生成类型[{}]生成时间[{}]班次[{}]的设备点检单据,但未查询到启动或下达的工单",
|
||||
workCenterCode, MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.valueOfDescription(checkType), produceTime, shiftCode);
|
||||
continue;
|
||||
}
|
||||
flag = true;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
List<MesOrderJob> orderJobList = getOrderJobList(organizeCode, workCenterCode, shiftCode, checkType, produceTime);
|
||||
if (CollectionUtils.isEmpty(orderJobList)) {
|
||||
log.info("Pcn处理EP工厂设备点检单据生成JOB,生产线[{}]还未生成类型[{}]生成时间[{}]班次[{}]的设备点检单据",
|
||||
workCenterCode, MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.valueOfDescription(checkType), produceTime, shiftCode);
|
||||
flag = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (flag) {
|
||||
log.info("Pcn处理EP工厂设备点检单据生成JOB,生产线[{}]正在生成类型[{}]生成时间[{}]班次[{}]的设备点检单据",
|
||||
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());
|
||||
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());
|
||||
if (CollectionUtils.isEmpty(orderNoList)) {
|
||||
log.info("Pcn处理EP工厂设备点检单据生成JOB,生产线[{}]生成类型[{}]生成时间[{}]班次[{}]的设备点检单据时生成单据号失败",
|
||||
workCenterCode, MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.valueOfDescription(checkType), produceTime, shiftCode);
|
||||
continue;
|
||||
}
|
||||
insertEquipmentCheckOrder(organizeCode, workCenterCode, shiftCode, checkType, produceTime, orderNoList, resultMap);
|
||||
isSuccess = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (isSuccess) {
|
||||
log.info("Pcn处理EP工厂设备点检单据生成JOB,[{}]类型的设备点检单据生成成功",
|
||||
MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.valueOfDescription(checkType));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private String getCurShiftCode(String organizeCode, String workCenterCode, String workTime) {
|
||||
MesWorkCenterExt workCenterExt = workCenterExtService.getWorkCenterExtByWorkCenterAndTime(organizeCode, workCenterCode, workTime);
|
||||
if (null != workCenterExt) {
|
||||
return workCenterExt.getShiftCode();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private void insertEquipmentCheckOrder(String organizeCode, String workCenterCode, String shiftCode, String checkType, String produceTime, List<String> orderNoList, Map<String, List<MesEpEquipmentCheck>> resultMap) {
|
||||
int orderNoIndex = 0;
|
||||
for (String equNo : resultMap.keySet()) {
|
||||
List<MesEpEquipmentCheck> itemList = resultMap.get(equNo);
|
||||
|
||||
MesOrderJob orderJob = new MesOrderJob();
|
||||
|
||||
orderJob.setTaskType(MesPcnExtEnumUtil.MES_OR_TASK_TYPE.PREPARE_TASK.getValue());
|
||||
orderJob.setOrderType(MesPcnExtEnumUtil.MES_OR_ORDER_TYPE.EP_EQU_CHECK.getValue());
|
||||
orderJob.setHandlerMethod(MesPcnExtEnumUtil.HANDLER_METHOD.AUTOMATICALLY_CREATED.getValue());
|
||||
orderJob.setOrderNo(orderNoList.get(orderNoIndex));
|
||||
orderJob.setWorkCenterCode(workCenterCode);
|
||||
orderJob.setOrderStatus(MesPcnExtEnumUtil.MES_ORJ_ORDER_STATUS.CREATE.getValue());
|
||||
orderJob.setOrderDate(TimeTool.getToday());
|
||||
orderJob.setWorkTime(orderJob.getOrderDate());
|
||||
orderJob.setGenerateTime(orderJob.getOrderDate() + MesPcnExtConstWords.ONE_SPACE + produceTime);
|
||||
orderJob.setCheckType(checkType);
|
||||
orderJob.setShiftCode(shiftCode);
|
||||
List<String> collect = (itemList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getWorkCellCode())))
|
||||
.map(MesEpEquipmentCheck::getWorkCellCode).collect(Collectors.toList()))
|
||||
.stream().filter(o -> !StringUtils.isEmpty(o)).distinct().collect(Collectors.toList());
|
||||
String cellCollect = org.apache.commons.lang.StringUtils.join(collect, MesPcnExtConstWords.COMMA);
|
||||
orderJob.setCellCollect(cellCollect);
|
||||
orderJob.setOrganizeCode(organizeCode);
|
||||
ConvertBean.serviceModelInitialize(orderJob, MesPcnExtConstWords.JOB);
|
||||
orderJobRepository.insert(orderJob);
|
||||
for (MesEpEquipmentCheck mesEquipmentCheck : itemList) {
|
||||
MesEpEquipmentCheckDetail equipmentCheckDetail = new MesEpEquipmentCheckDetail();
|
||||
BeanUtils.copyProperties(mesEquipmentCheck, equipmentCheckDetail, MesPcnExtConstWords.ID);
|
||||
equipmentCheckDetail.setOrderJobNo(orderNoList.get(orderNoIndex));
|
||||
equipmentCheckDetail.setCheckType(checkType);
|
||||
equipmentCheckDetail.setEquNo(mesEquipmentCheck.getEquNo());
|
||||
equipmentCheckDetail.setEquName(mesEquipmentCheck.getEquName());
|
||||
equipmentCheckDetail.setShiftCode(shiftCode);
|
||||
equipmentCheckDetail.setIsTeamConfirm(MesPcnExtEnumUtil.SHIFT_GROUP_CHECK.NO.getValue());
|
||||
equipmentCheckDetail.setIsQualityConfirm(MesPcnExtEnumUtil.QUALITY_CHECK.NO.getValue());
|
||||
equipmentCheckDetail.setOrganizeCode(organizeCode);
|
||||
equipmentCheckDetail.setStandardValue(mesEquipmentCheck.getStandardValue());
|
||||
equipmentCheckDetail.setDownLimit(mesEquipmentCheck.getDownLimit());
|
||||
equipmentCheckDetail.setUpLimit(mesEquipmentCheck.getUpLimit());
|
||||
equipmentCheckDetail.setResultType(mesEquipmentCheck.getResultType());
|
||||
ConvertBean.serviceModelInitialize(equipmentCheckDetail, MesPcnExtConstWords.JOB);
|
||||
equipmentCheckDetailRepository.insert(equipmentCheckDetail);
|
||||
}
|
||||
orderNoIndex++;
|
||||
}
|
||||
}
|
||||
|
||||
private List<String> getOrderNo(String organizeCode,int num) {
|
||||
try {
|
||||
BaseResultBean oneCodeResult = syncFuncService.syncSerialNo(new GenSerialNoModel(MesPcnExtConstWords.ORDER_NO_RULE), null, organizeCode, num);
|
||||
log.info("获取生成单号的数量:{}",oneCodeResult.getResultList().size());
|
||||
if (oneCodeResult != null && oneCodeResult.isSuccess()) {
|
||||
return oneCodeResult.getResultList();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private List<MesWorkOrderExt> findWorkOrderList(String organizeCode, String workCenterCode) {
|
||||
List<MesWorkOrderExt> workOrderExtList = null;
|
||||
List<MesWorkOrderExt> openList = getWorkOrderList(organizeCode, workCenterCode, MesPcnExtEnumUtil.WORK_ORDER_STATUS.OPEN.getValue());
|
||||
List<MesWorkOrderExt> landedList = getWorkOrderList(organizeCode, workCenterCode, MesPcnExtEnumUtil.WORK_ORDER_STATUS.LANDED.getValue());
|
||||
if (!CollectionUtils.isEmpty(openList) || !CollectionUtils.isEmpty(landedList)) {
|
||||
workOrderExtList = new ArrayList<>();
|
||||
if (!CollectionUtils.isEmpty(openList)) {
|
||||
workOrderExtList.addAll(openList);
|
||||
}
|
||||
if (!CollectionUtils.isEmpty(landedList)) {
|
||||
workOrderExtList.addAll(landedList);
|
||||
}
|
||||
}
|
||||
return workOrderExtList;
|
||||
}
|
||||
|
||||
private List<MesWorkOrderExt> getWorkOrderList(String organizeCode, String workCenterCode, Integer workOrderStatus) {
|
||||
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
|
||||
DdlPreparedPack.getNumEqualPack(workOrderStatus, MesPcnExtConstWords.WORK_ORDER_STATUS, packBean);
|
||||
DdlPreparedPack.getStringEqualPack(workCenterCode, MesPcnExtConstWords.WORK_CENTER_CODE, packBean);
|
||||
return workOrderExtRepository.findByHqlWhere(packBean);
|
||||
}
|
||||
|
||||
private List<MesOrderJob> getOrderJobList(String organizeCode, String workCenterCode, String shiftCode, String checkType, String produceTime) {
|
||||
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
|
||||
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.HANDLER_METHOD.AUTOMATICALLY_CREATED.getValue(), MesPcnExtConstWords.HANDLER_METHOD, packBean);
|
||||
DdlPreparedPack.getStringEqualPack(workCenterCode, MesPcnExtConstWords.WORK_CENTER_CODE, packBean);
|
||||
DdlPreparedPack.getStringEqualPack(shiftCode, MesPcnExtConstWords.SHIFT_CODE, packBean);
|
||||
DdlPreparedPack.getStringEqualPack(checkType, MesPcnExtConstWords.CHECK_TYPE, packBean);
|
||||
String nowProduceTime = TimeTool.getToday() + MesPcnExtConstWords.ONE_SPACE + produceTime;
|
||||
String lastProduceTime;
|
||||
if (checkType.equals(MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.DAY_CHECK.getValue())) {
|
||||
DdlPreparedPack.getStringEqualPack(nowProduceTime, MesPcnExtConstWords.GENERATE_TIME, packBean);
|
||||
} 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);
|
||||
DdlPreparedPack.timeBuilder(lastProduceTime, nowProduceTime, MesPcnExtConstWords.GENERATE_TIME, packBean, true);
|
||||
} 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);
|
||||
DdlPreparedPack.timeBuilder(lastProduceTime, nowProduceTime, MesPcnExtConstWords.GENERATE_TIME, packBean, true);
|
||||
} else {
|
||||
lastProduceTime = TimeTool.timeCalc(TimeTool.stringParseToDate(nowProduceTime), Calendar.YEAR, -1, MesPcnExtConstWords.DATETIME_FORMAT);
|
||||
DdlPreparedPack.timeBuilder(lastProduceTime, nowProduceTime, MesPcnExtConstWords.GENERATE_TIME, packBean, true);
|
||||
}
|
||||
return orderJobRepository.findByHqlWhere(packBean);
|
||||
}
|
||||
|
||||
private List<MesOrderRule> getOrderRuleList(String organizeCode, String workCenterCode, String checkType) {
|
||||
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
|
||||
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_CREATE_RULE.TIME_TO_CREATE.getValue(), MesPcnExtConstWords.CREATE_RULE, packBean);
|
||||
DdlPreparedPack.getStringEqualPack(workCenterCode, MesPcnExtConstWords.WORK_CENTER_CODE, packBean);
|
||||
DdlPreparedPack.getStringEqualPack(checkType, MesPcnExtConstWords.CHECK_TYPE, packBean);
|
||||
return orderRuleRepository.findByHqlWhere(packBean);
|
||||
}
|
||||
|
||||
private List<String> getCheckTypelist() {
|
||||
List<String> checkTypeList = new ArrayList<>();
|
||||
String dayCheck = MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.DAY_CHECK.getValue();
|
||||
String weekCheck = MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.WEEK_CHECK.getValue();
|
||||
String monthCheck = MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.MONTH_CHECK.getValue();
|
||||
checkTypeList.add(weekCheck);
|
||||
checkTypeList.add(dayCheck);
|
||||
checkTypeList.add(monthCheck);
|
||||
return checkTypeList;
|
||||
}
|
||||
|
||||
private List<MesEpEquipmentCheck> getEquipmentCheckList(String organizeCode, String checkType) {
|
||||
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
|
||||
DdlPreparedPack.getStringEqualPack(checkType, MesPcnExtConstWords.CHECK_TYPE, packBean);
|
||||
return equipmentCheckRepository.findByHqlWhere(packBean);
|
||||
}
|
||||
}
|
||||
//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.job.ep.IEpEquipmentCheckOrderService;
|
||||
//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.util.MesPcnExtConstWords;
|
||||
//import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtEnumUtil;
|
||||
//import cn.estsh.i3plus.mes.pcn.api.iservice.busi.ISyncFuncService;
|
||||
//import cn.estsh.i3plus.platform.common.convert.ConvertBean;
|
||||
//import cn.estsh.i3plus.platform.common.tool.TimeTool;
|
||||
//import cn.estsh.i3plus.pojo.base.bean.BaseResultBean;
|
||||
//import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
|
||||
//import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
|
||||
//import cn.estsh.i3plus.pojo.mes.model.GenSerialNoModel;
|
||||
//import lombok.extern.slf4j.Slf4j;
|
||||
//import org.springframework.beans.BeanUtils;
|
||||
//import org.springframework.beans.factory.annotation.Autowired;
|
||||
//import org.springframework.stereotype.Service;
|
||||
//import org.springframework.util.CollectionUtils;
|
||||
//import org.springframework.util.StringUtils;
|
||||
//
|
||||
//import java.util.ArrayList;
|
||||
//import java.util.Calendar;
|
||||
//import java.util.List;
|
||||
//import java.util.Map;
|
||||
//import java.util.stream.Collectors;
|
||||
//
|
||||
///**
|
||||
// * @PROJECT_NAME: i3plus-mes-panasonic-dev
|
||||
// * @DESCRIPTION:
|
||||
// * @USER: xinwang.yi
|
||||
// * @DATE: 2021-12-13 13:41
|
||||
// */
|
||||
//@Slf4j
|
||||
//@Service
|
||||
//public class EpEquipmentCheckOrderService implements IEpEquipmentCheckOrderService {
|
||||
// @Autowired
|
||||
// private MesEpEquipmentCheckRepository equipmentCheckRepository;
|
||||
//
|
||||
// @Autowired
|
||||
// private MesOrderRuleRepository orderRuleRepository;
|
||||
//
|
||||
// @Autowired
|
||||
// private MesOrderJobRepository orderJobRepository;
|
||||
//
|
||||
// @Autowired
|
||||
// private MesWorkOrderExtRepository workOrderExtRepository;
|
||||
//
|
||||
// @Autowired
|
||||
// private MesEpEquipmentCheckDetailRepository equipmentCheckDetailRepository;
|
||||
//
|
||||
// @Autowired
|
||||
// private IWorkCenterExtService workCenterExtService;
|
||||
//
|
||||
// @Autowired
|
||||
// private ISyncFuncService syncFuncService;
|
||||
//
|
||||
// @Override
|
||||
// public void doHandleEquipmentCheckOrder(String organizeCode) {
|
||||
// List<String> checkTypeList = getCheckTypelist();
|
||||
//
|
||||
// for (String checkType : checkTypeList) {
|
||||
// if (StringUtils.isEmpty(checkType)) {
|
||||
// continue;
|
||||
// }
|
||||
// Boolean isSuccess = false;
|
||||
// List<MesEpEquipmentCheck> equipmentCheckList = getEquipmentCheckList(organizeCode, checkType);
|
||||
// if (CollectionUtils.isEmpty(equipmentCheckList)) {
|
||||
// log.info("Pcn处理EP工厂设备点检单据生成JOB,未配置[{}]类型的设备点检项目",
|
||||
// MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.valueOfDescription(checkType));
|
||||
// continue;
|
||||
// }
|
||||
// List<String> workCenterCodeList = (equipmentCheckList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getWorkCenterCode())))
|
||||
// .map(MesEpEquipmentCheck::getWorkCenterCode).collect(Collectors.toList()))
|
||||
// .stream().filter(o -> !StringUtils.isEmpty(o)).distinct().collect(Collectors.toList());
|
||||
// log.info("Pcn处理EP工厂设备点检单据生成JOB,[{}]类型的设备点检单据生成包含以下生产线{}",
|
||||
// MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.valueOfDescription(checkType), workCenterCodeList.toString());
|
||||
// for (String workCenterCode : workCenterCodeList) {
|
||||
// if (StringUtils.isEmpty(workCenterCode)) {
|
||||
// continue;
|
||||
// }
|
||||
// List<MesOrderRule> orderRuleList = getOrderRuleList(organizeCode, workCenterCode, checkType);
|
||||
// if (CollectionUtils.isEmpty(orderRuleList)) {
|
||||
// log.info("Pcn处理EP工厂设备点检单据生成JOB,[{}]类型的设备点检单据生成,生产线[{}]未配置单据规则",
|
||||
// MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.valueOfDescription(checkType), workCenterCode);
|
||||
// continue;
|
||||
// }
|
||||
//
|
||||
// List<MesWorkOrderExt> workOrderExtList = null;
|
||||
// if (checkType.equals(MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.DAY_CHECK.getValue())) {
|
||||
// workOrderExtList = findWorkOrderList(organizeCode, workCenterCode);
|
||||
// }
|
||||
//
|
||||
// for (MesOrderRule orderRule : orderRuleList) {
|
||||
// if (null == orderRule || StringUtils.isEmpty(orderRule.getProduceTime())) {
|
||||
// continue;
|
||||
// }
|
||||
// Boolean flag = false;
|
||||
// String produceTime = orderRule.getProduceTime() + MesPcnExtConstWords.APPEND_SECONDS;
|
||||
// String shiftCode = getCurShiftCode(organizeCode, workCenterCode, TimeTool.getToday());
|
||||
// if (StringUtils.isEmpty(orderRule.getShiftCode()) || StringUtils.isEmpty(shiftCode)) {
|
||||
// log.info("Pcn处理EP工厂设备点检单据生成JOB,生产线[{}]设备点检单据存在生成时间[{}]的单据未配置班次或生产线未启动班次", workCenterCode, produceTime);
|
||||
// continue;
|
||||
// }
|
||||
// if (checkType.equals(MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.DAY_CHECK.getValue())) {
|
||||
// if (TimeTool.stringParseToDate(TimeTool.getNowTime(MesPcnExtConstWords.TIME_FORMAT)).compareTo(TimeTool.stringParseToDate(produceTime)) >= 0) {
|
||||
// List<MesOrderJob> orderJobList = getOrderJobList(organizeCode, workCenterCode, shiftCode, checkType, produceTime);
|
||||
// if (CollectionUtils.isEmpty(orderJobList)) {
|
||||
// log.info("Pcn处理EP工厂设备点检单据生成JOB,生产线[{}]还未生成类型[{}]生成时间[{}]班次[{}]的设备点检单据",
|
||||
// workCenterCode, MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.valueOfDescription(checkType), produceTime, shiftCode);
|
||||
// if (CollectionUtils.isEmpty(workOrderExtList)) {
|
||||
// log.info("Pcn处理设备点检单据生成JOB,生产线[{}]还未生成类型[{}]生成时间[{}]班次[{}]的设备点检单据,但未查询到启动或下达的工单",
|
||||
// workCenterCode, MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.valueOfDescription(checkType), produceTime, shiftCode);
|
||||
// continue;
|
||||
// }
|
||||
// flag = true;
|
||||
// }
|
||||
// }
|
||||
// } else {
|
||||
// List<MesOrderJob> orderJobList = getOrderJobList(organizeCode, workCenterCode, shiftCode, checkType, produceTime);
|
||||
// if (CollectionUtils.isEmpty(orderJobList)) {
|
||||
// log.info("Pcn处理EP工厂设备点检单据生成JOB,生产线[{}]还未生成类型[{}]生成时间[{}]班次[{}]的设备点检单据",
|
||||
// workCenterCode, MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.valueOfDescription(checkType), produceTime, shiftCode);
|
||||
// flag = true;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// if (flag) {
|
||||
// log.info("Pcn处理EP工厂设备点检单据生成JOB,生产线[{}]正在生成类型[{}]生成时间[{}]班次[{}]的设备点检单据",
|
||||
// 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());
|
||||
// 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());
|
||||
// if (CollectionUtils.isEmpty(orderNoList)) {
|
||||
// log.info("Pcn处理EP工厂设备点检单据生成JOB,生产线[{}]生成类型[{}]生成时间[{}]班次[{}]的设备点检单据时生成单据号失败",
|
||||
// workCenterCode, MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.valueOfDescription(checkType), produceTime, shiftCode);
|
||||
// continue;
|
||||
// }
|
||||
// insertEquipmentCheckOrder(organizeCode, workCenterCode, shiftCode, checkType, produceTime, orderNoList, resultMap);
|
||||
// isSuccess = true;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// if (isSuccess) {
|
||||
// log.info("Pcn处理EP工厂设备点检单据生成JOB,[{}]类型的设备点检单据生成成功",
|
||||
// MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.valueOfDescription(checkType));
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// private String getCurShiftCode(String organizeCode, String workCenterCode, String workTime) {
|
||||
// MesWorkCenterExt workCenterExt = workCenterExtService.getWorkCenterExtByWorkCenterAndTime(organizeCode, workCenterCode, workTime);
|
||||
// if (null != workCenterExt) {
|
||||
// return workCenterExt.getShiftCode();
|
||||
// }
|
||||
// return null;
|
||||
// }
|
||||
//
|
||||
// private void insertEquipmentCheckOrder(String organizeCode, String workCenterCode, String shiftCode, String checkType, String produceTime, List<String> orderNoList, Map<String, List<MesEpEquipmentCheck>> resultMap) {
|
||||
// int orderNoIndex = 0;
|
||||
// for (String equNo : resultMap.keySet()) {
|
||||
// List<MesEpEquipmentCheck> itemList = resultMap.get(equNo);
|
||||
//
|
||||
// MesOrderJob orderJob = new MesOrderJob();
|
||||
//
|
||||
// orderJob.setTaskType(MesPcnExtEnumUtil.MES_OR_TASK_TYPE.PREPARE_TASK.getValue());
|
||||
// orderJob.setOrderType(MesPcnExtEnumUtil.MES_OR_ORDER_TYPE.EP_EQU_CHECK.getValue());
|
||||
// orderJob.setHandlerMethod(MesPcnExtEnumUtil.HANDLER_METHOD.AUTOMATICALLY_CREATED.getValue());
|
||||
// orderJob.setOrderNo(orderNoList.get(orderNoIndex));
|
||||
// orderJob.setWorkCenterCode(workCenterCode);
|
||||
// orderJob.setOrderStatus(MesPcnExtEnumUtil.MES_ORJ_ORDER_STATUS.CREATE.getValue());
|
||||
// orderJob.setOrderDate(TimeTool.getToday());
|
||||
// orderJob.setWorkTime(orderJob.getOrderDate());
|
||||
// orderJob.setGenerateTime(orderJob.getOrderDate() + MesPcnExtConstWords.ONE_SPACE + produceTime);
|
||||
// orderJob.setCheckType(checkType);
|
||||
// orderJob.setShiftCode(shiftCode);
|
||||
// List<String> collect = (itemList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getWorkCellCode())))
|
||||
// .map(MesEpEquipmentCheck::getWorkCellCode).collect(Collectors.toList()))
|
||||
// .stream().filter(o -> !StringUtils.isEmpty(o)).distinct().collect(Collectors.toList());
|
||||
// String cellCollect = org.apache.commons.lang.StringUtils.join(collect, MesPcnExtConstWords.COMMA);
|
||||
// orderJob.setCellCollect(cellCollect);
|
||||
// orderJob.setOrganizeCode(organizeCode);
|
||||
// ConvertBean.serviceModelInitialize(orderJob, MesPcnExtConstWords.JOB);
|
||||
// orderJobRepository.insert(orderJob);
|
||||
// for (MesEpEquipmentCheck mesEquipmentCheck : itemList) {
|
||||
// MesEpEquipmentCheckDetail equipmentCheckDetail = new MesEpEquipmentCheckDetail();
|
||||
// BeanUtils.copyProperties(mesEquipmentCheck, equipmentCheckDetail, MesPcnExtConstWords.ID);
|
||||
// equipmentCheckDetail.setOrderJobNo(orderNoList.get(orderNoIndex));
|
||||
// equipmentCheckDetail.setCheckType(checkType);
|
||||
// equipmentCheckDetail.setEquNo(mesEquipmentCheck.getEquNo());
|
||||
// equipmentCheckDetail.setEquName(mesEquipmentCheck.getEquName());
|
||||
// equipmentCheckDetail.setShiftCode(shiftCode);
|
||||
// equipmentCheckDetail.setIsTeamConfirm(MesPcnExtEnumUtil.SHIFT_GROUP_CHECK.NO.getValue());
|
||||
// equipmentCheckDetail.setIsQualityConfirm(MesPcnExtEnumUtil.QUALITY_CHECK.NO.getValue());
|
||||
// equipmentCheckDetail.setOrganizeCode(organizeCode);
|
||||
// equipmentCheckDetail.setStandardValue(mesEquipmentCheck.getStandardValue());
|
||||
// equipmentCheckDetail.setDownLimit(mesEquipmentCheck.getDownLimit());
|
||||
// equipmentCheckDetail.setUpLimit(mesEquipmentCheck.getUpLimit());
|
||||
// equipmentCheckDetail.setResultType(mesEquipmentCheck.getResultType());
|
||||
// ConvertBean.serviceModelInitialize(equipmentCheckDetail, MesPcnExtConstWords.JOB);
|
||||
// equipmentCheckDetailRepository.insert(equipmentCheckDetail);
|
||||
// }
|
||||
// orderNoIndex++;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// private List<String> getOrderNo(String organizeCode,int num) {
|
||||
// try {
|
||||
// BaseResultBean oneCodeResult = syncFuncService.syncSerialNo(new GenSerialNoModel(MesPcnExtConstWords.ORDER_NO_RULE), null, organizeCode, num);
|
||||
// log.info("获取生成单号的数量:{}",oneCodeResult.getResultList().size());
|
||||
// if (oneCodeResult != null && oneCodeResult.isSuccess()) {
|
||||
// return oneCodeResult.getResultList();
|
||||
// }
|
||||
// } catch (Exception e) {
|
||||
// }
|
||||
// return null;
|
||||
// }
|
||||
//
|
||||
// private List<MesWorkOrderExt> findWorkOrderList(String organizeCode, String workCenterCode) {
|
||||
// List<MesWorkOrderExt> workOrderExtList = null;
|
||||
// List<MesWorkOrderExt> openList = getWorkOrderList(organizeCode, workCenterCode, MesPcnExtEnumUtil.WORK_ORDER_STATUS.OPEN.getValue());
|
||||
// List<MesWorkOrderExt> landedList = getWorkOrderList(organizeCode, workCenterCode, MesPcnExtEnumUtil.WORK_ORDER_STATUS.LANDED.getValue());
|
||||
// if (!CollectionUtils.isEmpty(openList) || !CollectionUtils.isEmpty(landedList)) {
|
||||
// workOrderExtList = new ArrayList<>();
|
||||
// if (!CollectionUtils.isEmpty(openList)) {
|
||||
// workOrderExtList.addAll(openList);
|
||||
// }
|
||||
// if (!CollectionUtils.isEmpty(landedList)) {
|
||||
// workOrderExtList.addAll(landedList);
|
||||
// }
|
||||
// }
|
||||
// return workOrderExtList;
|
||||
// }
|
||||
//
|
||||
// private List<MesWorkOrderExt> getWorkOrderList(String organizeCode, String workCenterCode, Integer workOrderStatus) {
|
||||
// DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
|
||||
// DdlPreparedPack.getNumEqualPack(workOrderStatus, MesPcnExtConstWords.WORK_ORDER_STATUS, packBean);
|
||||
// DdlPreparedPack.getStringEqualPack(workCenterCode, MesPcnExtConstWords.WORK_CENTER_CODE, packBean);
|
||||
// return workOrderExtRepository.findByHqlWhere(packBean);
|
||||
// }
|
||||
//
|
||||
// private List<MesOrderJob> getOrderJobList(String organizeCode, String workCenterCode, String shiftCode, String checkType, String produceTime) {
|
||||
// DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
|
||||
// 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.HANDLER_METHOD.AUTOMATICALLY_CREATED.getValue(), MesPcnExtConstWords.HANDLER_METHOD, packBean);
|
||||
// DdlPreparedPack.getStringEqualPack(workCenterCode, MesPcnExtConstWords.WORK_CENTER_CODE, packBean);
|
||||
// DdlPreparedPack.getStringEqualPack(shiftCode, MesPcnExtConstWords.SHIFT_CODE, packBean);
|
||||
// DdlPreparedPack.getStringEqualPack(checkType, MesPcnExtConstWords.CHECK_TYPE, packBean);
|
||||
// String nowProduceTime = TimeTool.getToday() + MesPcnExtConstWords.ONE_SPACE + produceTime;
|
||||
// String lastProduceTime;
|
||||
// if (checkType.equals(MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.DAY_CHECK.getValue())) {
|
||||
// DdlPreparedPack.getStringEqualPack(nowProduceTime, MesPcnExtConstWords.GENERATE_TIME, packBean);
|
||||
// } 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);
|
||||
// DdlPreparedPack.timeBuilder(lastProduceTime, nowProduceTime, MesPcnExtConstWords.GENERATE_TIME, packBean, true);
|
||||
// } 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);
|
||||
// DdlPreparedPack.timeBuilder(lastProduceTime, nowProduceTime, MesPcnExtConstWords.GENERATE_TIME, packBean, true);
|
||||
// } else {
|
||||
// lastProduceTime = TimeTool.timeCalc(TimeTool.stringParseToDate(nowProduceTime), Calendar.YEAR, -1, MesPcnExtConstWords.DATETIME_FORMAT);
|
||||
// DdlPreparedPack.timeBuilder(lastProduceTime, nowProduceTime, MesPcnExtConstWords.GENERATE_TIME, packBean, true);
|
||||
// }
|
||||
// return orderJobRepository.findByHqlWhere(packBean);
|
||||
// }
|
||||
//
|
||||
// private List<MesOrderRule> getOrderRuleList(String organizeCode, String workCenterCode, String checkType) {
|
||||
// DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
|
||||
// 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_CREATE_RULE.TIME_TO_CREATE.getValue(), MesPcnExtConstWords.CREATE_RULE, packBean);
|
||||
// DdlPreparedPack.getStringEqualPack(workCenterCode, MesPcnExtConstWords.WORK_CENTER_CODE, packBean);
|
||||
// DdlPreparedPack.getStringEqualPack(checkType, MesPcnExtConstWords.CHECK_TYPE, packBean);
|
||||
// return orderRuleRepository.findByHqlWhere(packBean);
|
||||
// }
|
||||
//
|
||||
// private List<String> getCheckTypelist() {
|
||||
// List<String> checkTypeList = new ArrayList<>();
|
||||
// String dayCheck = MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.DAY_CHECK.getValue();
|
||||
// String weekCheck = MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.WEEK_CHECK.getValue();
|
||||
// String monthCheck = MesPcnExtEnumUtil.MES_EQUIPMENT_CHECK_TYPE.MONTH_CHECK.getValue();
|
||||
// checkTypeList.add(weekCheck);
|
||||
// checkTypeList.add(dayCheck);
|
||||
// checkTypeList.add(monthCheck);
|
||||
// return checkTypeList;
|
||||
// }
|
||||
//
|
||||
// private List<MesEpEquipmentCheck> getEquipmentCheckList(String organizeCode, String checkType) {
|
||||
// DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
|
||||
// DdlPreparedPack.getStringEqualPack(checkType, MesPcnExtConstWords.CHECK_TYPE, packBean);
|
||||
// return equipmentCheckRepository.findByHqlWhere(packBean);
|
||||
// }
|
||||
//}
|
||||
|
@ -1,247 +1,247 @@
|
||||
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.job.ep.IEpQManageCheckOrderService;
|
||||
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.util.MesPcnExtConstWords;
|
||||
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtEnumUtil;
|
||||
import cn.estsh.i3plus.mes.pcn.api.iservice.busi.ISyncFuncService;
|
||||
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
|
||||
import cn.estsh.i3plus.platform.common.tool.TimeTool;
|
||||
import cn.estsh.i3plus.pojo.base.bean.BaseResultBean;
|
||||
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
|
||||
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
|
||||
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
|
||||
import cn.estsh.i3plus.pojo.mes.model.GenSerialNoModel;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @Author: wangjie
|
||||
* @CreateDate: 2019/8/23 1:16 PM
|
||||
* @Description: EP-Q管理单据定时任务
|
||||
**/
|
||||
@Slf4j
|
||||
@Service
|
||||
public class EpQManageCheckOrderService implements IEpQManageCheckOrderService {
|
||||
|
||||
@Autowired
|
||||
private MesProcessCellRepository processCellRepository;
|
||||
|
||||
@Autowired
|
||||
private MesProcessQManageRepository processQManageRepository;
|
||||
|
||||
@Autowired
|
||||
private MesQManageTaskDetailRepository qManageTaskDetailRepository;
|
||||
|
||||
@Autowired
|
||||
private MesOrderRuleRepository orderRuleRepository;
|
||||
|
||||
@Autowired
|
||||
private MesOrderJobRepository orderJobRepository;
|
||||
|
||||
@Autowired
|
||||
private IWorkCenterExtService workCenterExtService;
|
||||
|
||||
@Autowired
|
||||
private MesWorkOrderExtRepository workOrderExtRepository;
|
||||
|
||||
@Autowired
|
||||
private ISyncFuncService syncFuncService;
|
||||
|
||||
@Override
|
||||
public void doQManageCheckOrder(String organizeCode) {
|
||||
List<MesOrderRule> orderRuleDbList = getOrderRuleList(organizeCode);
|
||||
if (CollectionUtils.isEmpty(orderRuleDbList)) {
|
||||
log.info("Pcn处理Q管理点检单生成JOB,未配置单据规则");
|
||||
return;
|
||||
}
|
||||
|
||||
Map<String, List<MesOrderRule>> workCenterCodeMap = orderRuleDbList.stream()
|
||||
.filter(o -> (null != o && !StringUtils.isEmpty(o.getWorkCenterCode()) && !StringUtils.isEmpty(o.getProduceTime())))
|
||||
.collect(Collectors.groupingBy(MesOrderRule::getWorkCenterCode));
|
||||
log.info("Pcn处理Q管理点检单生成JOB,生成包含以下生产线{}", CollectionUtils.isEmpty(workCenterCodeMap) ? null : workCenterCodeMap.keySet().toString());
|
||||
|
||||
for (String workCenterCode : workCenterCodeMap.keySet()) {
|
||||
if (StringUtils.isEmpty(workCenterCode)) continue;
|
||||
|
||||
List<MesOrderRule> orderRuleList = workCenterCodeMap.get(workCenterCode);
|
||||
if (CollectionUtils.isEmpty(orderRuleList)) continue;
|
||||
|
||||
MesWorkOrderExt workOrderExt = getWorkOrderByStatus(organizeCode, workCenterCode);
|
||||
|
||||
Map<String, List<MesProcessCell>> processCodeMap = getProcessCodeMapByCenter(organizeCode, workCenterCode);
|
||||
List<String> processCodeList = getProcessCodeList(processCodeMap);
|
||||
log.info("Pcn处理Q管理点检单生成JOB,生产线[{}]配置的数据量processCodeMap[{}],processCodeList[{}]",
|
||||
workCenterCode, CollectionUtils.isEmpty(processCodeMap) ? 0 : processCodeMap.size(), CollectionUtils.isEmpty(processCodeList) ? 0 : processCodeList.size());
|
||||
|
||||
List<MesProcessQManage> processQManageList = getProcessQManageList(workOrderExt, processCodeList);
|
||||
|
||||
for (MesOrderRule orderRule : orderRuleList) {
|
||||
if (null == orderRule) continue;
|
||||
|
||||
String produceTime = orderRule.getProduceTime() + MesPcnExtConstWords.APPEND_SECONDS;
|
||||
|
||||
if (TimeTool.stringParseToDate(TimeTool.getNowTime(MesPcnExtConstWords.TIME_FORMAT)).compareTo(TimeTool.stringParseToDate(produceTime)) >= 0) {
|
||||
|
||||
String shiftCode = getCurShiftCode(orderRule.getShiftCode(), organizeCode, workCenterCode);
|
||||
if (StringUtils.isEmpty(shiftCode)) {
|
||||
log.info("Pcn处理Q管理点检单生成JOB,生产线[{}]Q管理单据存在生成时间[{}]的单据规则,但未配置班次或生产线未启动班次", workCenterCode, produceTime);
|
||||
continue;
|
||||
}
|
||||
|
||||
List<MesOrderJob> orderJobList = getOrderJobList(organizeCode, workCenterCode, shiftCode, produceTime);
|
||||
if (!CollectionUtils.isEmpty(orderJobList)) continue;
|
||||
|
||||
if (null == workOrderExt) {
|
||||
log.info("Pcn处理Q管理点检单生成JOB,生产线[{}]还未生成时间[{}]班次[{}]的Q管理点检单据,但未查询到启动或下达的工单", workCenterCode, produceTime, shiftCode);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (CollectionUtils.isEmpty(processCodeList)) {
|
||||
log.info("Pcn处理Q管理点检单生成JOB,生产线[{}]还未生成时间[{}]班次[{}]的Q管理点检单据,但未配置工位工序关系", workCenterCode, produceTime, shiftCode);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (CollectionUtils.isEmpty(processQManageList)) {
|
||||
log.info("Pcn处理Q管理点检单生成JOB,生产线[{}]还未生成时间[{}]班次[{}]的Q管理点检单据,但根据生产线查询到顺序最小的一个[{}]状态的工单[{}]关联的物料编码[{}]与工序代码{}未配置Q管理项目信息",
|
||||
workCenterCode, produceTime, shiftCode, MesPcnExtEnumUtil.WORK_ORDER_STATUS.valueOfDescription(workOrderExt.getWorkOrderStatus()), workOrderExt.getOrderNo(), workOrderExt.getPartNo(), processCodeList.toString());
|
||||
continue;
|
||||
}
|
||||
|
||||
log.info("Pcn处理Q管理点检单生成JOB,生产线[{}]正在生成时间[{}]班次[{}]的Q管理单据", workCenterCode, produceTime, shiftCode);
|
||||
String orderNo = getOrderNo(organizeCode);
|
||||
if (StringUtils.isEmpty(orderNo)) {
|
||||
log.info("Pcn处理Q管理点检单生成JOB,生产线[{}]生成时间[{}]班次[{}]的Q管理单据时生成单据号失败", workCenterCode, produceTime, shiftCode);
|
||||
continue;
|
||||
}
|
||||
insertQManageCheckOrder(organizeCode, workCenterCode, shiftCode, produceTime, orderNo, processQManageList, 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());
|
||||
}
|
||||
|
||||
private Map<String, List<MesProcessCell>> getProcessCodeMapByCenter(String organizeCode, String workCenterCode) {
|
||||
List<MesProcessCell> processCellList = processCellRepository.findByProperty(
|
||||
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});
|
||||
return CollectionUtils.isEmpty(processCellList) ? null :
|
||||
processCellList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getProcessCode()))).collect(Collectors.groupingBy(MesProcessCell::getProcessCode));
|
||||
}
|
||||
|
||||
private List<MesProcessQManage> getProcessQManageList(MesWorkOrderExt workOrderExt, List<String> processCodeList) {
|
||||
if (null == workOrderExt) return null;
|
||||
if (CollectionUtils.isEmpty(processCodeList)) return null;
|
||||
DdlPackBean packBean = DdlPackBean.getDdlPackBean(workOrderExt.getOrganizeCode());
|
||||
DdlPreparedPack.getStringEqualPack(workOrderExt.getPartNo(), MesPcnExtConstWords.PART_NO, packBean);
|
||||
DdlPreparedPack.getInPackList(processCodeList, MesPcnExtConstWords.PROCESS_CODE, packBean);
|
||||
return processQManageRepository.findByHqlWhere(packBean);
|
||||
}
|
||||
|
||||
private List<MesOrderRule> getOrderRuleList(String 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_ORDER_TYPE.Q_MANAGE.getValue(), MesPcnExtConstWords.ORDER_TYPE, packBean);
|
||||
DdlPreparedPack.getNumEqualPack(MesPcnExtEnumUtil.MES_OR_CREATE_RULE.TIME_TO_CREATE.getValue(), MesPcnExtConstWords.CREATE_RULE, packBean);
|
||||
return orderRuleRepository.findByHqlWhere(packBean);
|
||||
}
|
||||
|
||||
private List<MesOrderJob> getOrderJobList(String organizeCode, String workCenterCode, String shiftCode, String produceTime) {
|
||||
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
|
||||
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.HANDLER_METHOD.AUTOMATICALLY_CREATED.getValue(), MesPcnExtConstWords.HANDLER_METHOD, packBean);
|
||||
DdlPreparedPack.getStringEqualPack(workCenterCode, MesPcnExtConstWords.WORK_CENTER_CODE, packBean);
|
||||
DdlPreparedPack.getStringEqualPack(shiftCode, MesPcnExtConstWords.SHIFT_CODE, packBean);
|
||||
DdlPreparedPack.getStringEqualPack(TimeTool.getToday() + MesPcnExtConstWords.ONE_SPACE + produceTime, MesPcnExtConstWords.GENERATE_TIME, packBean);
|
||||
return orderJobRepository.findByHqlWhere(packBean);
|
||||
}
|
||||
|
||||
private String getCurShiftCode(String shiftCode, String organizeCode, String workCenterCode) {
|
||||
if (StringUtils.isEmpty(shiftCode)) {
|
||||
MesWorkCenterExt workCenterExt = workCenterExtService.getWorkCenterExtByWorkCenterCode(organizeCode, workCenterCode);
|
||||
if (null != workCenterExt) {
|
||||
shiftCode = workCenterExt.getShiftCode();
|
||||
}
|
||||
}
|
||||
return shiftCode;
|
||||
}
|
||||
|
||||
private MesWorkOrderExt getWorkOrderByStatus(String organizeCode, String workCenterCode) {
|
||||
MesWorkOrderExt workOrderExt = getWorkOrderByStatus(organizeCode, workCenterCode, MesPcnExtEnumUtil.WORK_ORDER_STATUS.OPEN.getValue());
|
||||
if (null == workOrderExt) {
|
||||
workOrderExt = getWorkOrderByStatus(organizeCode, workCenterCode, MesPcnExtEnumUtil.WORK_ORDER_STATUS.LANDED.getValue());
|
||||
}
|
||||
return workOrderExt;
|
||||
}
|
||||
|
||||
private MesWorkOrderExt getWorkOrderByStatus(String organizeCode, String workCenterCode, Integer workOrderStatus) {
|
||||
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
|
||||
DdlPreparedPack.getNumEqualPack(workOrderStatus, MesPcnExtConstWords.WORK_ORDER_STATUS, packBean);
|
||||
DdlPreparedPack.getStringEqualPack(workCenterCode, MesPcnExtConstWords.WORK_CENTER_CODE, packBean);
|
||||
DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.ASC.getValue()}, new String[]{MesPcnExtConstWords.SEQ}, packBean);
|
||||
return workOrderExtRepository.getByProperty(packBean);
|
||||
}
|
||||
|
||||
private String getOrderNo(String organizeCode) {
|
||||
String orderNo = null;
|
||||
try {
|
||||
BaseResultBean oneCodeResult = syncFuncService.syncSerialNo(new GenSerialNoModel(MesPcnExtConstWords.ORDER_NO_RULE), null, organizeCode, 1);
|
||||
if (oneCodeResult != null && oneCodeResult.isSuccess()) {
|
||||
orderNo = oneCodeResult.getResultList().get(0).toString();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
}
|
||||
return orderNo;
|
||||
}
|
||||
|
||||
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();
|
||||
orderJob.setTaskType(MesPcnExtEnumUtil.MES_OR_TASK_TYPE.PREPARE_TASK.getValue());
|
||||
orderJob.setOrderType(MesPcnExtEnumUtil.MES_OR_ORDER_TYPE.Q_MANAGE.getValue());
|
||||
orderJob.setHandlerMethod(MesPcnExtEnumUtil.HANDLER_METHOD.AUTOMATICALLY_CREATED.getValue());
|
||||
orderJob.setOrderNo(orderNo);
|
||||
orderJob.setWorkCenterCode(workCenterCode);
|
||||
orderJob.setOrderStatus(MesPcnExtEnumUtil.MES_ORJ_ORDER_STATUS.CREATE.getValue());
|
||||
orderJob.setOrderDate(TimeTool.getToday());
|
||||
orderJob.setWorkTime(orderJob.getOrderDate());
|
||||
orderJob.setGenerateTime(orderJob.getOrderDate() + MesPcnExtConstWords.ONE_SPACE + produceTime);
|
||||
orderJob.setShiftCode(shiftCode);
|
||||
orderJob.setOrganizeCode(organizeCode);
|
||||
ConvertBean.serviceModelInitialize(orderJob, MesPcnExtConstWords.JOB);
|
||||
orderJobRepository.insert(orderJob);
|
||||
|
||||
for (MesProcessQManage processQManage : processQManageList) {
|
||||
MesQManageTaskDetail qManageTaskDetail = new MesQManageTaskDetail();
|
||||
BeanUtils.copyProperties(processQManage, qManageTaskDetail, MesPcnExtConstWords.ID);
|
||||
qManageTaskDetail.setOrderNo(orderNo);
|
||||
|
||||
List<MesProcessCell> processCellList = processCodeMap.get(processQManage.getProcessCode());
|
||||
if (!CollectionUtils.isEmpty(processCellList)) {
|
||||
qManageTaskDetail.setWorkCellCode(processCellList.get(0).getWorkCellCode());
|
||||
qManageTaskDetail.setWorkCellName(processCellList.get(0).getWorkCellName());
|
||||
qManageTaskDetail.setProcessName(processCellList.get(0).getProcessName());
|
||||
}
|
||||
|
||||
qManageTaskDetail.setIsTeamConfirm(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
|
||||
qManageTaskDetail.setIsQualityConfirm(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
|
||||
ConvertBean.serviceModelInitialize(qManageTaskDetail, MesPcnExtConstWords.JOB);
|
||||
qManageTaskDetailRepository.insert(qManageTaskDetail);
|
||||
}
|
||||
}
|
||||
}
|
||||
//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.job.ep.IEpQManageCheckOrderService;
|
||||
//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.util.MesPcnExtConstWords;
|
||||
//import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtEnumUtil;
|
||||
//import cn.estsh.i3plus.mes.pcn.api.iservice.busi.ISyncFuncService;
|
||||
//import cn.estsh.i3plus.platform.common.convert.ConvertBean;
|
||||
//import cn.estsh.i3plus.platform.common.tool.TimeTool;
|
||||
//import cn.estsh.i3plus.pojo.base.bean.BaseResultBean;
|
||||
//import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
|
||||
//import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
|
||||
//import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
|
||||
//import cn.estsh.i3plus.pojo.mes.model.GenSerialNoModel;
|
||||
//import lombok.extern.slf4j.Slf4j;
|
||||
//import org.springframework.beans.BeanUtils;
|
||||
//import org.springframework.beans.factory.annotation.Autowired;
|
||||
//import org.springframework.stereotype.Service;
|
||||
//import org.springframework.util.CollectionUtils;
|
||||
//import org.springframework.util.StringUtils;
|
||||
//
|
||||
//import java.util.ArrayList;
|
||||
//import java.util.List;
|
||||
//import java.util.Map;
|
||||
//import java.util.stream.Collectors;
|
||||
//
|
||||
///**
|
||||
// * @Author: wangjie
|
||||
// * @CreateDate: 2019/8/23 1:16 PM
|
||||
// * @Description: EP-Q管理单据定时任务
|
||||
// **/
|
||||
//@Slf4j
|
||||
//@Service
|
||||
//public class EpQManageCheckOrderService implements IEpQManageCheckOrderService {
|
||||
//
|
||||
// @Autowired
|
||||
// private MesProcessCellRepository processCellRepository;
|
||||
//
|
||||
// @Autowired
|
||||
// private MesProcessQManageRepository processQManageRepository;
|
||||
//
|
||||
// @Autowired
|
||||
// private MesQManageTaskDetailRepository qManageTaskDetailRepository;
|
||||
//
|
||||
// @Autowired
|
||||
// private MesOrderRuleRepository orderRuleRepository;
|
||||
//
|
||||
// @Autowired
|
||||
// private MesOrderJobRepository orderJobRepository;
|
||||
//
|
||||
// @Autowired
|
||||
// private IWorkCenterExtService workCenterExtService;
|
||||
//
|
||||
// @Autowired
|
||||
// private MesWorkOrderExtRepository workOrderExtRepository;
|
||||
//
|
||||
// @Autowired
|
||||
// private ISyncFuncService syncFuncService;
|
||||
//
|
||||
// @Override
|
||||
// public void doQManageCheckOrder(String organizeCode) {
|
||||
// List<MesOrderRule> orderRuleDbList = getOrderRuleList(organizeCode);
|
||||
// if (CollectionUtils.isEmpty(orderRuleDbList)) {
|
||||
// log.info("Pcn处理Q管理点检单生成JOB,未配置单据规则");
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// Map<String, List<MesOrderRule>> workCenterCodeMap = orderRuleDbList.stream()
|
||||
// .filter(o -> (null != o && !StringUtils.isEmpty(o.getWorkCenterCode()) && !StringUtils.isEmpty(o.getProduceTime())))
|
||||
// .collect(Collectors.groupingBy(MesOrderRule::getWorkCenterCode));
|
||||
// log.info("Pcn处理Q管理点检单生成JOB,生成包含以下生产线{}", CollectionUtils.isEmpty(workCenterCodeMap) ? null : workCenterCodeMap.keySet().toString());
|
||||
//
|
||||
// for (String workCenterCode : workCenterCodeMap.keySet()) {
|
||||
// if (StringUtils.isEmpty(workCenterCode)) continue;
|
||||
//
|
||||
// List<MesOrderRule> orderRuleList = workCenterCodeMap.get(workCenterCode);
|
||||
// if (CollectionUtils.isEmpty(orderRuleList)) continue;
|
||||
//
|
||||
// MesWorkOrderExt workOrderExt = getWorkOrderByStatus(organizeCode, workCenterCode);
|
||||
//
|
||||
// Map<String, List<MesProcessCell>> processCodeMap = getProcessCodeMapByCenter(organizeCode, workCenterCode);
|
||||
// List<String> processCodeList = getProcessCodeList(processCodeMap);
|
||||
// log.info("Pcn处理Q管理点检单生成JOB,生产线[{}]配置的数据量processCodeMap[{}],processCodeList[{}]",
|
||||
// workCenterCode, CollectionUtils.isEmpty(processCodeMap) ? 0 : processCodeMap.size(), CollectionUtils.isEmpty(processCodeList) ? 0 : processCodeList.size());
|
||||
//
|
||||
// List<MesProcessQManage> processQManageList = getProcessQManageList(workOrderExt, processCodeList);
|
||||
//
|
||||
// for (MesOrderRule orderRule : orderRuleList) {
|
||||
// if (null == orderRule) continue;
|
||||
//
|
||||
// String produceTime = orderRule.getProduceTime() + MesPcnExtConstWords.APPEND_SECONDS;
|
||||
//
|
||||
// if (TimeTool.stringParseToDate(TimeTool.getNowTime(MesPcnExtConstWords.TIME_FORMAT)).compareTo(TimeTool.stringParseToDate(produceTime)) >= 0) {
|
||||
//
|
||||
// String shiftCode = getCurShiftCode(orderRule.getShiftCode(), organizeCode, workCenterCode);
|
||||
// if (StringUtils.isEmpty(shiftCode)) {
|
||||
// log.info("Pcn处理Q管理点检单生成JOB,生产线[{}]Q管理单据存在生成时间[{}]的单据规则,但未配置班次或生产线未启动班次", workCenterCode, produceTime);
|
||||
// continue;
|
||||
// }
|
||||
//
|
||||
// List<MesOrderJob> orderJobList = getOrderJobList(organizeCode, workCenterCode, shiftCode, produceTime);
|
||||
// if (!CollectionUtils.isEmpty(orderJobList)) continue;
|
||||
//
|
||||
// if (null == workOrderExt) {
|
||||
// log.info("Pcn处理Q管理点检单生成JOB,生产线[{}]还未生成时间[{}]班次[{}]的Q管理点检单据,但未查询到启动或下达的工单", workCenterCode, produceTime, shiftCode);
|
||||
// continue;
|
||||
// }
|
||||
//
|
||||
// if (CollectionUtils.isEmpty(processCodeList)) {
|
||||
// log.info("Pcn处理Q管理点检单生成JOB,生产线[{}]还未生成时间[{}]班次[{}]的Q管理点检单据,但未配置工位工序关系", workCenterCode, produceTime, shiftCode);
|
||||
// continue;
|
||||
// }
|
||||
//
|
||||
// if (CollectionUtils.isEmpty(processQManageList)) {
|
||||
// log.info("Pcn处理Q管理点检单生成JOB,生产线[{}]还未生成时间[{}]班次[{}]的Q管理点检单据,但根据生产线查询到顺序最小的一个[{}]状态的工单[{}]关联的物料编码[{}]与工序代码{}未配置Q管理项目信息",
|
||||
// workCenterCode, produceTime, shiftCode, MesPcnExtEnumUtil.WORK_ORDER_STATUS.valueOfDescription(workOrderExt.getWorkOrderStatus()), workOrderExt.getOrderNo(), workOrderExt.getPartNo(), processCodeList.toString());
|
||||
// continue;
|
||||
// }
|
||||
//
|
||||
// log.info("Pcn处理Q管理点检单生成JOB,生产线[{}]正在生成时间[{}]班次[{}]的Q管理单据", workCenterCode, produceTime, shiftCode);
|
||||
// String orderNo = getOrderNo(organizeCode);
|
||||
// if (StringUtils.isEmpty(orderNo)) {
|
||||
// log.info("Pcn处理Q管理点检单生成JOB,生产线[{}]生成时间[{}]班次[{}]的Q管理单据时生成单据号失败", workCenterCode, produceTime, shiftCode);
|
||||
// continue;
|
||||
// }
|
||||
// insertQManageCheckOrder(organizeCode, workCenterCode, shiftCode, produceTime, orderNo, processQManageList, 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());
|
||||
// }
|
||||
//
|
||||
// private Map<String, List<MesProcessCell>> getProcessCodeMapByCenter(String organizeCode, String workCenterCode) {
|
||||
// List<MesProcessCell> processCellList = processCellRepository.findByProperty(
|
||||
// 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});
|
||||
// return CollectionUtils.isEmpty(processCellList) ? null :
|
||||
// processCellList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getProcessCode()))).collect(Collectors.groupingBy(MesProcessCell::getProcessCode));
|
||||
// }
|
||||
//
|
||||
// private List<MesProcessQManage> getProcessQManageList(MesWorkOrderExt workOrderExt, List<String> processCodeList) {
|
||||
// if (null == workOrderExt) return null;
|
||||
// if (CollectionUtils.isEmpty(processCodeList)) return null;
|
||||
// DdlPackBean packBean = DdlPackBean.getDdlPackBean(workOrderExt.getOrganizeCode());
|
||||
// DdlPreparedPack.getStringEqualPack(workOrderExt.getPartNo(), MesPcnExtConstWords.PART_NO, packBean);
|
||||
// DdlPreparedPack.getInPackList(processCodeList, MesPcnExtConstWords.PROCESS_CODE, packBean);
|
||||
// return processQManageRepository.findByHqlWhere(packBean);
|
||||
// }
|
||||
//
|
||||
// private List<MesOrderRule> getOrderRuleList(String 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_ORDER_TYPE.Q_MANAGE.getValue(), MesPcnExtConstWords.ORDER_TYPE, packBean);
|
||||
// DdlPreparedPack.getNumEqualPack(MesPcnExtEnumUtil.MES_OR_CREATE_RULE.TIME_TO_CREATE.getValue(), MesPcnExtConstWords.CREATE_RULE, packBean);
|
||||
// return orderRuleRepository.findByHqlWhere(packBean);
|
||||
// }
|
||||
//
|
||||
// private List<MesOrderJob> getOrderJobList(String organizeCode, String workCenterCode, String shiftCode, String produceTime) {
|
||||
// DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
|
||||
// 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.HANDLER_METHOD.AUTOMATICALLY_CREATED.getValue(), MesPcnExtConstWords.HANDLER_METHOD, packBean);
|
||||
// DdlPreparedPack.getStringEqualPack(workCenterCode, MesPcnExtConstWords.WORK_CENTER_CODE, packBean);
|
||||
// DdlPreparedPack.getStringEqualPack(shiftCode, MesPcnExtConstWords.SHIFT_CODE, packBean);
|
||||
// DdlPreparedPack.getStringEqualPack(TimeTool.getToday() + MesPcnExtConstWords.ONE_SPACE + produceTime, MesPcnExtConstWords.GENERATE_TIME, packBean);
|
||||
// return orderJobRepository.findByHqlWhere(packBean);
|
||||
// }
|
||||
//
|
||||
// private String getCurShiftCode(String shiftCode, String organizeCode, String workCenterCode) {
|
||||
// if (StringUtils.isEmpty(shiftCode)) {
|
||||
// MesWorkCenterExt workCenterExt = workCenterExtService.getWorkCenterExtByWorkCenterCode(organizeCode, workCenterCode);
|
||||
// if (null != workCenterExt) {
|
||||
// shiftCode = workCenterExt.getShiftCode();
|
||||
// }
|
||||
// }
|
||||
// return shiftCode;
|
||||
// }
|
||||
//
|
||||
// private MesWorkOrderExt getWorkOrderByStatus(String organizeCode, String workCenterCode) {
|
||||
// MesWorkOrderExt workOrderExt = getWorkOrderByStatus(organizeCode, workCenterCode, MesPcnExtEnumUtil.WORK_ORDER_STATUS.OPEN.getValue());
|
||||
// if (null == workOrderExt) {
|
||||
// workOrderExt = getWorkOrderByStatus(organizeCode, workCenterCode, MesPcnExtEnumUtil.WORK_ORDER_STATUS.LANDED.getValue());
|
||||
// }
|
||||
// return workOrderExt;
|
||||
// }
|
||||
//
|
||||
// private MesWorkOrderExt getWorkOrderByStatus(String organizeCode, String workCenterCode, Integer workOrderStatus) {
|
||||
// DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
|
||||
// DdlPreparedPack.getNumEqualPack(workOrderStatus, MesPcnExtConstWords.WORK_ORDER_STATUS, packBean);
|
||||
// DdlPreparedPack.getStringEqualPack(workCenterCode, MesPcnExtConstWords.WORK_CENTER_CODE, packBean);
|
||||
// DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.ASC.getValue()}, new String[]{MesPcnExtConstWords.SEQ}, packBean);
|
||||
// return workOrderExtRepository.getByProperty(packBean);
|
||||
// }
|
||||
//
|
||||
// private String getOrderNo(String organizeCode) {
|
||||
// String orderNo = null;
|
||||
// try {
|
||||
// BaseResultBean oneCodeResult = syncFuncService.syncSerialNo(new GenSerialNoModel(MesPcnExtConstWords.ORDER_NO_RULE), null, organizeCode, 1);
|
||||
// if (oneCodeResult != null && oneCodeResult.isSuccess()) {
|
||||
// orderNo = oneCodeResult.getResultList().get(0).toString();
|
||||
// }
|
||||
// } catch (Exception e) {
|
||||
// }
|
||||
// return orderNo;
|
||||
// }
|
||||
//
|
||||
// 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();
|
||||
// orderJob.setTaskType(MesPcnExtEnumUtil.MES_OR_TASK_TYPE.PREPARE_TASK.getValue());
|
||||
// orderJob.setOrderType(MesPcnExtEnumUtil.MES_OR_ORDER_TYPE.Q_MANAGE.getValue());
|
||||
// orderJob.setHandlerMethod(MesPcnExtEnumUtil.HANDLER_METHOD.AUTOMATICALLY_CREATED.getValue());
|
||||
// orderJob.setOrderNo(orderNo);
|
||||
// orderJob.setWorkCenterCode(workCenterCode);
|
||||
// orderJob.setOrderStatus(MesPcnExtEnumUtil.MES_ORJ_ORDER_STATUS.CREATE.getValue());
|
||||
// orderJob.setOrderDate(TimeTool.getToday());
|
||||
// orderJob.setWorkTime(orderJob.getOrderDate());
|
||||
// orderJob.setGenerateTime(orderJob.getOrderDate() + MesPcnExtConstWords.ONE_SPACE + produceTime);
|
||||
// orderJob.setShiftCode(shiftCode);
|
||||
// orderJob.setOrganizeCode(organizeCode);
|
||||
// ConvertBean.serviceModelInitialize(orderJob, MesPcnExtConstWords.JOB);
|
||||
// orderJobRepository.insert(orderJob);
|
||||
//
|
||||
// for (MesProcessQManage processQManage : processQManageList) {
|
||||
// MesQManageTaskDetail qManageTaskDetail = new MesQManageTaskDetail();
|
||||
// BeanUtils.copyProperties(processQManage, qManageTaskDetail, MesPcnExtConstWords.ID);
|
||||
// qManageTaskDetail.setOrderNo(orderNo);
|
||||
//
|
||||
// List<MesProcessCell> processCellList = processCodeMap.get(processQManage.getProcessCode());
|
||||
// if (!CollectionUtils.isEmpty(processCellList)) {
|
||||
// qManageTaskDetail.setWorkCellCode(processCellList.get(0).getWorkCellCode());
|
||||
// qManageTaskDetail.setWorkCellName(processCellList.get(0).getWorkCellName());
|
||||
// qManageTaskDetail.setProcessName(processCellList.get(0).getProcessName());
|
||||
// }
|
||||
//
|
||||
// qManageTaskDetail.setIsTeamConfirm(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
|
||||
// qManageTaskDetail.setIsQualityConfirm(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
|
||||
// ConvertBean.serviceModelInitialize(qManageTaskDetail, MesPcnExtConstWords.JOB);
|
||||
// qManageTaskDetailRepository.insert(qManageTaskDetail);
|
||||
// }
|
||||
// }
|
||||
//}
|
Loading…
Reference in New Issue