From 42aa3ca06e9e5f68f2cb557e9065204531d01be9 Mon Sep 17 00:00:00 2001 From: jiyufei <67400194@qq.com> Date: Thu, 8 Aug 2024 15:40:56 +0800 Subject: [PATCH] =?UTF-8?q?feat():=E5=89=8D=E7=AB=AF=E6=A0=B7=E5=BC=8F?= =?UTF-8?q?=E8=B0=83=E6=95=B4=EF=BC=8C=E5=90=8E=E7=AB=AF=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E6=8F=90=E4=BA=A4;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../YysMaterialProcurementItemService.java | 8 +++ .../YysMaterialProcurementPlanService.java | 7 +++ .../YysMaterialRequirementItemService.java | 8 +++ .../YysMaterialRequirementPlanService.java | 17 ++++-- .../impl/YysDeviceUpkeepServiceImpl.java | 4 ++ ...YysMaterialProcurementItemServiceImpl.java | 53 +++++++++++++++---- ...YysMaterialProcurementPlanServiceImpl.java | 24 +++++++++ ...YysMaterialRequirementItemServiceImpl.java | 47 ++++++++++++---- ...YysMaterialRequirementPlanServiceImpl.java | 20 +++++++ .../YysMaterialRequirementPlanController.java | 10 ++++ .../YysPackageReportConstant.java | 2 +- .../yysprodreport/YysProdReportConstant.java | 2 +- .../src/views/yys/yysdeviceupkeep/Detail.vue | 2 +- .../src/views/yys/yysdeviceupkeep/form.vue | 15 +++--- .../yys/yysmaterialprocurementplan/Detail.vue | 2 +- .../yys/yysmaterialprocurementplan/form.vue | 8 +-- .../yys/yysmaterialrequirementplan/Detail.vue | 2 +- .../yys/yysmaterialrequirementplan/index.vue | 22 +++++++- .../src/views/yys/yyspackagereport/form.vue | 4 +- .../src/views/yys/yysprodreport/form.vue | 4 +- 20 files changed, 217 insertions(+), 44 deletions(-) diff --git a/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/YysMaterialProcurementItemService.java b/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/YysMaterialProcurementItemService.java index 83a0efe..48ce496 100644 --- a/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/YysMaterialProcurementItemService.java +++ b/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/YysMaterialProcurementItemService.java @@ -15,4 +15,12 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; */ public interface YysMaterialProcurementItemService extends IService { QueryWrapper getChild(YysMaterialProcurementPlanPagination pagination,QueryWrapper yysMaterialProcurementItemQueryWrapper); + + /** + * 生成采购计划 + * @param id + * @param list + * @return + */ + String initPlan(String id, List list); } diff --git a/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/YysMaterialProcurementPlanService.java b/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/YysMaterialProcurementPlanService.java index 4a4c101..2efabc3 100644 --- a/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/YysMaterialProcurementPlanService.java +++ b/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/YysMaterialProcurementPlanService.java @@ -36,4 +36,11 @@ public interface YysMaterialProcurementPlanService extends IService list); } diff --git a/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/YysMaterialRequirementItemService.java b/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/YysMaterialRequirementItemService.java index 0851996..7bb9867 100644 --- a/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/YysMaterialRequirementItemService.java +++ b/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/YysMaterialRequirementItemService.java @@ -15,4 +15,12 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; */ public interface YysMaterialRequirementItemService extends IService { QueryWrapper getChild(YysMaterialRequirementPlanPagination pagination,QueryWrapper yysMaterialRequirementItemQueryWrapper); + + /** + * 生成采购计划 + * + * @param plan 物料需求计划主键id + * @return result + */ + String initPlan(YysMaterialRequirementPlanEntity plan); } diff --git a/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/YysMaterialRequirementPlanService.java b/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/YysMaterialRequirementPlanService.java index b885fb7..169df23 100644 --- a/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/YysMaterialRequirementPlanService.java +++ b/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/YysMaterialRequirementPlanService.java @@ -2,7 +2,9 @@ package jnpf.service; import jnpf.model.yysmaterialrequirementplan.*; import jnpf.entity.*; + import java.util.*; + import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -16,7 +18,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; public interface YysMaterialRequirementPlanService extends IService { List getList(YysMaterialRequirementPlanPagination yysMaterialRequirementPlanPagination); - List getTypeList(YysMaterialRequirementPlanPagination yysMaterialRequirementPlanPagination,String dataType); + List getTypeList(YysMaterialRequirementPlanPagination yysMaterialRequirementPlanPagination, String dataType); YysMaterialRequirementPlanEntity getInfo(String id); @@ -27,13 +29,20 @@ public interface YysMaterialRequirementPlanService extends IService getYysMaterialRequirementItemList(String id,YysMaterialRequirementPlanPagination yysMaterialRequirementPlanPagination); + List getYysMaterialRequirementItemList(String id, YysMaterialRequirementPlanPagination yysMaterialRequirementPlanPagination); List getYysMaterialRequirementItemList(String id); //副表数据方法 - String checkForm(YysMaterialRequirementPlanForm form,int i); + String checkForm(YysMaterialRequirementPlanForm form, int i); - void saveOrUpdate(YysMaterialRequirementPlanForm yysMaterialRequirementPlanForm,String id, boolean isSave) throws Exception; + void saveOrUpdate(YysMaterialRequirementPlanForm yysMaterialRequirementPlanForm, String id, boolean isSave) throws Exception; + /** + * 生成采购计划 + * + * @param id 物料需求计划主键id + * @return result + */ + String initPlan(String id); } diff --git a/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/impl/YysDeviceUpkeepServiceImpl.java b/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/impl/YysDeviceUpkeepServiceImpl.java index 39f96f6..b3af15a 100644 --- a/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/impl/YysDeviceUpkeepServiceImpl.java +++ b/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/impl/YysDeviceUpkeepServiceImpl.java @@ -426,9 +426,13 @@ public class YysDeviceUpkeepServiceImpl extends ServiceImpl implements YysMaterialProcurementItemService{ +public class YysMaterialProcurementItemServiceImpl extends ServiceImpl implements YysMaterialProcurementItemService { @Autowired private GeneraterSwapUtil generaterSwapUtil; @@ -45,15 +56,37 @@ public class YysMaterialProcurementItemServiceImpl extends ServiceImpl getChild(YysMaterialProcurementPlanPagination pagination, QueryWrapper yysMaterialProcurementItemQueryWrapper){ - boolean pcPermission = true; - boolean appPermission = false; - boolean isPc = ServletUtil.getHeader("jnpf-origin").equals("pc"); - String ruleQueryJson = isPc?YysMaterialProcurementPlanConstant.getColumnData():YysMaterialProcurementPlanConstant.getAppColumnData(); - ColumnDataModel dataModel = JsonUtil.getJsonToBean(ruleQueryJson,ColumnDataModel.class); - String ruleJson = isPc?JsonUtil.getObjectToString(dataModel.getRuleList()):JsonUtil.getObjectToString(dataModel.getRuleListApp()); - if(isPc){ + public QueryWrapper getChild(YysMaterialProcurementPlanPagination pagination, QueryWrapper yysMaterialProcurementItemQueryWrapper) { + boolean pcPermission = true; + boolean appPermission = false; + boolean isPc = ServletUtil.getHeader("jnpf-origin").equals("pc"); + String ruleQueryJson = isPc ? YysMaterialProcurementPlanConstant.getColumnData() : YysMaterialProcurementPlanConstant.getAppColumnData(); + ColumnDataModel dataModel = JsonUtil.getJsonToBean(ruleQueryJson, ColumnDataModel.class); + String ruleJson = isPc ? JsonUtil.getObjectToString(dataModel.getRuleList()) : JsonUtil.getObjectToString(dataModel.getRuleListApp()); + if (isPc) { } return yysMaterialProcurementItemQueryWrapper; } + + @Override + public String initPlan(String id, List list) { + if (CollectionUtils.isEmpty(list)) { + return "生成失败,物流明细为空"; + } + List lists = Lists.newLinkedList(); + for (YysMaterialRequirementItemEntity yysMaterialRequirementItemEntity : list) { + String mainId = RandomUtil.uuId(); + YysMaterialProcurementItemEntity procurementItem = BeanUtil.copyProperties(yysMaterialRequirementItemEntity, YysMaterialProcurementItemEntity.class); + procurementItem.setId(mainId); + procurementItem.setMaterialProcurementPlanId(id); + procurementItem.setCreatorTime(DateUtil.getNowDate()); + procurementItem.setCreatorUserId(userProvider.get().getUserId()); + lists.add(procurementItem); + } + boolean result = this.saveBatch(lists); + if (result){ + return "生成成功"; + } + return "生成失败"; + } } diff --git a/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/impl/YysMaterialProcurementPlanServiceImpl.java b/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/impl/YysMaterialProcurementPlanServiceImpl.java index d71c2d2..8920bc1 100644 --- a/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/impl/YysMaterialProcurementPlanServiceImpl.java +++ b/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/impl/YysMaterialProcurementPlanServiceImpl.java @@ -1,5 +1,6 @@ package jnpf.service.impl; +import com.google.common.collect.Lists; import jnpf.entity.*; import jnpf.mapper.YysMaterialProcurementPlanMapper; import jnpf.service.*; @@ -26,6 +27,7 @@ import jnpf.model.QueryModel; import java.util.stream.Collectors; import jnpf.base.model.ColumnDataModel; +import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.metadata.IPage; import jnpf.database.model.superQuery.SuperJsonModel; @@ -419,4 +421,26 @@ public class YysMaterialProcurementPlanServiceImpl extends ServiceImpl list) { + if (CollectionUtils.isEmpty(list)) { + return "生成失败,物料需求计划-物料明细为空"; + } + String mainId = RandomUtil.uuId(); + YysMaterialProcurementPlanEntity procurementPlan = new YysMaterialProcurementPlanEntity(); + procurementPlan.setProcurementNumber(generaterSwapUtil.getBillNumber("procurementnumber", false)); + procurementPlan.setId(mainId); + procurementPlan.setPlanNumber(plan.getPlanNumber()); + procurementPlan.setProcurementYearMonth(plan.getPlanYearMonth()); + procurementPlan.setProcurementDate(plan.getOrderDate()); + procurementPlan.setProcurementStatus("1"); + procurementPlan.setCreatorTime(DateUtil.getNowDate()); + procurementPlan.setCreatorUserId(userProvider.get().getUserId()); + boolean result = this.save(procurementPlan); + if (result) { + return yysMaterialProcurementItemService.initPlan(procurementPlan.getId(), list); + } + return "生成成功"; + } } diff --git a/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/impl/YysMaterialRequirementItemServiceImpl.java b/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/impl/YysMaterialRequirementItemServiceImpl.java index 5d1c6d2..08dc9f4 100644 --- a/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/impl/YysMaterialRequirementItemServiceImpl.java +++ b/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/impl/YysMaterialRequirementItemServiceImpl.java @@ -1,11 +1,14 @@ package jnpf.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import jnpf.entity.*; import jnpf.mapper.YysMaterialRequirementItemMapper; import jnpf.service.*; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import jnpf.model.yysmaterialrequirementplan.*; + import java.math.BigDecimal; + import cn.hutool.core.util.ObjectUtil; import jnpf.permission.model.authorize.AuthorizeConditionModel; import jnpf.util.GeneraterSwapUtil; @@ -13,8 +16,11 @@ import jnpf.database.model.superQuery.SuperQueryJsonModel; import jnpf.database.model.superQuery.ConditionJsonModel; import jnpf.database.model.superQuery.SuperQueryConditionModel; import jnpf.model.QueryModel; + import java.util.stream.Collectors; + import jnpf.base.model.ColumnDataModel; +import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.metadata.IPage; import jnpf.database.model.superQuery.SuperJsonModel; @@ -22,13 +28,19 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; + import java.text.SimpleDateFormat; + import jnpf.util.*; + import java.util.*; + import jnpf.base.UserInfo; import jnpf.permission.entity.UserEntity; + +import javax.annotation.Resource; + /** - * * YysMaterialRequirementPlan * 版本: V3.5 * 版权: 引迈信息技术有限公司(https://www.jnpfsoft.com) @@ -36,24 +48,39 @@ import jnpf.permission.entity.UserEntity; * 日期: 2024-08-07 */ @Service -public class YysMaterialRequirementItemServiceImpl extends ServiceImpl implements YysMaterialRequirementItemService{ +public class YysMaterialRequirementItemServiceImpl extends ServiceImpl implements YysMaterialRequirementItemService { @Autowired private GeneraterSwapUtil generaterSwapUtil; @Autowired private UserProvider userProvider; + @Resource + private YysMaterialProcurementPlanService yysMaterialProcurementPlanService; + //子表过滤方法 @Override - public QueryWrapper getChild(YysMaterialRequirementPlanPagination pagination, QueryWrapper yysMaterialRequirementItemQueryWrapper){ - boolean pcPermission = true; - boolean appPermission = false; - boolean isPc = ServletUtil.getHeader("jnpf-origin").equals("pc"); - String ruleQueryJson = isPc?YysMaterialRequirementPlanConstant.getColumnData():YysMaterialRequirementPlanConstant.getAppColumnData(); - ColumnDataModel dataModel = JsonUtil.getJsonToBean(ruleQueryJson,ColumnDataModel.class); - String ruleJson = isPc?JsonUtil.getObjectToString(dataModel.getRuleList()):JsonUtil.getObjectToString(dataModel.getRuleListApp()); - if(isPc){ + public QueryWrapper getChild(YysMaterialRequirementPlanPagination pagination, QueryWrapper yysMaterialRequirementItemQueryWrapper) { + boolean pcPermission = true; + boolean appPermission = false; + boolean isPc = ServletUtil.getHeader("jnpf-origin").equals("pc"); + String ruleQueryJson = isPc ? YysMaterialRequirementPlanConstant.getColumnData() : YysMaterialRequirementPlanConstant.getAppColumnData(); + ColumnDataModel dataModel = JsonUtil.getJsonToBean(ruleQueryJson, ColumnDataModel.class); + String ruleJson = isPc ? JsonUtil.getObjectToString(dataModel.getRuleList()) : JsonUtil.getObjectToString(dataModel.getRuleListApp()); + if (isPc) { } return yysMaterialRequirementItemQueryWrapper; } + + @Override + public String initPlan(YysMaterialRequirementPlanEntity plan) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(YysMaterialRequirementItemEntity.class); + wrapper.eq(YysMaterialRequirementItemEntity::getMaterialRequirementPlanId, plan.getId()); + List list = this.list(wrapper) + .stream().filter(obj -> ObjectUtil.isNotNull(obj.getLackNumber()) && obj.getLackNumber().compareTo(BigDecimal.ZERO) != 0).collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(list)) { + return yysMaterialProcurementPlanService.initPlan(plan, list); + } + return "数据为空"; + } } diff --git a/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/impl/YysMaterialRequirementPlanServiceImpl.java b/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/impl/YysMaterialRequirementPlanServiceImpl.java index 71f1353..e9edbce 100644 --- a/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/impl/YysMaterialRequirementPlanServiceImpl.java +++ b/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/impl/YysMaterialRequirementPlanServiceImpl.java @@ -26,6 +26,7 @@ import jnpf.model.QueryModel; import java.util.stream.Collectors; import jnpf.base.model.ColumnDataModel; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.metadata.IPage; import jnpf.database.model.superQuery.SuperJsonModel; @@ -43,6 +44,8 @@ import java.util.*; import jnpf.base.UserInfo; import jnpf.permission.entity.UserEntity; +import javax.annotation.Resource; + /** * YysMaterialRequirementPlan * 版本: V3.5 @@ -51,6 +54,7 @@ import jnpf.permission.entity.UserEntity; * 日期: 2024-08-07 */ @Service +@Slf4j public class YysMaterialRequirementPlanServiceImpl extends ServiceImpl implements YysMaterialRequirementPlanService { @Autowired private GeneraterSwapUtil generaterSwapUtil; @@ -61,6 +65,7 @@ public class YysMaterialRequirementPlanServiceImpl extends ServiceImpl getList(YysMaterialRequirementPlanPagination yysMaterialRequirementPlanPagination) { return getTypeList(yysMaterialRequirementPlanPagination, yysMaterialRequirementPlanPagination.getDataType()); @@ -464,4 +469,19 @@ public class YysMaterialRequirementPlanServiceImpl extends ServiceImpl检修记录 - +