SAP生产计划字段调整

tags/yfai-mes-ext-v1.0
jun 12 months ago
parent 5c96e95600
commit 573ed6b5f8

@ -2,7 +2,7 @@ package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.mes.bean.SapProductPlan; import cn.estsh.i3plus.pojo.mes.bean.MesProductPlan;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
/** /**
@ -12,9 +12,9 @@ import io.swagger.annotations.ApiOperation;
* @CreateDate 2024/5/6 15:52 * @CreateDate 2024/5/6 15:52
* @Modify: * @Modify:
**/ **/
public interface ISapProductPlanService extends IBaseMesService<SapProductPlan> { public interface IMesProductPlanService extends IBaseMesService<MesProductPlan> {
@ApiOperation(value = "分页查询SAP生产计划", notes = "分页查询SAP生产计划") @ApiOperation(value = "分页查询SAP生产计划", notes = "分页查询SAP生产计划")
ListPager<SapProductPlan> querySapProductPlanPager(SapProductPlan sapProductPlan, Pager pager); ListPager<MesProductPlan> queryMesProductPlanPager(MesProductPlan mesProductPlan, Pager pager);
} }

@ -1,12 +1,12 @@
package cn.estsh.i3plus.ext.mes.apiservice.controller.base; package cn.estsh.i3plus.ext.mes.apiservice.controller.base;
import cn.estsh.i3plus.ext.mes.api.base.ISapProductPlanService; import cn.estsh.i3plus.ext.mes.api.base.IMesProductPlanService;
import cn.estsh.i3plus.ext.mes.apiservice.config.AuthUtilExt; import cn.estsh.i3plus.ext.mes.apiservice.config.AuthUtilExt;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant; import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.mes.bean.SapProductPlan; import cn.estsh.i3plus.pojo.mes.bean.MesProductPlan;
import cn.estsh.impp.framework.boot.exception.ImppBusiException; import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.util.ResultBean; import cn.estsh.impp.framework.boot.util.ResultBean;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
@ -24,19 +24,19 @@ import org.springframework.web.bind.annotation.RestController;
* @Modify: * @Modify:
**/ **/
@RestController @RestController
@RequestMapping(MesCommonConstant.MES_YANFEN + "/sapProductPlan") @RequestMapping(MesCommonConstant.MES_YANFEN + "/mesProductPlan")
@Api("SAP生产计划") @Api("SAP生产计划")
public class SapProductPlanController extends BaseMesController<SapProductPlan> { public class MesProductPlanController extends BaseMesController<MesProductPlan> {
@Autowired @Autowired
private ISapProductPlanService iSapProductPlanService; private IMesProductPlanService iMesProductPlanService;
@GetMapping(value = "/query-by-pager") @GetMapping(value = "/query-by-pager")
@ApiOperation(value = "分页查询SAP生产计划", notes = "分页查询SAP生产计划") @ApiOperation(value = "分页查询SAP生产计划", notes = "分页查询SAP生产计划")
public ResultBean querySapProductPlanByPager(SapProductPlan sapProductPlan, Pager pager) { public ResultBean queryMesProductPlanByPager(MesProductPlan mesProductPlan, Pager pager) {
try { try {
sapProductPlan.setOrganizeCode(AuthUtilExt.getOrganizeCode()); mesProductPlan.setOrganizeCode(AuthUtilExt.getOrganizeCode());
ListPager<SapProductPlan> listPager = iSapProductPlanService.querySapProductPlanPager(sapProductPlan, pager); ListPager<MesProductPlan> listPager = iMesProductPlanService.queryMesProductPlanPager(mesProductPlan, pager);
return ResultBean.success("查询成功") return ResultBean.success("查询成功")
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()) .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
.setListPager(listPager); .setListPager(listPager);

@ -2,7 +2,7 @@ package cn.estsh.i3plus.ext.mes.apiservice.dao;
import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.mes.bean.SapProductPlan; import cn.estsh.i3plus.pojo.mes.bean.MesProductPlan;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
/** /**
@ -12,8 +12,8 @@ import io.swagger.annotations.ApiOperation;
* @CreateDate 2024/5/7 15:13 * @CreateDate 2024/5/7 15:13
* @Modify: * @Modify:
**/ **/
public interface ISapProductPlanDao { public interface IMesProductPlanDao {
@ApiOperation(value = "分页查询SAP生产计划", notes = "分页查询SAP生产计划") @ApiOperation(value = "分页查询SAP生产计划", notes = "分页查询SAP生产计划")
ListPager<SapProductPlan> querySapProductPlanPager(SapProductPlan sapProductPlan, Pager pager); ListPager<MesProductPlan> queryMesProductPlanPager(MesProductPlan mesProductPlan, Pager pager);
} }

@ -1,12 +1,13 @@
package cn.estsh.i3plus.ext.mes.apiservice.daoimpl; package cn.estsh.i3plus.ext.mes.apiservice.daoimpl;
import cn.estsh.i3plus.ext.mes.apiservice.dao.ISapProductPlanDao; import cn.estsh.i3plus.ext.mes.apiservice.dao.IMesProductPlanDao;
import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.common.PagerHelper; import cn.estsh.i3plus.pojo.base.common.PagerHelper;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.util.StringUtil; import cn.estsh.i3plus.pojo.base.util.StringUtil;
import cn.estsh.i3plus.pojo.mes.bean.SapProductPlan; import cn.estsh.i3plus.pojo.mes.bean.MesProductPlan;
import cn.estsh.i3plus.pojo.mes.bean.MesProductPlan;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -26,34 +27,34 @@ import java.util.Objects;
**/ **/
@Service @Service
@Slf4j @Slf4j
public class SapProductPlanDaoImpl implements ISapProductPlanDao { public class MesProductPlanDaoImpl implements IMesProductPlanDao {
@Autowired @Autowired
private EntityManager entityManager; private EntityManager entityManager;
@Override @Override
public ListPager<SapProductPlan> querySapProductPlanPager(SapProductPlan sapProductPlan, Pager pager) { public ListPager<MesProductPlan> queryMesProductPlanPager(MesProductPlan mesProductPlan, Pager pager) {
//查询数据 //查询数据
StringBuffer dataHql = new StringBuffer("select sap.plnum,sap.plmat,ifnull(sap.gsmng,0) as sumQty," + StringBuffer dataHql = new StringBuffer("select sap.plan_order_no,sap.plan_part_no,ifnull(sap.plan_qty,0) as sumQty," +
"ifnull(mes.reported_qty,0) as completeQty,sap.meins,sap.psttr,sap.pedtr,sap.l_str," + "ifnull(mes.reported_qty,0) as completeQty,sap.unit,sap.plan_start_date,sap.plan_end_date,sap.part_mapping_work_center_code," +
"sap.plwrk,sap.create_date_time,sap.create_user,sap.modify_date_time,sap.modify_user"); "sap.plan_organize_code,sap.create_date_time,sap.create_user,sap.modify_date_time,sap.modify_user");
StringBuilder hql = new StringBuilder(); StringBuilder hql = new StringBuilder();
hql.append(" from sap_product_plan sap left join mes_work_order mes on sap.plnum = mes.plan_order_no and sap.plmat = mes.part_no " + hql.append(" from mes_plan_sap sap left join mes_work_order mes on sap.plan_order_no = mes.plan_order_no and sap.plan_part_no = mes.part_no " +
"where sap.is_deleted=:isDeleted and sap.is_valid=:isValid and sap.organize_code=:organizeCode " + "where sap.is_deleted=:isDeleted and sap.is_valid=:isValid and sap.organize_code=:organizeCode " +
" and ((mes.is_deleted=:isDeleted and mes.is_valid=:isValid and mes.organize_code=:organizeCode) or mes.id is null)"); " and ((mes.is_deleted=:isDeleted and mes.is_valid=:isValid and mes.organize_code=:organizeCode) or mes.id is null)");
//拼接查询条件 //拼接查询条件
packWhere(sapProductPlan, hql); packWhere(mesProductPlan, hql);
StringBuffer unionDataHql = new StringBuffer("select sap.plnum,mes.part_no,ifnull(mes.qty,0) as sumQty," + StringBuffer unionDataHql = new StringBuffer("select sap.plan_order_no,mes.part_no,ifnull(mes.qty,0) as sumQty," +
"ifnull(mes.reported_qty,0) as completeQty,part.unit,sap.psttr,sap.pedtr,sap.l_str," + "ifnull(mes.reported_qty,0) as completeQty,part.unit,sap.plan_start_date,sap.plan_end_date,sap.part_mapping_work_center_code," +
"sap.plwrk,mes.create_date_time,mes.create_user,mes.modify_date_time,mes.modify_user"); "sap.plan_organize_code,mes.create_date_time,mes.create_user,mes.modify_date_time,mes.modify_user");
StringBuilder unionHql = new StringBuilder(); StringBuilder unionHql = new StringBuilder();
unionHql.append(" from sap_product_plan sap right join mes_work_order mes on sap.plnum = mes.plan_order_no and sap.plmat = mes.part_no " + unionHql.append(" from mes_plan_sap sap right join mes_work_order mes on sap.plan_order_no = mes.plan_order_no and sap.plan_part_no = mes.part_no " +
" left join mes_part part on part.part_no = mes.part_no " + " left join mes_part part on part.part_no = mes.part_no " +
"where mes.is_deleted=:isDeleted and mes.is_valid=:isValid and mes.organize_code=:organizeCode and sap.id is null "); "where mes.is_deleted=:isDeleted and mes.is_valid=:isValid and mes.organize_code=:organizeCode and sap.id is null ");
//拼接查询条件 //拼接查询条件
packWhere(sapProductPlan, unionHql); packWhere(mesProductPlan, unionHql);
//查询行数 //查询行数
int count = getCount(sapProductPlan, hql) + getCount(sapProductPlan, unionHql); int count = getCount(mesProductPlan, hql) + getCount(mesProductPlan, unionHql);
pager = PagerHelper.getPager(pager, count); pager = PagerHelper.getPager(pager, count);
if (count <= 0) { if (count <= 0) {
return new ListPager<>(new ArrayList<>(), pager); return new ListPager<>(new ArrayList<>(), pager);
@ -63,12 +64,12 @@ public class SapProductPlanDaoImpl implements ISapProductPlanDao {
//查询数据 //查询数据
Query query = entityManager.createNativeQuery(dataHql.append(hql) + " union all " + unionDataHql.append(unionHql) + orderBy); Query query = entityManager.createNativeQuery(dataHql.append(hql) + " union all " + unionDataHql.append(unionHql) + orderBy);
//赋值 //赋值
setParameter(sapProductPlan, query); setParameter(mesProductPlan, query);
List resultList = query.setFirstResult(pager.getStartRow()).setMaxResults(pager.getPageSize()).getResultList(); List resultList = query.setFirstResult(pager.getStartRow()).setMaxResults(pager.getPageSize()).getResultList();
List<SapProductPlan> list = new ArrayList<>(); List<MesProductPlan> list = new ArrayList<>();
for (Object result : resultList) { for (Object result : resultList) {
Object[] cells = (Object[]) result; Object[] cells = (Object[]) result;
SapProductPlan tjMgnBoardModel = new SapProductPlan( MesProductPlan tjMgnBoardModel = new MesProductPlan(
Objects.isNull(cells[0])?"":String.valueOf(cells[0]), Objects.isNull(cells[0])?"":String.valueOf(cells[0]),
Objects.isNull(cells[1])?"":String.valueOf(cells[1]), Objects.isNull(cells[1])?"":String.valueOf(cells[1]),
Objects.isNull(cells[2])?0:Double.parseDouble(String.valueOf(cells[2])), Objects.isNull(cells[2])?0:Double.parseDouble(String.valueOf(cells[2])),
@ -87,69 +88,69 @@ public class SapProductPlanDaoImpl implements ISapProductPlanDao {
return new ListPager<>(list, pager); return new ListPager<>(list, pager);
} }
private int getCount(SapProductPlan sapProductPlan, StringBuilder hql) { private int getCount(MesProductPlan mesProductPlan, StringBuilder hql) {
Query query = entityManager.createNativeQuery("select count(1) " + hql); Query query = entityManager.createNativeQuery("select count(1) " + hql);
//赋值 //赋值
setParameter(sapProductPlan, query); setParameter(mesProductPlan, query);
return Integer.parseInt(query.getSingleResult() + ""); return Integer.parseInt(query.getSingleResult() + "");
} }
private void setParameter(SapProductPlan sapProductPlan, Query query) { private void setParameter(MesProductPlan mesProductPlan, Query query) {
query.setParameter("organizeCode", sapProductPlan.getOrganizeCode()); query.setParameter("organizeCode", mesProductPlan.getOrganizeCode());
query.setParameter("isDeleted", CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); query.setParameter("isDeleted", CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
query.setParameter("isValid", CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); query.setParameter("isValid", CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
if (!StringUtil.isEmpty(sapProductPlan.getPlnum())) { if (!StringUtil.isEmpty(mesProductPlan.getPlanOrderNo())) {
query.setParameter("plnum", sapProductPlan.getPlnum()); query.setParameter("planOrderNo", mesProductPlan.getPlanOrderNo());
} }
//计划物料 //计划物料
if (!StringUtil.isEmpty(sapProductPlan.getPlmat())) { if (!StringUtil.isEmpty(mesProductPlan.getPlanPartNo())) {
query.setParameter("plmat", sapProductPlan.getPlmat()); query.setParameter("planPartNo", mesProductPlan.getPlanPartNo());
} }
//生产线 //生产线
if (!StringUtil.isEmpty(sapProductPlan.getLStr())) { if (!StringUtil.isEmpty(mesProductPlan.getPartMappingWorkCenterCode())) {
query.setParameter("lStr", sapProductPlan.getLStr()); query.setParameter("partMappingWorkCenterCode", mesProductPlan.getPartMappingWorkCenterCode());
} }
//计划开始&结束 //计划开始&结束
if (!StringUtil.isEmpty(sapProductPlan.getPsttr())) { if (!StringUtil.isEmpty(mesProductPlan.getPlanStartDate())) {
query.setParameter("psttr", sapProductPlan.getPsttr()); query.setParameter("planStartDate", mesProductPlan.getPlanStartDate());
} }
if (!StringUtil.isEmpty(sapProductPlan.getPedtr())) { if (!StringUtil.isEmpty(mesProductPlan.getPlanEndDate())) {
query.setParameter("pedtr", sapProductPlan.getPedtr()); query.setParameter("planEndDate", mesProductPlan.getPlanEndDate());
} }
//开始创建&结束日期 //开始创建&结束日期
if (!StringUtil.isEmpty(sapProductPlan.getCreateDateTimeStart())) { if (!StringUtil.isEmpty(mesProductPlan.getCreateDateTimeStart())) {
query.setParameter("createDateTimeStart", sapProductPlan.getCreateDateTimeStart()); query.setParameter("createDateTimeStart", mesProductPlan.getCreateDateTimeStart());
} }
if (!StringUtil.isEmpty(sapProductPlan.getCreateDateTimeEnd())) { if (!StringUtil.isEmpty(mesProductPlan.getCreateDateTimeEnd())) {
query.setParameter("createDateTimeEnd", sapProductPlan.getCreateDateTimeEnd()); query.setParameter("createDateTimeEnd", mesProductPlan.getCreateDateTimeEnd());
} }
} }
private void packWhere(SapProductPlan sapProductPlan, StringBuilder hql) { private void packWhere(MesProductPlan mesProductPlan, StringBuilder hql) {
//计划订单号 //计划订单号
if (!StringUtil.isEmpty(sapProductPlan.getPlnum())) { if (!StringUtil.isEmpty(mesProductPlan.getPlanOrderNo())) {
hql.append(" and sap.plnum = :plnum"); hql.append(" and sap.plan_order_no = :planOrderNo");
} }
//计划物料 //计划物料
if (!StringUtil.isEmpty(sapProductPlan.getPlmat())) { if (!StringUtil.isEmpty(mesProductPlan.getPlanPartNo())) {
hql.append(" and sap.plmat = :plmat"); hql.append(" and sap.plan_part_no = :planPartNo");
} }
//生产线 //生产线
if (!StringUtil.isEmpty(sapProductPlan.getLStr())) { if (!StringUtil.isEmpty(mesProductPlan.getPartMappingWorkCenterCode())) {
hql.append(" and sap.l_str = :lStr"); hql.append(" and sap.part_mapping_work_center_code = :partMappingWorkCenterCode");
} }
//计划开始&结束 //计划开始&结束
if (!StringUtil.isEmpty(sapProductPlan.getPsttr())) { if (!StringUtil.isEmpty(mesProductPlan.getPlanStartDate())) {
hql.append(" and sap.psttr >= :psttr"); hql.append(" and sap.plan_start_date >= :planStartDate");
} }
if (!StringUtil.isEmpty(sapProductPlan.getPedtr())) { if (!StringUtil.isEmpty(mesProductPlan.getPlanEndDate())) {
hql.append(" and sap.pedtr <= :pedtr"); hql.append(" and sap.plan_end_date <= :planEndDate");
} }
//开始创建&结束日期 //开始创建&结束日期
if (!StringUtil.isEmpty(sapProductPlan.getCreateDateTimeStart())) { if (!StringUtil.isEmpty(mesProductPlan.getCreateDateTimeStart())) {
hql.append(" and sap.create_date_time >= :createDateTimeStart"); hql.append(" and sap.create_date_time >= :createDateTimeStart");
} }
if (!StringUtil.isEmpty(sapProductPlan.getCreateDateTimeEnd())) { if (!StringUtil.isEmpty(mesProductPlan.getCreateDateTimeEnd())) {
hql.append(" and sap.create_date_time <= :createDateTimeEnd"); hql.append(" and sap.create_date_time <= :createDateTimeEnd");
} }
} }

@ -0,0 +1,31 @@
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base;
import cn.estsh.i3plus.ext.mes.api.base.IMesProductPlanService;
import cn.estsh.i3plus.ext.mes.apiservice.dao.IMesProductPlanDao;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.mes.bean.MesProductPlan;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* @Description :SAP
* @Reference :
* @Author : junsheng.li
* @CreateDate 2024/5/6 15:52
* @Modify:
**/
@Service
@Slf4j
public class MesProductPlanServiceImpl extends BaseMesService<MesProductPlan> implements IMesProductPlanService {
@Autowired
private IMesProductPlanDao iMesProductPlanDao;
@Override
public ListPager<MesProductPlan> queryMesProductPlanPager(MesProductPlan mesProductPlan, Pager pager) {
return iMesProductPlanDao.queryMesProductPlanPager(mesProductPlan, pager);
}
}

@ -1,31 +0,0 @@
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base;
import cn.estsh.i3plus.ext.mes.api.base.ISapProductPlanService;
import cn.estsh.i3plus.ext.mes.apiservice.dao.ISapProductPlanDao;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.mes.bean.SapProductPlan;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* @Description :SAP
* @Reference :
* @Author : junsheng.li
* @CreateDate 2024/5/6 15:52
* @Modify:
**/
@Service
@Slf4j
public class SapProductPlanServiceImpl extends BaseMesService<SapProductPlan> implements ISapProductPlanService {
@Autowired
private ISapProductPlanDao iSapProductPlanDao;
@Override
public ListPager<SapProductPlan> querySapProductPlanPager(SapProductPlan sapProductPlan, Pager pager) {
return iSapProductPlanDao.querySapProductPlanPager(sapProductPlan,pager);
}
}
Loading…
Cancel
Save