From c714570d0ddf4ca4cb0a8185065680de5f089b9b Mon Sep 17 00:00:00 2001 From: jun Date: Sat, 11 May 2024 14:14:22 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E8=89=BA=EF=BC=8C=E5=B7=A5=E8=89=BA?= =?UTF-8?q?=E5=B7=A5=E5=BA=8F=E5=85=B3=E7=B3=BB=E5=9F=BA=E7=A1=80=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E7=BB=B4=E6=8A=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../i3plus/ext/mes/api/base/IMesCraftService.java | 15 +++++ .../mes/api/base/IMesProcessCraftCfgService.java | 15 +++++ .../controller/base/MesCraftController.java | 20 +++++++ .../base/MesProcessCraftCfgController.java | 20 +++++++ .../apiservice/daoimpl/SapProductPlanDaoImpl.java | 14 ++--- .../serviceimpl/base/MesCraftServiceImpl.java | 67 ++++++++++++++++++++++ .../base/MesProcessCraftCfgServiceImpl.java | 67 ++++++++++++++++++++++ 7 files changed, 211 insertions(+), 7 deletions(-) create mode 100644 modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesCraftService.java create mode 100644 modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesProcessCraftCfgService.java create mode 100644 modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesCraftController.java create mode 100644 modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesProcessCraftCfgController.java create mode 100644 modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesCraftServiceImpl.java create mode 100644 modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesProcessCraftCfgServiceImpl.java diff --git a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesCraftService.java b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesCraftService.java new file mode 100644 index 0000000..c67cec6 --- /dev/null +++ b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesCraftService.java @@ -0,0 +1,15 @@ +package cn.estsh.i3plus.ext.mes.api.base; + +import cn.estsh.i3plus.pojo.mes.bean.MesCraft; + +/** + * @Description : 工艺信息 + * @Reference : + * @Author : junsheng.li + * @CreateDate 2024/5/11 13:54 + * @Modify: + **/ +public interface IMesCraftService extends IBaseMesService { + + +} diff --git a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesProcessCraftCfgService.java b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesProcessCraftCfgService.java new file mode 100644 index 0000000..0e3a697 --- /dev/null +++ b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesProcessCraftCfgService.java @@ -0,0 +1,15 @@ +package cn.estsh.i3plus.ext.mes.api.base; + +import cn.estsh.i3plus.pojo.mes.bean.MesProcessCraftCfg; + +/** + * @Description : 工序工艺关系 + * @Reference : + * @Author : junsheng.li + * @CreateDate 2024/5/11 13:54 + * @Modify: + **/ +public interface IMesProcessCraftCfgService extends IBaseMesService { + + +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesCraftController.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesCraftController.java new file mode 100644 index 0000000..1df82a3 --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesCraftController.java @@ -0,0 +1,20 @@ +package cn.estsh.i3plus.ext.mes.apiservice.controller.base; + +import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant; +import cn.estsh.i3plus.pojo.mes.bean.MesCraft; +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Description : 工艺信息 + * @Reference : + * @Author : junsheng.li + * @CreateDate 2024/5/11 13:52 + * @Modify: + **/ +@Api("工艺信息") +@RestController +@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesCraft") +public class MesCraftController extends BaseMesController { +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesProcessCraftCfgController.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesProcessCraftCfgController.java new file mode 100644 index 0000000..06c847f --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesProcessCraftCfgController.java @@ -0,0 +1,20 @@ +package cn.estsh.i3plus.ext.mes.apiservice.controller.base; + +import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant; +import cn.estsh.i3plus.pojo.mes.bean.MesProcessCraftCfg; +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Description : 工序工艺关系 + * @Reference : + * @Author : junsheng.li + * @CreateDate 2024/5/11 13:52 + * @Modify: + **/ +@Api("工序工艺关系") +@RestController +@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesProcessCraftCfg") +public class MesProcessCraftCfgController extends BaseMesController { +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/SapProductPlanDaoImpl.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/SapProductPlanDaoImpl.java index b797fad..69ff139 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/SapProductPlanDaoImpl.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/SapProductPlanDaoImpl.java @@ -33,17 +33,17 @@ public class SapProductPlanDaoImpl implements ISapProductPlanDao { @Override public ListPager querySapProductPlanPager(SapProductPlan sapProductPlan, Pager pager) { //查询数据 - StringBuffer dataHql = new StringBuffer("select sap.plnum,sap.plmat,sap.gsmng," + - "mes.complete_qty,sap.gsmng-mes.complete_qty as unFinishQty,sap.meins,sap.psttr,sap.pedtr,sap.l_str," + - "sap.plwrk,mes.create_date_time,mes.create_user,mes.modify_date_time,mes.modify_user"); + StringBuffer dataHql = new StringBuffer("select sap.plnum,sap.plmat,ifnull(sap.gsmng,0) as sumQty," + + "ifnull(mes.complete_qty,0) as completeQty,sap.meins,sap.psttr,sap.pedtr,sap.l_str," + + "sap.plwrk,sap.create_date_time,sap.create_user,sap.modify_date_time,sap.modify_user"); 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 " + "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)"); //拼接查询条件 packWhere(sapProductPlan, hql); - StringBuffer unionDataHql = new StringBuffer("select sap.plnum,mes.part_no,mes.qty," + - "mes.complete_qty,mes.qty-mes.complete_qty as unFinishQty,sap.meins,sap.psttr,sap.pedtr,sap.l_str," + + StringBuffer unionDataHql = new StringBuffer("select sap.plnum,mes.part_no,ifnull(mes.qty,0) as sumQty," + + "ifnull(mes.complete_qty,0) as completeQty,sap.meins,sap.psttr,sap.pedtr,sap.l_str," + "sap.plwrk,mes.create_date_time,mes.create_user,mes.modify_date_time,mes.modify_user"); 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 " + @@ -67,8 +67,8 @@ public class SapProductPlanDaoImpl implements ISapProductPlanDao { for (Object result : resultList) { Object[] cells = (Object[]) result; SapProductPlan tjMgnBoardModel = new SapProductPlan(String.valueOf(cells[0]), String.valueOf(cells[1]), Double.valueOf(String.valueOf(cells[2])), - Double.valueOf(String.valueOf(cells[3])), Double.valueOf(String.valueOf(cells[4])), String.valueOf(cells[5]), String.valueOf(cells[6]), String.valueOf(cells[7]), - String.valueOf(cells[8]), String.valueOf(cells[9]), String.valueOf(cells[10]), String.valueOf(cells[11]), String.valueOf(cells[12]), String.valueOf(cells[13])); + Double.valueOf(String.valueOf(cells[3])),String.valueOf(cells[4]), String.valueOf(cells[5]), String.valueOf(cells[6]), String.valueOf(cells[7]), + String.valueOf(cells[8]), String.valueOf(cells[9]), String.valueOf(cells[10]), String.valueOf(cells[11]), String.valueOf(cells[12])); list.add(tjMgnBoardModel); } return new ListPager<>(list, pager); diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesCraftServiceImpl.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesCraftServiceImpl.java new file mode 100644 index 0000000..e5b8e56 --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesCraftServiceImpl.java @@ -0,0 +1,67 @@ +package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base; + +import cn.estsh.i3plus.ext.mes.api.base.IMesCraftService; +import cn.estsh.i3plus.ext.mes.api.base.IMesProcessCraftCfgService; +import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; +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.bean.MesCraft; +import cn.estsh.i3plus.pojo.mes.bean.MesCustomerCarModel; +import cn.estsh.i3plus.pojo.mes.bean.MesProcessCraftCfg; +import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; +import cn.estsh.impp.framework.boot.util.ValidatorBean; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +/** + * @Description : 工艺信息 + * @Reference : + * @Author : junsheng.li + * @CreateDate 2024/5/11 13:55 + * @Modify: + **/ +@Service +@Slf4j +public class MesCraftServiceImpl extends BaseMesService implements IMesCraftService { + + protected void setPackQueryBean(MesCraft bean, DdlPackBean packBean) { + DdlPreparedPack.getStringEqualPack(bean.getCraftCode(), "craftCode", packBean); + DdlPreparedPack.getStringLikerPack(bean.getCraftName(), "craftName", packBean); + } + + protected void onInsertBean(MesCraft item) { + // 数据校验 + ValidatorBean.checkNotNull(item.getCraftCode(), "工艺代码不能为空"); + + DdlPackBean roadPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); + DdlPreparedPack.getStringEqualPack(item.getCraftCode(), "craftCode", roadPackBean); + + boolean flg = baseRDao.isExitByHql(roadPackBean); + if (flg) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("工艺代码【%s】已经存在,请检查数据", item.getCraftCode()) + .build(); + } + + } + + protected void onUpdateBean(MesCraft item) { + // 数据校验 + ValidatorBean.checkNotNull(item.getCraftCode(), "工艺代码不能为空"); + + DdlPackBean roadPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); + DdlPreparedPack.getStringEqualPack(item.getCraftCode(), "craftCode", roadPackBean); + DdlPreparedPack.getNumNOEqualPack(item.getId(), "id", roadPackBean); + boolean flg = baseRDao.isExitByHql(roadPackBean); + if (flg) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("工艺代码【%s】已经存在,请检查数据", item.getCraftCode()) + .build(); + } + } +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesProcessCraftCfgServiceImpl.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesProcessCraftCfgServiceImpl.java new file mode 100644 index 0000000..7f0b2a0 --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesProcessCraftCfgServiceImpl.java @@ -0,0 +1,67 @@ +package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base; + +import cn.estsh.i3plus.ext.mes.api.base.IMesProcessCraftCfgService; +import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; +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.bean.MesProcessCraftCfg; +import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; +import cn.estsh.impp.framework.boot.util.ValidatorBean; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +/** + * @Description : 工序工艺关系 + * @Reference : + * @Author : junsheng.li + * @CreateDate 2024/5/11 13:55 + * @Modify: + **/ +@Service +@Slf4j +public class MesProcessCraftCfgServiceImpl extends BaseMesService implements IMesProcessCraftCfgService { + + protected void setPackQueryBean(MesProcessCraftCfg bean, DdlPackBean packBean) { + DdlPreparedPack.getStringEqualPack(bean.getCraftCode(), "craftCode", packBean); + DdlPreparedPack.getStringEqualPack(bean.getProcessCode(), "processCode", packBean); + DdlPreparedPack.getStringLikerPack(bean.getCraftName(), "craftName", packBean); + DdlPreparedPack.getStringLikerPack(bean.getProcessName(), "processName", packBean); + } + + protected void onInsertBean(MesProcessCraftCfg item) { + // 数据校验 + ValidatorBean.checkNotNull(item.getCraftCode(), "工艺代码不能为空"); + ValidatorBean.checkNotNull(item.getProcessCode(), "工序代码不能为空"); + + DdlPackBean roadPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); + DdlPreparedPack.getStringEqualPack(item.getProcessCode(), "processCode", roadPackBean); + + boolean flg = baseRDao.isExitByHql(roadPackBean); + if (flg) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("工序代码【%s】已经存在,请检查数据", item.getCraftCode()) + .build(); + } + } + + protected void onUpdateBean(MesProcessCraftCfg item) { + // 数据校验 + ValidatorBean.checkNotNull(item.getCraftCode(), "工艺代码不能为空"); + ValidatorBean.checkNotNull(item.getProcessCode(), "工序代码不能为空"); + + DdlPackBean roadPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); + DdlPreparedPack.getStringEqualPack(item.getProcessCode(), "processCode", roadPackBean); + DdlPreparedPack.getNumNOEqualPack(item.getId(), "id", roadPackBean); + boolean flg = baseRDao.isExitByHql(roadPackBean); + if (flg) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("工序代码【%s】已经存在,请检查数据", item.getCraftCode()) + .build(); + } + } +}