生产工单日志

tags/yfai-mes-ext-v1.7
gsz 9 months ago
parent 933bc2fab0
commit 92a0136482

@ -1,5 +1,7 @@
package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrder;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrderLog;
import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil;
@ -12,4 +14,6 @@ import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil;
public interface IMesWorkOrderLogService extends IBaseMesService<MesWorkOrderLog> {
void saveMesWorkOrderLog(MesWorkOrder mesWorkOrder, MesExtEnumUtil.WORK_ORDER_LOG_TYPE type,double qty);
ListPager queryMesWorkOrderLogByPage(MesWorkOrderLog mesWorkOrderLog, Pager pager);
}

@ -0,0 +1,49 @@
package cn.estsh.i3plus.ext.mes.apiservice.controller.base;
import cn.estsh.i3plus.ext.mes.api.base.IMesWorkOrderLogService;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrderLog;
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 cn.estsh.impp.framework.boot.util.ValidatorBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Description :
* @Reference :
* @Author : gsz
* @CreateDate 2024/8/26 17:50
* @Modify:
**/
@Api("生产工单日志")
@RestController
@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesWorkOrderLog")
public class MesWorkOrderLogController extends BaseMesController<MesWorkOrderLog>{
@Autowired
private IMesWorkOrderLogService mesWorkOrderLogService;
@GetMapping(value = "/group-by-order-no/query")
@ApiOperation(value = "生产工单日志", notes = "生产工单日志")
public ResultBean queryMesWorkOrderLogByPage(MesWorkOrderLog mesWorkOrderLog, Pager pager) {
try {
ValidatorBean.beginValid(mesWorkOrderLog)
.notNull("organizeCode", mesWorkOrderLog.getOrganizeCode());
return ResultBean.success("查询成功").setListPager(mesWorkOrderLogService.queryMesWorkOrderLogByPage(mesWorkOrderLog, pager))
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
}

@ -56,11 +56,6 @@ public class MesQmsSuspiciousService extends BaseMesService<MesQmsSuspicious> im
@Override
public void doQmsSuspiciousByPartInspection(List<MesPartInspection> mesPartInspectionList, String organizeCode) {
List<Long> idList = mesPartInspectionList.stream().map(MesPartInspection::getId).collect(Collectors.toList());
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getInPackList(idList, "pid", packBean);
List<MesPartInspectionDetail> partInspectionDetails = partInspectionDetailRDao.findByHqlWhere(packBean);
Map<Long, List<MesPartInspectionDetail>> idDetailListMap = partInspectionDetails.stream().collect(Collectors.groupingBy(MesPartInspectionDetail::getPid));
Map<String, List<MesPartInspection>> workOrderPartMap = mesPartInspectionList.stream().collect(Collectors.groupingBy(MesPartInspection::getPartNo));
//根据物料对可疑品分组
@ -128,6 +123,12 @@ public class MesQmsSuspiciousService extends BaseMesService<MesQmsSuspicious> im
}
}
}
List<Long> idList = mesPartInspectionsListTime.stream().map(MesPartInspection::getId).collect(Collectors.toList());
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getInPackList(idList, "pid", packBean);
List<MesPartInspectionDetail> partInspectionDetails = partInspectionDetailRDao.findByHqlWhere(packBean);
Map<Long, List<MesPartInspectionDetail>> idDetailListMap = partInspectionDetails.stream().collect(Collectors.groupingBy(MesPartInspectionDetail::getPid));
//根据时间分组发送
// 批次的:
//A 2024-08-21 08:00 10

@ -1,17 +1,33 @@
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base;
import cn.estsh.i3plus.ext.mes.api.base.IMesWorkOrderLogService;
import cn.estsh.i3plus.ext.mes.apiservice.utils.BeanUtil;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.common.PagerHelper;
import cn.estsh.i3plus.pojo.base.util.StringUtil;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrder;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrderLog;
import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil;
import lombok.extern.slf4j.Slf4j;
import org.hibernate.SQLQuery;
import org.hibernate.transform.Transformers;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import javax.persistence.EntityManager;
import javax.persistence.Query;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@Service
@Slf4j
public class MesWorkOrderLogService extends BaseMesService<MesWorkOrderLog> implements IMesWorkOrderLogService {
@Autowired
private EntityManager entityManager;
@Override
public void saveMesWorkOrderLog(MesWorkOrder mesWorkOrder, MesExtEnumUtil.WORK_ORDER_LOG_TYPE type, double qty) {
MesWorkOrderLog workOrderLog = new MesWorkOrderLog();
@ -20,4 +36,89 @@ public class MesWorkOrderLogService extends BaseMesService<MesWorkOrderLog> impl
workOrderLog.setModifyQty(qty);
baseRDao.insert(workOrderLog);
}
@Override
public ListPager queryMesWorkOrderLogByPage(MesWorkOrderLog mesWorkOrderLog, Pager pager) {
String org = mesWorkOrderLog.getOrganizeCode();
String startTime = mesWorkOrderLog.getCreateDateTimeStart();
String endTime = mesWorkOrderLog.getCreateDateTimeEnd();
List<MesWorkOrderLog> mesWorkOrderLogList = new ArrayList<>();
String commHql = " SELECT " +
" wol.id as id," +
" wol.organize_code as organizeCode," +
" wol.create_date_time AS createDatetime, " +
" wol.create_user AS createUser, " +
" wol.modify_date_time AS modifyDatetime, " +
" wol.modify_user AS modifyUser, " +
" wol.work_order_no as workOrderNo," +
" wol.work_order_type as workOrderType," +
" wol.work_order_seq as workOrderSeq," +
" wol.cust_part_no as custPartNo," +
" wol.qty as qty,"+
" wol.area_code as areaCode," +
" wol.work_center_code as workCenterCode," +
" wol.product_version as productVersion," +
" wol.erp_work_center as erpWorkCenter," +
" wol.work_order_status as workOrderStatus," +
" wol.shift_code as shiftCode," +
" wol.shift_name as shiftName," +
" wol.order_flag as orderFlag," +
" wol.wo_source as workOrderSource," +
" wol.adjust_qty as adjustQty,"+
" wol.modify_qty as modifyQty,"+
" wol.remark as remark ";
String sql = " from mes_work_order_log wol" +
" where 1=1 " +
" and wol.organize_code =:organizeCode " +
" and wol.work_order_type = '20' " +
" and wol.adjust_qty > 0 " +
" and wol.is_deleted ='2' " +
" and wol.is_valid ='1' ";
if (!StringUtil.isEmpty(startTime)) {
sql += " and wol.modify_date_time >=:startTime ";
}
if (!StringUtil.isEmpty(endTime)) {
sql += " and wol.modify_date_time <:endTime ";
}
if (!StringUtil.isEmpty(mesWorkOrderLog.getWorkOrderNo())) {
sql += " and wol.work_order_no ='" + mesWorkOrderLog.getWorkOrderNo() + "' ";
}
if (!StringUtil.isEmpty(mesWorkOrderLog.getWorkCenterCode())) {
sql += " and wol.work_center_code ='" + mesWorkOrderLog.getWorkCenterCode() + "' ";
}
sql += " ORDER BY wol.modify_date_time desc,work_order_no ";
Query queryObject = entityManager.createNativeQuery(commHql + sql);
queryObject.setParameter("organizeCode", org);
if (!StringUtil.isEmpty(startTime)) {
queryObject.setParameter("startTime", startTime);
}
if (!StringUtil.isEmpty(endTime)) {
queryObject.setParameter("endTime", endTime);
}
queryObject.unwrap(SQLQuery.class).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
List<HashMap<String, Object>> hashMaps = queryObject.getResultList();
if (CollectionUtils.isEmpty(hashMaps)) {
return new ListPager(mesWorkOrderLogList, pager);
}
pager = PagerHelper.getPager(pager, hashMaps.size());
queryObject.setFirstResult(pager.getStartRow()).setMaxResults(pager.getPageSize());
hashMaps = queryObject.getResultList();
for (HashMap<String, Object> hashMap : hashMaps) {
try {
mesWorkOrderLogList.add((MesWorkOrderLog) BeanUtil.populateBean(hashMap, MesWorkOrderLog.class));
} catch (Exception e) {
e.printStackTrace();
}
}
return new ListPager(mesWorkOrderLogList, pager);
}
}

Loading…
Cancel
Save