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 48ce496..acd272a 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 @@ -2,7 +2,10 @@ package jnpf.service; import jnpf.model.yysmaterialprocurementplan.*; import jnpf.entity.*; + +import java.math.BigDecimal; import java.util.*; + import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -14,13 +17,23 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; * 日期: 2024-08-08 */ public interface YysMaterialProcurementItemService extends IService { - QueryWrapper getChild(YysMaterialProcurementPlanPagination pagination,QueryWrapper yysMaterialProcurementItemQueryWrapper); + QueryWrapper getChild(YysMaterialProcurementPlanPagination pagination, QueryWrapper yysMaterialProcurementItemQueryWrapper); /** * 生成采购计划 + * * @param id * @param list * @return */ String initPlan(String id, List list); + + /** + * 同步更新物料表信息 + * + * @param materialId + * @param join + * @param nums + */ + void syncNums(String materialId, String join, BigDecimal nums); } diff --git a/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/YysMaterialProcurementOrderService.java b/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/YysMaterialProcurementOrderService.java index 15ae768..f5ee023 100644 --- a/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/YysMaterialProcurementOrderService.java +++ b/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/YysMaterialProcurementOrderService.java @@ -32,4 +32,10 @@ public interface YysMaterialProcurementOrderService extends IService list); + + void commit(YysMaterialProcurementPlanForm yysMaterialProcurementPlanForm,String id, boolean isSave) throws Exception; } diff --git a/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/impl/YysMaterialProcurementItemServiceImpl.java b/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/impl/YysMaterialProcurementItemServiceImpl.java index 46ca0cd..7b9cadf 100644 --- a/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/impl/YysMaterialProcurementItemServiceImpl.java +++ b/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/impl/YysMaterialProcurementItemServiceImpl.java @@ -84,9 +84,20 @@ public class YysMaterialProcurementItemServiceImpl extends ServiceImpl implements YysMaterialProcurementOrderService{ +@Slf4j +public class YysMaterialProcurementOrderServiceImpl extends ServiceImpl implements YysMaterialProcurementOrderService { @Autowired private GeneraterSwapUtil generaterSwapUtil; @Autowired private UserProvider userProvider; + @Resource + private YysMaterialProcurementItemService yysMaterialProcurementItemService; + @Override - public List getList(YysMaterialProcurementOrderPagination yysMaterialProcurementOrderPagination){ - return getTypeList(yysMaterialProcurementOrderPagination,yysMaterialProcurementOrderPagination.getDataType()); + public List getList(YysMaterialProcurementOrderPagination yysMaterialProcurementOrderPagination) { + return getTypeList(yysMaterialProcurementOrderPagination, yysMaterialProcurementOrderPagination.getDataType()); } - /** 列表查询 */ + + /** + * 列表查询 + */ @Override - public List getTypeList(YysMaterialProcurementOrderPagination yysMaterialProcurementOrderPagination,String dataType){ - String userId=userProvider.get().getUserId(); - List AllIdList =new ArrayList(); - List> intersectionList =new ArrayList<>(); + public List getTypeList(YysMaterialProcurementOrderPagination yysMaterialProcurementOrderPagination, String dataType) { + String userId = userProvider.get().getUserId(); + List AllIdList = new ArrayList(); + List> intersectionList = new ArrayList<>(); boolean isPc = ServletUtil.getHeader("jnpf-origin").equals("pc"); String columnData = !isPc ? YysMaterialProcurementOrderConstant.getAppColumnData() : YysMaterialProcurementOrderConstant.getColumnData(); ColumnDataModel columnDataModel = JsonUtil.getJsonToBean(columnData, ColumnDataModel.class); String ruleJson = !isPc ? JsonUtil.getObjectToString(columnDataModel.getRuleListApp()) : JsonUtil.getObjectToString(columnDataModel.getRuleList()); - int total=0; - int yysMaterialProcurementOrderNum =0; - QueryWrapper yysMaterialProcurementOrderQueryWrapper=new QueryWrapper<>(); + int total = 0; + int yysMaterialProcurementOrderNum = 0; + QueryWrapper yysMaterialProcurementOrderQueryWrapper = new QueryWrapper<>(); List allSuperIDlist = new ArrayList<>(); - String superOp =""; - if (ObjectUtil.isNotEmpty(yysMaterialProcurementOrderPagination.getSuperQueryJson())){ + String superOp = ""; + if (ObjectUtil.isNotEmpty(yysMaterialProcurementOrderPagination.getSuperQueryJson())) { List allSuperList = new ArrayList<>(); - List> intersectionSuperList = new ArrayList<>(); + List> intersectionSuperList = new ArrayList<>(); String queryJson = yysMaterialProcurementOrderPagination.getSuperQueryJson(); SuperJsonModel superJsonModel = JsonUtil.getJsonToBean(queryJson, SuperJsonModel.class); int superNum = 0; QueryWrapper yysMaterialProcurementOrderSuperWrapper = new QueryWrapper<>(); - yysMaterialProcurementOrderSuperWrapper = generaterSwapUtil.getCondition(new QueryModel(yysMaterialProcurementOrderSuperWrapper,YysMaterialProcurementOrderEntity.class,queryJson,"0")); + yysMaterialProcurementOrderSuperWrapper = generaterSwapUtil.getCondition(new QueryModel(yysMaterialProcurementOrderSuperWrapper, YysMaterialProcurementOrderEntity.class, queryJson, "0")); int yysMaterialProcurementOrderNum1 = yysMaterialProcurementOrderSuperWrapper.getExpression().getNormal().size(); - if (yysMaterialProcurementOrderNum1>0){ - List yysMaterialProcurementOrderList =this.list(yysMaterialProcurementOrderSuperWrapper).stream().map(YysMaterialProcurementOrderEntity::getId).collect(Collectors.toList()); + if (yysMaterialProcurementOrderNum1 > 0) { + List yysMaterialProcurementOrderList = this.list(yysMaterialProcurementOrderSuperWrapper).stream().map(YysMaterialProcurementOrderEntity::getId).collect(Collectors.toList()); allSuperList.addAll(yysMaterialProcurementOrderList); intersectionSuperList.add(yysMaterialProcurementOrderList); superNum++; } superOp = superNum > 0 ? superJsonModel.getMatchLogic() : ""; //and or - if(superOp.equalsIgnoreCase("and")){ + if (superOp.equalsIgnoreCase("and")) { allSuperIDlist = generaterSwapUtil.getIntersection(intersectionSuperList); - }else{ + } else { allSuperIDlist = allSuperList; } } List allRuleIDlist = new ArrayList<>(); - String ruleOp =""; - if (ObjectUtil.isNotEmpty(ruleJson)){ + String ruleOp = ""; + if (ObjectUtil.isNotEmpty(ruleJson)) { List allRuleList = new ArrayList<>(); - List> intersectionRuleList = new ArrayList<>(); + List> intersectionRuleList = new ArrayList<>(); SuperJsonModel ruleJsonModel = JsonUtil.getJsonToBean(ruleJson, SuperJsonModel.class); int ruleNum = 0; QueryWrapper yysMaterialProcurementOrderSuperWrapper = new QueryWrapper<>(); - yysMaterialProcurementOrderSuperWrapper = generaterSwapUtil.getCondition(new QueryModel(yysMaterialProcurementOrderSuperWrapper,YysMaterialProcurementOrderEntity.class,ruleJson,"0")); + yysMaterialProcurementOrderSuperWrapper = generaterSwapUtil.getCondition(new QueryModel(yysMaterialProcurementOrderSuperWrapper, YysMaterialProcurementOrderEntity.class, ruleJson, "0")); int yysMaterialProcurementOrderNum1 = yysMaterialProcurementOrderSuperWrapper.getExpression().getNormal().size(); - if (yysMaterialProcurementOrderNum1>0){ - List yysMaterialProcurementOrderList =this.list(yysMaterialProcurementOrderSuperWrapper).stream().map(YysMaterialProcurementOrderEntity::getId).collect(Collectors.toList()); + if (yysMaterialProcurementOrderNum1 > 0) { + List yysMaterialProcurementOrderList = this.list(yysMaterialProcurementOrderSuperWrapper).stream().map(YysMaterialProcurementOrderEntity::getId).collect(Collectors.toList()); allRuleList.addAll(yysMaterialProcurementOrderList); intersectionRuleList.add(yysMaterialProcurementOrderList); ruleNum++; } ruleOp = ruleNum > 0 ? ruleJsonModel.getMatchLogic() : ""; //and or - if(ruleOp.equalsIgnoreCase("and")){ + if (ruleOp.equalsIgnoreCase("and")) { allRuleIDlist = generaterSwapUtil.getIntersection(intersectionRuleList); - }else{ + } else { allRuleIDlist = allRuleList; } } - boolean pcPermission = true; - boolean appPermission = false; - if(isPc && pcPermission){ - if (!userProvider.get().getIsAdministrator()){ - Object yysMaterialProcurementOrderObj=generaterSwapUtil.getAuthorizeCondition(new QueryModel(yysMaterialProcurementOrderQueryWrapper,YysMaterialProcurementOrderEntity.class,yysMaterialProcurementOrderPagination.getMenuId(),"0")); - if (ObjectUtil.isEmpty(yysMaterialProcurementOrderObj)){ - return new ArrayList<>(); - } else { - yysMaterialProcurementOrderQueryWrapper = (QueryWrapper)yysMaterialProcurementOrderObj; - if( yysMaterialProcurementOrderQueryWrapper.getExpression().getNormal().size()>0){ - yysMaterialProcurementOrderNum++; - } - } - } - } - if(!isPc && appPermission){ - if (!userProvider.get().getIsAdministrator()){ - Object yysMaterialProcurementOrderObj=generaterSwapUtil.getAuthorizeCondition(new QueryModel(yysMaterialProcurementOrderQueryWrapper,YysMaterialProcurementOrderEntity.class,yysMaterialProcurementOrderPagination.getMenuId(),"0")); - if (ObjectUtil.isEmpty(yysMaterialProcurementOrderObj)){ - return new ArrayList<>(); - } else { - yysMaterialProcurementOrderQueryWrapper = (QueryWrapper)yysMaterialProcurementOrderObj; - if( yysMaterialProcurementOrderQueryWrapper.getExpression().getNormal().size()>0){ - yysMaterialProcurementOrderNum++; - } + boolean pcPermission = true; + boolean appPermission = false; + if (isPc && pcPermission) { + if (!userProvider.get().getIsAdministrator()) { + Object yysMaterialProcurementOrderObj = generaterSwapUtil.getAuthorizeCondition(new QueryModel(yysMaterialProcurementOrderQueryWrapper, YysMaterialProcurementOrderEntity.class, yysMaterialProcurementOrderPagination.getMenuId(), "0")); + if (ObjectUtil.isEmpty(yysMaterialProcurementOrderObj)) { + return new ArrayList<>(); + } else { + yysMaterialProcurementOrderQueryWrapper = (QueryWrapper) yysMaterialProcurementOrderObj; + if (yysMaterialProcurementOrderQueryWrapper.getExpression().getNormal().size() > 0) { + yysMaterialProcurementOrderNum++; + } + } + } } + if (!isPc && appPermission) { + if (!userProvider.get().getIsAdministrator()) { + Object yysMaterialProcurementOrderObj = generaterSwapUtil.getAuthorizeCondition(new QueryModel(yysMaterialProcurementOrderQueryWrapper, YysMaterialProcurementOrderEntity.class, yysMaterialProcurementOrderPagination.getMenuId(), "0")); + if (ObjectUtil.isEmpty(yysMaterialProcurementOrderObj)) { + return new ArrayList<>(); + } else { + yysMaterialProcurementOrderQueryWrapper = (QueryWrapper) yysMaterialProcurementOrderObj; + if (yysMaterialProcurementOrderQueryWrapper.getExpression().getNormal().size() > 0) { + yysMaterialProcurementOrderNum++; + } + } - } - } - if(isPc){ - if(ObjectUtil.isNotEmpty(yysMaterialProcurementOrderPagination.getOrderNumber())){ - yysMaterialProcurementOrderNum++; + } + } + if (isPc) { + if (ObjectUtil.isNotEmpty(yysMaterialProcurementOrderPagination.getOrderNumber())) { + yysMaterialProcurementOrderNum++; String value = yysMaterialProcurementOrderPagination.getOrderNumber() instanceof List ? - JsonUtil.getObjectToString(yysMaterialProcurementOrderPagination.getOrderNumber()) : - String.valueOf(yysMaterialProcurementOrderPagination.getOrderNumber()); - yysMaterialProcurementOrderQueryWrapper.lambda().like(YysMaterialProcurementOrderEntity::getOrderNumber,value); + JsonUtil.getObjectToString(yysMaterialProcurementOrderPagination.getOrderNumber()) : + String.valueOf(yysMaterialProcurementOrderPagination.getOrderNumber()); + yysMaterialProcurementOrderQueryWrapper.lambda().like(YysMaterialProcurementOrderEntity::getOrderNumber, value); } - if(ObjectUtil.isNotEmpty(yysMaterialProcurementOrderPagination.getProcurementNumber())){ - yysMaterialProcurementOrderNum++; + if (ObjectUtil.isNotEmpty(yysMaterialProcurementOrderPagination.getProcurementNumber())) { + yysMaterialProcurementOrderNum++; String value = yysMaterialProcurementOrderPagination.getProcurementNumber() instanceof List ? - JsonUtil.getObjectToString(yysMaterialProcurementOrderPagination.getProcurementNumber()) : - String.valueOf(yysMaterialProcurementOrderPagination.getProcurementNumber()); - yysMaterialProcurementOrderQueryWrapper.lambda().like(YysMaterialProcurementOrderEntity::getProcurementNumber,value); + JsonUtil.getObjectToString(yysMaterialProcurementOrderPagination.getProcurementNumber()) : + String.valueOf(yysMaterialProcurementOrderPagination.getProcurementNumber()); + yysMaterialProcurementOrderQueryWrapper.lambda().like(YysMaterialProcurementOrderEntity::getProcurementNumber, value); } - if(ObjectUtil.isNotEmpty(yysMaterialProcurementOrderPagination.getMaterialName())){ - yysMaterialProcurementOrderNum++; + if (ObjectUtil.isNotEmpty(yysMaterialProcurementOrderPagination.getMaterialName())) { + yysMaterialProcurementOrderNum++; String value = yysMaterialProcurementOrderPagination.getMaterialName() instanceof List ? - JsonUtil.getObjectToString(yysMaterialProcurementOrderPagination.getMaterialName()) : - String.valueOf(yysMaterialProcurementOrderPagination.getMaterialName()); - yysMaterialProcurementOrderQueryWrapper.lambda().like(YysMaterialProcurementOrderEntity::getMaterialName,value); + JsonUtil.getObjectToString(yysMaterialProcurementOrderPagination.getMaterialName()) : + String.valueOf(yysMaterialProcurementOrderPagination.getMaterialName()); + yysMaterialProcurementOrderQueryWrapper.lambda().like(YysMaterialProcurementOrderEntity::getMaterialName, value); } - if(ObjectUtil.isNotEmpty(yysMaterialProcurementOrderPagination.getSupplier())){ - yysMaterialProcurementOrderNum++; + if (ObjectUtil.isNotEmpty(yysMaterialProcurementOrderPagination.getSupplier())) { + yysMaterialProcurementOrderNum++; String value = yysMaterialProcurementOrderPagination.getSupplier() instanceof List ? - JsonUtil.getObjectToString(yysMaterialProcurementOrderPagination.getSupplier()) : - String.valueOf(yysMaterialProcurementOrderPagination.getSupplier()); - yysMaterialProcurementOrderQueryWrapper.lambda().like(YysMaterialProcurementOrderEntity::getSupplier,value); + JsonUtil.getObjectToString(yysMaterialProcurementOrderPagination.getSupplier()) : + String.valueOf(yysMaterialProcurementOrderPagination.getSupplier()); + yysMaterialProcurementOrderQueryWrapper.lambda().like(YysMaterialProcurementOrderEntity::getSupplier, value); } - if(ObjectUtil.isNotEmpty(yysMaterialProcurementOrderPagination.getOrderStatus())){ - yysMaterialProcurementOrderNum++; + if (ObjectUtil.isNotEmpty(yysMaterialProcurementOrderPagination.getOrderStatus())) { + yysMaterialProcurementOrderNum++; - List idList = new ArrayList<>(); - try { - String[][] orderStatus = JsonUtil.getJsonToBean(yysMaterialProcurementOrderPagination.getOrderStatus(),String[][].class); - for(int i=0;i0){ - idList.add(JsonUtil.getObjectToString(Arrays.asList(orderStatus[i]))); - } - } - }catch (Exception e1){ - try { - List orderStatus = JsonUtil.getJsonToList(yysMaterialProcurementOrderPagination.getOrderStatus(),String.class); - if(orderStatus.size()>0){ - idList.addAll(orderStatus); - } - }catch (Exception e2){ - idList.add(String.valueOf(yysMaterialProcurementOrderPagination.getOrderStatus())); - } - } - yysMaterialProcurementOrderQueryWrapper.lambda().and(t->{ - idList.forEach(tt->{ - t.like(YysMaterialProcurementOrderEntity::getOrderStatus, tt).or(); - }); - }); + List idList = new ArrayList<>(); + try { + String[][] orderStatus = JsonUtil.getJsonToBean(yysMaterialProcurementOrderPagination.getOrderStatus(), String[][].class); + for (int i = 0; i < orderStatus.length; i++) { + if (orderStatus[i].length > 0) { + idList.add(JsonUtil.getObjectToString(Arrays.asList(orderStatus[i]))); + } + } + } catch (Exception e1) { + try { + List orderStatus = JsonUtil.getJsonToList(yysMaterialProcurementOrderPagination.getOrderStatus(), String.class); + if (orderStatus.size() > 0) { + idList.addAll(orderStatus); + } + } catch (Exception e2) { + idList.add(String.valueOf(yysMaterialProcurementOrderPagination.getOrderStatus())); + } + } + yysMaterialProcurementOrderQueryWrapper.lambda().and(t -> { + idList.forEach(tt -> { + t.like(YysMaterialProcurementOrderEntity::getOrderStatus, tt).or(); + }); + }); } } List intersection = generaterSwapUtil.getIntersection(intersectionList); - if (total>0){ - if (intersection.size()==0){ + if (total > 0) { + if (intersection.size() == 0) { intersection.add("jnpfNullList"); } yysMaterialProcurementOrderQueryWrapper.lambda().in(YysMaterialProcurementOrderEntity::getId, intersection); } - //是否有高级查询 - if (StringUtil.isNotEmpty(superOp)){ - if (allSuperIDlist.size()==0){ + //是否有高级查询 + if (StringUtil.isNotEmpty(superOp)) { + if (allSuperIDlist.size() == 0) { allSuperIDlist.add("jnpfNullList"); } List finalAllSuperIDlist = allSuperIDlist; - yysMaterialProcurementOrderQueryWrapper.lambda().and(t->t.in(YysMaterialProcurementOrderEntity::getId, finalAllSuperIDlist)); + yysMaterialProcurementOrderQueryWrapper.lambda().and(t -> t.in(YysMaterialProcurementOrderEntity::getId, finalAllSuperIDlist)); } - //是否有数据过滤查询 - if (StringUtil.isNotEmpty(ruleOp)){ - if (allRuleIDlist.size()==0){ + //是否有数据过滤查询 + if (StringUtil.isNotEmpty(ruleOp)) { + if (allRuleIDlist.size() == 0) { allRuleIDlist.add("jnpfNullList"); } List finalAllRuleIDlist = allRuleIDlist; - yysMaterialProcurementOrderQueryWrapper.lambda().and(t->t.in(YysMaterialProcurementOrderEntity::getId, finalAllRuleIDlist)); + yysMaterialProcurementOrderQueryWrapper.lambda().and(t -> t.in(YysMaterialProcurementOrderEntity::getId, finalAllRuleIDlist)); } //假删除标志 yysMaterialProcurementOrderQueryWrapper.lambda().isNull(YysMaterialProcurementOrderEntity::getDeleteMark); //排序 - if(StringUtil.isEmpty(yysMaterialProcurementOrderPagination.getSidx())){ + if (StringUtil.isEmpty(yysMaterialProcurementOrderPagination.getSidx())) { yysMaterialProcurementOrderQueryWrapper.lambda().orderByDesc(YysMaterialProcurementOrderEntity::getId); - }else{ + } else { try { String sidx = yysMaterialProcurementOrderPagination.getSidx(); - String[] strs= sidx.split("_name"); + String[] strs = sidx.split("_name"); YysMaterialProcurementOrderEntity yysMaterialProcurementOrderEntity = new YysMaterialProcurementOrderEntity(); Field declaredField = yysMaterialProcurementOrderEntity.getClass().getDeclaredField(strs[0]); declaredField.setAccessible(true); String value = declaredField.getAnnotation(TableField.class).value(); - yysMaterialProcurementOrderQueryWrapper="asc".equals(yysMaterialProcurementOrderPagination.getSort().toLowerCase())?yysMaterialProcurementOrderQueryWrapper.orderByAsc(value):yysMaterialProcurementOrderQueryWrapper.orderByDesc(value); + yysMaterialProcurementOrderQueryWrapper = "asc".equals(yysMaterialProcurementOrderPagination.getSort().toLowerCase()) ? yysMaterialProcurementOrderQueryWrapper.orderByAsc(value) : yysMaterialProcurementOrderQueryWrapper.orderByDesc(value); } catch (NoSuchFieldException e) { e.printStackTrace(); } } - if("0".equals(dataType)){ - if((total>0 && AllIdList.size()>0) || total==0){ - Page page=new Page<>(yysMaterialProcurementOrderPagination.getCurrentPage(), yysMaterialProcurementOrderPagination.getPageSize()); - IPage userIPage=this.page(page, yysMaterialProcurementOrderQueryWrapper); - return yysMaterialProcurementOrderPagination.setData(userIPage.getRecords(),userIPage.getTotal()); - }else{ + if ("0".equals(dataType)) { + if ((total > 0 && AllIdList.size() > 0) || total == 0) { + Page page = new Page<>(yysMaterialProcurementOrderPagination.getCurrentPage(), yysMaterialProcurementOrderPagination.getPageSize()); + IPage userIPage = this.page(page, yysMaterialProcurementOrderQueryWrapper); + return yysMaterialProcurementOrderPagination.setData(userIPage.getRecords(), userIPage.getTotal()); + } else { List list = new ArrayList(); return yysMaterialProcurementOrderPagination.setData(list, list.size()); } - }else{ + } else { return this.list(yysMaterialProcurementOrderQueryWrapper); } } + @Override - public YysMaterialProcurementOrderEntity getInfo(String id){ - QueryWrapper queryWrapper=new QueryWrapper<>(); - queryWrapper.lambda().eq(YysMaterialProcurementOrderEntity::getId,id); + public YysMaterialProcurementOrderEntity getInfo(String id) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().eq(YysMaterialProcurementOrderEntity::getId, id); return this.getOne(queryWrapper); } + @Override - public void create(YysMaterialProcurementOrderEntity entity){ + public void create(YysMaterialProcurementOrderEntity entity) { this.save(entity); } + @Override - public boolean update(String id, YysMaterialProcurementOrderEntity entity){ + public boolean update(String id, YysMaterialProcurementOrderEntity entity) { return this.updateById(entity); } + @Override - public void delete(YysMaterialProcurementOrderEntity entity){ - if(entity!=null){ + public void delete(YysMaterialProcurementOrderEntity entity) { + if (entity != null) { this.removeById(entity.getId()); } } - /** 验证表单唯一字段,正则,非空 i-0新增-1修改*/ + + /** + * 验证表单唯一字段,正则,非空 i-0新增-1修改 + */ @Override - public String checkForm(YysMaterialProcurementOrderForm form,int i) { - boolean isUp =StringUtil.isNotEmpty(form.getId()) && !form.getId().equals("0"); - String id=""; + public String checkForm(YysMaterialProcurementOrderForm form, int i) { + boolean isUp = StringUtil.isNotEmpty(form.getId()) && !form.getId().equals("0"); + String id = ""; String countRecover = ""; - if (isUp){ + if (isUp) { id = form.getId(); } //主表字段验证 - if(StringUtil.isEmpty(form.getSupplier())){ - return "供应商不能为空"; - } + if (StringUtil.isEmpty(form.getSupplier())) { + return "供应商不能为空"; + } return countRecover; } + /** - * 新增修改数据(事务回滚) - * @param id - * @param yysMaterialProcurementOrderForm - * @return - */ + * 新增修改数据(事务回滚) + * + * @param id + * @param yysMaterialProcurementOrderForm + * @return + */ @Override @Transactional - public void saveOrUpdate(YysMaterialProcurementOrderForm yysMaterialProcurementOrderForm,String id, boolean isSave) throws Exception{ - UserInfo userInfo=userProvider.get(); + public void saveOrUpdate(YysMaterialProcurementOrderForm yysMaterialProcurementOrderForm, String id, boolean isSave) throws Exception { + UserInfo userInfo = userProvider.get(); UserEntity userEntity = generaterSwapUtil.getUser(userInfo.getUserId()); yysMaterialProcurementOrderForm = JsonUtil.getJsonToBean( - generaterSwapUtil.swapDatetime(YysMaterialProcurementOrderConstant.getFormData(),yysMaterialProcurementOrderForm),YysMaterialProcurementOrderForm.class); + generaterSwapUtil.swapDatetime(YysMaterialProcurementOrderConstant.getFormData(), yysMaterialProcurementOrderForm), YysMaterialProcurementOrderForm.class); YysMaterialProcurementOrderEntity entity = JsonUtil.getJsonToBean(yysMaterialProcurementOrderForm, YysMaterialProcurementOrderEntity.class); - if(isSave){ - String mainId = RandomUtil.uuId() ; + if (isSave) { + String mainId = RandomUtil.uuId(); entity.setId(mainId); - }else{ + } else { } this.saveOrUpdate(entity); } + + @Override + public String initOrder(YysMaterialProcurementOrderForm form) { + log.info("生成采购订单,form:{}", form); + if (CollectionUtils.isEmpty(form.getOrderData())) { + return "采购单信息为空"; + } + String currentDate = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd")); + List collect = form.getOrderData().stream().map(obj -> { + YysMaterialProcurementOrderEntity entity = BeanUtil.copyProperties(obj, YysMaterialProcurementOrderEntity.class); + String mainId = RandomUtil.uuId(); + int index = 1; + String number = String.format("%03d" + "d", index); + entity.setId(mainId); + entity.setOrderNumber("PO" + currentDate + number); + entity.setCreatorTime(DateUtil.getNowDate()); + entity.setCreatorUserId(userProvider.get().getUserId()); + index++; + return entity; + }).collect(Collectors.toList()); + boolean result = this.saveBatch(collect); + if (result) { + //需要更新采购物料表中的总下单数量以及单号 + List orders = collect.stream().map(YysMaterialProcurementOrderEntity::getOrderNumber).collect(Collectors.toList()); + BigDecimal nums = collect.stream() + .map(YysMaterialProcurementOrderEntity::getOrderQuantity) + .reduce(BigDecimal.ZERO, BigDecimal::add); + String materialId = collect.get(0).getMaterialId(); + CompletableFuture.runAsync(() -> yysMaterialProcurementItemService.syncNums(materialId, String.join(",", orders), nums)); + 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 8920bc1..e3c1611 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 @@ -443,4 +443,53 @@ public class YysMaterialProcurementPlanServiceImpl extends ServiceImpl YysMaterialProcurementItemqueryWrapper = new QueryWrapper<>(); + YysMaterialProcurementItemqueryWrapper.lambda().eq(YysMaterialProcurementItemEntity::getMaterialProcurementPlanId, entity.getId()); + yysMaterialProcurementItemService.remove(YysMaterialProcurementItemqueryWrapper); + } + if (yysMaterialProcurementPlanForm.getYysMaterialProcurementItemList() != null) { + List tableField107 = JsonUtil.getJsonToList(yysMaterialProcurementPlanForm.getYysMaterialProcurementItemList(), YysMaterialProcurementItemEntity.class); + for (YysMaterialProcurementItemEntity entitys : tableField107) { + entitys.setId(RandomUtil.uuId()); + entitys.setMaterialProcurementPlanId(entity.getId()); + if (isSave) { + } else { + } + yysMaterialProcurementItemService.saveOrUpdate(entitys); + } + //每次修改的时候去修改下 采购表的修改时间和创建用户 其次统计数量 + entity.setLastModifyTime(DateUtil.getNowDate()); + entity.setLastModifyUserId(userInfo.getUserId()); + this.saveOrUpdate(entity); + } + } } diff --git a/jnpf-java-boot/jnpf-example/jnpf-example-controller/src/main/java/jnpf/controller/YysMaterialProcurementOrderController.java b/jnpf-java-boot/jnpf-example/jnpf-example-controller/src/main/java/jnpf/controller/YysMaterialProcurementOrderController.java index 64bb597..5b35c0f 100644 --- a/jnpf-java-boot/jnpf-example/jnpf-example-controller/src/main/java/jnpf/controller/YysMaterialProcurementOrderController.java +++ b/jnpf-java-boot/jnpf-example/jnpf-example-controller/src/main/java/jnpf/controller/YysMaterialProcurementOrderController.java @@ -13,18 +13,23 @@ import jnpf.entity.*; import jnpf.util.*; import jnpf.model.yysmaterialprocurementorder.*; import lombok.extern.slf4j.Slf4j; +import oracle.jdbc.proxy.annotation.Post; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; + import javax.validation.Valid; import java.util.*; + import jnpf.annotation.JnpfField; import jnpf.base.vo.PageListVO; import jnpf.base.vo.PaginationVO; import jnpf.base.vo.DownloadVO; import jnpf.config.ConfigValueUtil; import jnpf.base.entity.ProvinceEntity; + import java.io.IOException; import java.util.stream.Collectors; + import jnpf.engine.entity.FlowTaskEntity; import jnpf.exception.WorkFlowException; import org.springframework.web.multipart.MultipartFile; @@ -36,7 +41,9 @@ import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity; import cn.afterturn.easypoi.excel.entity.enmus.ExcelType; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Workbook; + import java.io.File; + import jnpf.onlinedev.model.ExcelImFieldModel; import jnpf.onlinedev.model.OnlineImport.ImportDataModel; import jnpf.onlinedev.model.OnlineImport.ImportFormCheckUniqueModel; @@ -51,6 +58,7 @@ import org.springframework.transaction.annotation.Transactional; /** * YysMaterialProcurementOrder + * * @版本: V3.5 * @版权: 引迈信息技术有限公司(https://www.jnpfsoft.com) * @作者: JNPF开发平台组 @@ -58,7 +66,7 @@ import org.springframework.transaction.annotation.Transactional; */ @Slf4j @RestController -@Tag(name = "YysMaterialProcurementOrder" , description = "example") +@Tag(name = "YysMaterialProcurementOrder", description = "example") @RequestMapping("/api/example/YysMaterialProcurementOrder") public class YysMaterialProcurementOrderController { @@ -72,30 +80,29 @@ public class YysMaterialProcurementOrderController { private YysMaterialProcurementOrderService yysMaterialProcurementOrderService; - @Autowired private ConfigValueUtil configValueUtil; /** - * 列表 - * - * @param yysMaterialProcurementOrderPagination - * @return - */ + * 列表 + * + * @param yysMaterialProcurementOrderPagination + * @return + */ @Operation(summary = "获取列表") @PostMapping("/getList") - public ActionResult list(@RequestBody YysMaterialProcurementOrderPagination yysMaterialProcurementOrderPagination)throws IOException{ - List list= yysMaterialProcurementOrderService.getList(yysMaterialProcurementOrderPagination); - List> realList=new ArrayList<>(); + public ActionResult list(@RequestBody YysMaterialProcurementOrderPagination yysMaterialProcurementOrderPagination) throws IOException { + List list = yysMaterialProcurementOrderService.getList(yysMaterialProcurementOrderPagination); + List> realList = new ArrayList<>(); for (YysMaterialProcurementOrderEntity entity : list) { - Map yysMaterialProcurementOrderMap=JsonUtil.entityToMap(entity); - yysMaterialProcurementOrderMap.put("id", yysMaterialProcurementOrderMap.get("id")); - //副表数据 - //子表数据 + Map yysMaterialProcurementOrderMap = JsonUtil.entityToMap(entity); + yysMaterialProcurementOrderMap.put("id", yysMaterialProcurementOrderMap.get("id")); + //副表数据 + //子表数据 realList.add(yysMaterialProcurementOrderMap); } //数据转换 - realList = generaterSwapUtil.swapDataList(realList, YysMaterialProcurementOrderConstant.getFormData(), YysMaterialProcurementOrderConstant.getColumnData(), yysMaterialProcurementOrderPagination.getModuleId(),false); + realList = generaterSwapUtil.swapDataList(realList, YysMaterialProcurementOrderConstant.getFormData(), YysMaterialProcurementOrderConstant.getColumnData(), yysMaterialProcurementOrderPagination.getModuleId(), false); //返回对象 PageListVO vo = new PageListVO(); @@ -104,132 +111,134 @@ public class YysMaterialProcurementOrderController { vo.setPagination(page); return ActionResult.success(vo); } + /** - * 创建 - * - * @param yysMaterialProcurementOrderForm - * @return - */ + * 创建 + * + * @param yysMaterialProcurementOrderForm + * @return + */ @PostMapping() @Operation(summary = "创建") public ActionResult create(@RequestBody @Valid YysMaterialProcurementOrderForm yysMaterialProcurementOrderForm) { - String b = yysMaterialProcurementOrderService.checkForm(yysMaterialProcurementOrderForm,0); - if (StringUtil.isNotEmpty(b)){ - return ActionResult.fail(b ); + String b = yysMaterialProcurementOrderService.checkForm(yysMaterialProcurementOrderForm, 0); + if (StringUtil.isNotEmpty(b)) { + return ActionResult.fail(b); } - try{ - yysMaterialProcurementOrderService.saveOrUpdate(yysMaterialProcurementOrderForm, null ,true); - }catch(Exception e){ + try { + yysMaterialProcurementOrderService.saveOrUpdate(yysMaterialProcurementOrderForm, null, true); + } catch (Exception e) { return ActionResult.fail("新增数据失败"); } return ActionResult.success("创建成功"); } + /** - * 导出Excel - * - * @return - */ + * 导出Excel + * + * @return + */ @Operation(summary = "导出Excel") @PostMapping("/Actions/Export") public ActionResult Export(@RequestBody YysMaterialProcurementOrderPagination yysMaterialProcurementOrderPagination) throws IOException { - if (StringUtil.isEmpty(yysMaterialProcurementOrderPagination.getSelectKey())){ + if (StringUtil.isEmpty(yysMaterialProcurementOrderPagination.getSelectKey())) { return ActionResult.fail("请选择导出字段"); } - List list= yysMaterialProcurementOrderService.getList(yysMaterialProcurementOrderPagination); - List> realList=new ArrayList<>(); + List list = yysMaterialProcurementOrderService.getList(yysMaterialProcurementOrderPagination); + List> realList = new ArrayList<>(); for (YysMaterialProcurementOrderEntity entity : list) { - Map yysMaterialProcurementOrderMap=JsonUtil.entityToMap(entity); - yysMaterialProcurementOrderMap.put("id", yysMaterialProcurementOrderMap.get("id")); - //副表数据 - //子表数据 + Map yysMaterialProcurementOrderMap = JsonUtil.entityToMap(entity); + yysMaterialProcurementOrderMap.put("id", yysMaterialProcurementOrderMap.get("id")); + //副表数据 + //子表数据 realList.add(yysMaterialProcurementOrderMap); } //数据转换 - realList = generaterSwapUtil.swapDataList(realList, YysMaterialProcurementOrderConstant.getFormData(), YysMaterialProcurementOrderConstant.getColumnData(), yysMaterialProcurementOrderPagination.getModuleId(),false); - String[]keys=!StringUtil.isEmpty(yysMaterialProcurementOrderPagination.getSelectKey())?yysMaterialProcurementOrderPagination.getSelectKey():new String[0]; - UserInfo userInfo=userProvider.get(); - DownloadVO vo=this.creatModelExcel(configValueUtil.getTemporaryFilePath(),realList,keys,userInfo); + realList = generaterSwapUtil.swapDataList(realList, YysMaterialProcurementOrderConstant.getFormData(), YysMaterialProcurementOrderConstant.getColumnData(), yysMaterialProcurementOrderPagination.getModuleId(), false); + String[] keys = !StringUtil.isEmpty(yysMaterialProcurementOrderPagination.getSelectKey()) ? yysMaterialProcurementOrderPagination.getSelectKey() : new String[0]; + UserInfo userInfo = userProvider.get(); + DownloadVO vo = this.creatModelExcel(configValueUtil.getTemporaryFilePath(), realList, keys, userInfo); return ActionResult.success(vo); } /** - * 导出表格方法 - */ - public DownloadVO creatModelExcel(String path,List>list,String[]keys,UserInfo userInfo){ - DownloadVO vo=DownloadVO.builder().build(); - List entitys=new ArrayList<>(); - if(keys.length>0){ - for(String key:keys){ - switch(key){ - case "orderNumber" : - entitys.add(new ExcelExportEntity("采购单号" ,"orderNumber")); - break; - case "orderDate" : - entitys.add(new ExcelExportEntity("单据日期" ,"orderDate")); - break; - case "procurementNumber" : - entitys.add(new ExcelExportEntity("采购计划单号" ,"procurementNumber")); - break; - case "supplier" : - entitys.add(new ExcelExportEntity("供应商" ,"supplier")); - break; - case "materialCode" : - entitys.add(new ExcelExportEntity("物料编码" ,"materialCode")); - break; - case "materialName" : - entitys.add(new ExcelExportEntity("物料名称" ,"materialName")); - break; - case "specification" : - entitys.add(new ExcelExportEntity("规格型号" ,"specification")); - break; - case "orderQuantity" : - entitys.add(new ExcelExportEntity("下单数量" ,"orderQuantity")); - break; - case "unit" : - entitys.add(new ExcelExportEntity("计量单位" ,"unit")); - break; - case "totalProductionQuantity" : - entitys.add(new ExcelExportEntity("总投产数量" ,"totalProductionQuantity")); - break; - case "totalSendQuantity" : - entitys.add(new ExcelExportEntity("总发货数量" ,"totalSendQuantity")); - break; - case "requestDeliveryDate" : - entitys.add(new ExcelExportEntity("要求到货日期" ,"requestDeliveryDate")); - break; - case "delayReason" : - entitys.add(new ExcelExportEntity("延期原因" ,"delayReason")); - break; - case "delayedDeliveryDate" : - entitys.add(new ExcelExportEntity("延期交货日期" ,"delayedDeliveryDate")); - break; - case "batchDeliveryDate" : - entitys.add(new ExcelExportEntity("分批发货日期" ,"batchDeliveryDate")); - break; - case "batchShipmentQuantity" : - entitys.add(new ExcelExportEntity("分批发货数量" ,"batchShipmentQuantity")); - break; - case "confirmQuantityReceived" : - entitys.add(new ExcelExportEntity("确认到货数量" ,"confirmQuantityReceived")); - break; - case "orderStatus" : - entitys.add(new ExcelExportEntity("单据状态" ,"orderStatus")); - break; - case "orderFiles" : - entitys.add(new ExcelExportEntity("订单附件" ,"orderFiles")); - break; + * 导出表格方法 + */ + public DownloadVO creatModelExcel(String path, List> list, String[] keys, UserInfo userInfo) { + DownloadVO vo = DownloadVO.builder().build(); + List entitys = new ArrayList<>(); + if (keys.length > 0) { + for (String key : keys) { + switch (key) { + case "orderNumber": + entitys.add(new ExcelExportEntity("采购单号", "orderNumber")); + break; + case "orderDate": + entitys.add(new ExcelExportEntity("单据日期", "orderDate")); + break; + case "procurementNumber": + entitys.add(new ExcelExportEntity("采购计划单号", "procurementNumber")); + break; + case "supplier": + entitys.add(new ExcelExportEntity("供应商", "supplier")); + break; + case "materialCode": + entitys.add(new ExcelExportEntity("物料编码", "materialCode")); + break; + case "materialName": + entitys.add(new ExcelExportEntity("物料名称", "materialName")); + break; + case "specification": + entitys.add(new ExcelExportEntity("规格型号", "specification")); + break; + case "orderQuantity": + entitys.add(new ExcelExportEntity("下单数量", "orderQuantity")); + break; + case "unit": + entitys.add(new ExcelExportEntity("计量单位", "unit")); + break; + case "totalProductionQuantity": + entitys.add(new ExcelExportEntity("总投产数量", "totalProductionQuantity")); + break; + case "totalSendQuantity": + entitys.add(new ExcelExportEntity("总发货数量", "totalSendQuantity")); + break; + case "requestDeliveryDate": + entitys.add(new ExcelExportEntity("要求到货日期", "requestDeliveryDate")); + break; + case "delayReason": + entitys.add(new ExcelExportEntity("延期原因", "delayReason")); + break; + case "delayedDeliveryDate": + entitys.add(new ExcelExportEntity("延期交货日期", "delayedDeliveryDate")); + break; + case "batchDeliveryDate": + entitys.add(new ExcelExportEntity("分批发货日期", "batchDeliveryDate")); + break; + case "batchShipmentQuantity": + entitys.add(new ExcelExportEntity("分批发货数量", "batchShipmentQuantity")); + break; + case "confirmQuantityReceived": + entitys.add(new ExcelExportEntity("确认到货数量", "confirmQuantityReceived")); + break; + case "orderStatus": + entitys.add(new ExcelExportEntity("单据状态", "orderStatus")); + break; + case "orderFiles": + entitys.add(new ExcelExportEntity("订单附件", "orderFiles")); + break; default: - break; + break; } } } ExportParams exportParams = new ExportParams(null, "表单信息"); exportParams.setType(ExcelType.XSSF); - try{ + try { @Cleanup Workbook workbook = new HSSFWorkbook(); - if (entitys.size()>0){ - if (list.size()==0){ + if (entitys.size() > 0) { + if (list.size() == 0) { list.add(new HashMap<>()); } //去除空数据 @@ -239,8 +248,8 @@ public class YysMaterialProcurementOrderController { for (String key : keys) { //子表 if (key.toLowerCase().startsWith("tablefield")) { - String tableField = key.substring(0, key.indexOf("-" )); - String field = key.substring(key.indexOf("-" ) + 1); + String tableField = key.substring(0, key.indexOf("-")); + String field = key.substring(key.indexOf("-") + 1); Object o = map.get(tableField); if (o != null) { List> childList = (List>) o; @@ -266,7 +275,7 @@ public class YysMaterialProcurementOrderController { List complexHeaderList = columnDataModel.getComplexHeaderList(); if (!Objects.equals(columnDataModel.getType(), 3) && !Objects.equals(columnDataModel.getType(), 5)) { entitys = VisualUtils.complexHeaderHandel(entitys, complexHeaderList); - dataList = VisualUtils.complexHeaderDataHandel(dataList, complexHeaderList); + dataList = VisualUtils.complexHeaderDataHandel(dataList, complexHeaderList); } workbook = ExcelExportUtil.exportExcel(exportParams, entitys, dataList); @@ -283,91 +292,109 @@ public class YysMaterialProcurementOrderController { } return vo; } + /** - * 编辑 - * @param id - * @param yysMaterialProcurementOrderForm - * @return - */ + * 编辑 + * + * @param id + * @param yysMaterialProcurementOrderForm + * @return + */ @PutMapping("/{id}") @Operation(summary = "更新") - public ActionResult update(@PathVariable("id") String id,@RequestBody @Valid YysMaterialProcurementOrderForm yysMaterialProcurementOrderForm, - @RequestParam(value = "isImport", required = false) boolean isImport){ + public ActionResult update(@PathVariable("id") String id, @RequestBody @Valid YysMaterialProcurementOrderForm yysMaterialProcurementOrderForm, + @RequestParam(value = "isImport", required = false) boolean isImport) { yysMaterialProcurementOrderForm.setId(id); if (!isImport) { - String b = yysMaterialProcurementOrderService.checkForm(yysMaterialProcurementOrderForm,1); - if (StringUtil.isNotEmpty(b)){ - return ActionResult.fail(b ); + String b = yysMaterialProcurementOrderService.checkForm(yysMaterialProcurementOrderForm, 1); + if (StringUtil.isNotEmpty(b)) { + return ActionResult.fail(b); } } - YysMaterialProcurementOrderEntity entity= yysMaterialProcurementOrderService.getInfo(id); - if(entity!=null){ - try{ - yysMaterialProcurementOrderService.saveOrUpdate(yysMaterialProcurementOrderForm,id,false); - }catch(Exception e){ + YysMaterialProcurementOrderEntity entity = yysMaterialProcurementOrderService.getInfo(id); + if (entity != null) { + try { + yysMaterialProcurementOrderService.saveOrUpdate(yysMaterialProcurementOrderForm, id, false); + } catch (Exception e) { return ActionResult.fail("修改数据失败"); } return ActionResult.success("更新成功"); - }else{ + } else { return ActionResult.fail("更新失败,数据不存在"); } } + /** - * 删除 - * @param id - * @return - */ + * 删除 + * + * @param id + * @return + */ @Operation(summary = "删除") @DeleteMapping("/{id}") @Transactional - public ActionResult delete(@PathVariable("id") String id){ - YysMaterialProcurementOrderEntity entity= yysMaterialProcurementOrderService.getInfo(id); - if(entity!=null){ + public ActionResult delete(@PathVariable("id") String id) { + YysMaterialProcurementOrderEntity entity = yysMaterialProcurementOrderService.getInfo(id); + if (entity != null) { //假删除 entity.setDeleteMark(1); - yysMaterialProcurementOrderService.update(id,entity); + yysMaterialProcurementOrderService.update(id, entity); } return ActionResult.success("删除成功"); } + /** - * 表单信息(详情页) - * 详情页面使用-转换数据 - * @param id - * @return - */ + * 表单信息(详情页) + * 详情页面使用-转换数据 + * + * @param id + * @return + */ @Operation(summary = "表单信息(详情页)") @GetMapping("/detail/{id}") - public ActionResult detailInfo(@PathVariable("id") String id){ - YysMaterialProcurementOrderEntity entity= yysMaterialProcurementOrderService.getInfo(id); - if(entity==null){ + public ActionResult detailInfo(@PathVariable("id") String id) { + YysMaterialProcurementOrderEntity entity = yysMaterialProcurementOrderService.getInfo(id); + if (entity == null) { return ActionResult.fail("表单数据不存在!"); } - Map yysMaterialProcurementOrderMap=JsonUtil.entityToMap(entity); + Map yysMaterialProcurementOrderMap = JsonUtil.entityToMap(entity); yysMaterialProcurementOrderMap.put("id", yysMaterialProcurementOrderMap.get("id")); //副表数据 //子表数据 - yysMaterialProcurementOrderMap = generaterSwapUtil.swapDataDetail(yysMaterialProcurementOrderMap,YysMaterialProcurementOrderConstant.getFormData(),"591255416864768197",false); + yysMaterialProcurementOrderMap = generaterSwapUtil.swapDataDetail(yysMaterialProcurementOrderMap, YysMaterialProcurementOrderConstant.getFormData(), "591255416864768197", false); return ActionResult.success(yysMaterialProcurementOrderMap); } + /** - * 获取详情(编辑页) - * 编辑页面使用-不转换数据 - * @param id - * @return - */ + * 获取详情(编辑页) + * 编辑页面使用-不转换数据 + * + * @param id + * @return + */ @Operation(summary = "信息") @GetMapping("/{id}") - public ActionResult info(@PathVariable("id") String id){ - YysMaterialProcurementOrderEntity entity= yysMaterialProcurementOrderService.getInfo(id); - if(entity==null){ + public ActionResult info(@PathVariable("id") String id) { + YysMaterialProcurementOrderEntity entity = yysMaterialProcurementOrderService.getInfo(id); + if (entity == null) { return ActionResult.fail("表单数据不存在!"); } - Map yysMaterialProcurementOrderMap=JsonUtil.entityToMap(entity); + Map yysMaterialProcurementOrderMap = JsonUtil.entityToMap(entity); yysMaterialProcurementOrderMap.put("id", yysMaterialProcurementOrderMap.get("id")); //副表数据 //子表数据 - yysMaterialProcurementOrderMap = generaterSwapUtil.swapDataForm(yysMaterialProcurementOrderMap,YysMaterialProcurementOrderConstant.getFormData(),YysMaterialProcurementOrderConstant.TABLEFIELDKEY,YysMaterialProcurementOrderConstant.TABLERENAMES); + yysMaterialProcurementOrderMap = generaterSwapUtil.swapDataForm(yysMaterialProcurementOrderMap, YysMaterialProcurementOrderConstant.getFormData(), YysMaterialProcurementOrderConstant.TABLEFIELDKEY, YysMaterialProcurementOrderConstant.TABLERENAMES); return ActionResult.success(yysMaterialProcurementOrderMap); } + @Operation(summary = "生成采购订单") + @PostMapping("/initOrder") + public ActionResult initOrder(@RequestBody YysMaterialProcurementOrderForm form) { + String result = yysMaterialProcurementOrderService.initOrder(form); + if (result.contains("成功")) { + return ActionResult.success(result); + } + return ActionResult.fail(result); + } + } diff --git a/jnpf-java-boot/jnpf-example/jnpf-example-controller/src/main/java/jnpf/controller/YysMaterialProcurementPlanController.java b/jnpf-java-boot/jnpf-example/jnpf-example-controller/src/main/java/jnpf/controller/YysMaterialProcurementPlanController.java index 594a068..5e18fa3 100644 --- a/jnpf-java-boot/jnpf-example/jnpf-example-controller/src/main/java/jnpf/controller/YysMaterialProcurementPlanController.java +++ b/jnpf-java-boot/jnpf-example/jnpf-example-controller/src/main/java/jnpf/controller/YysMaterialProcurementPlanController.java @@ -399,4 +399,35 @@ public class YysMaterialProcurementPlanController { return ActionResult.success(yysMaterialProcurementPlanMap); } + /** + * 提交 + * + * @param id + * @param yysMaterialProcurementPlanForm + * @return + */ + @PutMapping("/commit/{id}") + @Operation(summary = "提交") + public ActionResult commit(@PathVariable("id") String id, @RequestBody @Valid YysMaterialProcurementPlanForm yysMaterialProcurementPlanForm, + @RequestParam(value = "isImport", required = false) boolean isImport) { + yysMaterialProcurementPlanForm.setId(id); + if (!isImport) { + String b = yysMaterialProcurementPlanService.checkForm(yysMaterialProcurementPlanForm, 1); + if (StringUtil.isNotEmpty(b)) { + return ActionResult.fail(b); + } + } + YysMaterialProcurementPlanEntity entity = yysMaterialProcurementPlanService.getInfo(id); + if (entity != null) { + try { + yysMaterialProcurementPlanService.commit(yysMaterialProcurementPlanForm, id, false); + } catch (Exception e) { + return ActionResult.fail("修改数据失败"); + } + return ActionResult.success("更新成功"); + } else { + return ActionResult.fail("更新失败,数据不存在"); + } + } + } diff --git a/jnpf-java-boot/jnpf-example/jnpf-example-entity/src/main/java/jnpf/entity/YysMaterialProcurementItemEntity.java b/jnpf-java-boot/jnpf-example/jnpf-example-entity/src/main/java/jnpf/entity/YysMaterialProcurementItemEntity.java index faef498..4aa782b 100644 --- a/jnpf-java-boot/jnpf-example/jnpf-example-entity/src/main/java/jnpf/entity/YysMaterialProcurementItemEntity.java +++ b/jnpf-java-boot/jnpf-example/jnpf-example-entity/src/main/java/jnpf/entity/YysMaterialProcurementItemEntity.java @@ -2,9 +2,11 @@ package jnpf.entity; import com.baomidou.mybatisplus.annotation.*; import lombok.Data; + import java.util.Date; import java.math.BigDecimal; import java.math.BigDecimal; + /** * 物料采购条目 * @@ -15,46 +17,50 @@ import java.math.BigDecimal; */ @Data @TableName("yys_material_procurement_item") -public class YysMaterialProcurementItemEntity { - @TableId(value ="ID" ) +public class YysMaterialProcurementItemEntity { + @TableId(value = "ID") private String id; @TableField("MATERIAL_PROCUREMENT_PLAN_ID") private String materialProcurementPlanId; - @TableField(value = "MATERIAL_CODE" , updateStrategy = FieldStrategy.IGNORED) + @TableField(value = "MATERIAL_CODE", updateStrategy = FieldStrategy.IGNORED) private String materialCode; - @TableField(value = "MATERIAL_NAME" , updateStrategy = FieldStrategy.IGNORED) + @TableField(value = "MATERIAL_NAME", updateStrategy = FieldStrategy.IGNORED) private String materialName; - @TableField(value = "MATERIAL_TYPE" , updateStrategy = FieldStrategy.IGNORED) + @TableField(value = "MATERIAL_TYPE", updateStrategy = FieldStrategy.IGNORED) private String materialType; - @TableField(value = "SPECIFICATION" , updateStrategy = FieldStrategy.IGNORED) + @TableField(value = "SPECIFICATION", updateStrategy = FieldStrategy.IGNORED) private String specification; - @TableField(value = "LACK_NUMBER" , updateStrategy = FieldStrategy.IGNORED) + @TableField(value = "LACK_NUMBER", updateStrategy = FieldStrategy.IGNORED) private BigDecimal lackNumber; - @TableField(value = "UNIT" , updateStrategy = FieldStrategy.IGNORED) + @TableField(value = "UNIT", updateStrategy = FieldStrategy.IGNORED) private String unit; - @TableField(value = "PROCUREMENT_PLAN_NUMBER" , updateStrategy = FieldStrategy.IGNORED) + @TableField(value = "PROCUREMENT_PLAN_NUMBER", updateStrategy = FieldStrategy.IGNORED) private BigDecimal procurementPlanNumber; - @TableField(value = "F_CREATOR_TIME" , fill = FieldFill.INSERT) + @TableField(value = "order_quantity", updateStrategy = FieldStrategy.IGNORED) + private BigDecimal orderQuantity; + @TableField(value = "order_nos", updateStrategy = FieldStrategy.IGNORED) + private String orderNos; + @TableField(value = "F_CREATOR_TIME", fill = FieldFill.INSERT) private Date creatorTime; - @TableField(value = "F_CREATOR_USER_ID" , fill = FieldFill.INSERT) + @TableField(value = "F_CREATOR_USER_ID", fill = FieldFill.INSERT) private String creatorUserId; - @TableField(value = "F_LAST_MODIFY_TIME" , fill = FieldFill.INSERT_UPDATE) + @TableField(value = "F_LAST_MODIFY_TIME", fill = FieldFill.INSERT_UPDATE) private Date lastModifyTime; - @TableField(value = "F_LAST_MODIFY_USER_ID" , fill = FieldFill.INSERT_UPDATE) + @TableField(value = "F_LAST_MODIFY_USER_ID", fill = FieldFill.INSERT_UPDATE) private String lastModifyUserId; - @TableField(value = "F_DELETE_TIME" , fill = FieldFill.UPDATE) + @TableField(value = "F_DELETE_TIME", fill = FieldFill.UPDATE) private Date deleteTime; - @TableField(value = "F_DELETE_USER_ID" , fill = FieldFill.UPDATE) + @TableField(value = "F_DELETE_USER_ID", fill = FieldFill.UPDATE) private String deleteUserId; - @TableField(value = "F_DELETE_MARK" , updateStrategy = FieldStrategy.IGNORED) + @TableField(value = "F_DELETE_MARK", updateStrategy = FieldStrategy.IGNORED) private Integer deleteMark; @TableField("F_TENANT_ID") private String tenantId; - @TableField(value = "COMPANY_ID" , fill = FieldFill.INSERT) + @TableField(value = "COMPANY_ID", fill = FieldFill.INSERT) private String companyId; - @TableField(value = "DEPARTMENT_ID" , fill = FieldFill.INSERT) + @TableField(value = "DEPARTMENT_ID", fill = FieldFill.INSERT) private String departmentId; - @TableField(value = "ORGANIZE_JSON_ID" , fill = FieldFill.INSERT) + @TableField(value = "ORGANIZE_JSON_ID", fill = FieldFill.INSERT) private String organizeJsonId; @TableField("F_FLOW_ID") private String flowId; diff --git a/jnpf-java-boot/jnpf-example/jnpf-example-entity/src/main/java/jnpf/entity/YysMaterialProcurementOrderEntity.java b/jnpf-java-boot/jnpf-example/jnpf-example-entity/src/main/java/jnpf/entity/YysMaterialProcurementOrderEntity.java index 9612308..7f1e0ac 100644 --- a/jnpf-java-boot/jnpf-example/jnpf-example-entity/src/main/java/jnpf/entity/YysMaterialProcurementOrderEntity.java +++ b/jnpf-java-boot/jnpf-example/jnpf-example-entity/src/main/java/jnpf/entity/YysMaterialProcurementOrderEntity.java @@ -29,6 +29,8 @@ public class YysMaterialProcurementOrderEntity { private String procurementNumber; @TableField(value = "SUPPLIER" , updateStrategy = FieldStrategy.IGNORED) private String supplier; + @TableField(value = "MATERIAL_ID" , updateStrategy = FieldStrategy.IGNORED) + private String materialId; @TableField(value = "MATERIAL_CODE" , updateStrategy = FieldStrategy.IGNORED) private String materialCode; @TableField(value = "MATERIAL_NAME" , updateStrategy = FieldStrategy.IGNORED) diff --git a/jnpf-java-boot/jnpf-example/jnpf-example-entity/src/main/java/jnpf/model/yysmaterialprocurementorder/YysMaterialProcurementOrderForm.java b/jnpf-java-boot/jnpf-example/jnpf-example-entity/src/main/java/jnpf/model/yysmaterialprocurementorder/YysMaterialProcurementOrderForm.java index 3edb65d..9bae81d 100644 --- a/jnpf-java-boot/jnpf-example/jnpf-example-entity/src/main/java/jnpf/model/yysmaterialprocurementorder/YysMaterialProcurementOrderForm.java +++ b/jnpf-java-boot/jnpf-example/jnpf-example-entity/src/main/java/jnpf/model/yysmaterialprocurementorder/YysMaterialProcurementOrderForm.java @@ -1,77 +1,131 @@ package jnpf.model.yysmaterialprocurementorder; import lombok.Data; + import java.util.List; import java.math.BigDecimal; + import com.fasterxml.jackson.annotation.JsonProperty; /** * YysMaterialProcurementOrder + * * @版本: V3.5 * @版权: 引迈信息技术有限公司(https://www.jnpfsoft.com) * @作者: JNPF开发平台组 * @日期: 2024-08-08 */ @Data -public class YysMaterialProcurementOrderForm { - /** 主键 */ +public class YysMaterialProcurementOrderForm { + /** + * 主键 + */ private String id; - /** 采购单号 **/ + /** + * 采购单号 + **/ @JsonProperty("orderNumber") private String orderNumber; - /** 单据日期 **/ + /** + * 单据日期 + **/ @JsonProperty("orderDate") private String orderDate; - /** 采购计划单号 **/ + /** + * 采购计划单号 + **/ @JsonProperty("procurementNumber") private String procurementNumber; - /** 供应商 **/ + /** + * 供应商 + **/ @JsonProperty("supplier") private String supplier; - /** 物料编码 **/ + /** + * 物料编码 + **/ + @JsonProperty("materialID") + private String materialId; + /** + /** + * 物料编码 + **/ @JsonProperty("materialCode") private String materialCode; - /** 物料名称 **/ + /** + * 物料名称 + **/ @JsonProperty("materialName") private String materialName; - /** 规格型号 **/ + /** + * 规格型号 + **/ @JsonProperty("specification") private String specification; - /** 下单数量 **/ + /** + * 下单数量 + **/ @JsonProperty("orderQuantity") private BigDecimal orderQuantity; - /** 计量单位 **/ + /** + * 计量单位 + **/ @JsonProperty("unit") private String unit; - /** 总投产数量 **/ + /** + * 总投产数量 + **/ @JsonProperty("totalProductionQuantity") private BigDecimal totalProductionQuantity; - /** 总发货数量 **/ + /** + * 总发货数量 + **/ @JsonProperty("totalSendQuantity") private BigDecimal totalSendQuantity; - /** 要求到货日期 **/ + /** + * 要求到货日期 + **/ @JsonProperty("requestDeliveryDate") private String requestDeliveryDate; - /** 延期原因 **/ + /** + * 延期原因 + **/ @JsonProperty("delayReason") private String delayReason; - /** 延期交货日期 **/ + /** + * 延期交货日期 + **/ @JsonProperty("delayedDeliveryDate") private String delayedDeliveryDate; - /** 分批发货日期 **/ + /** + * 分批发货日期 + **/ @JsonProperty("batchDeliveryDate") private String batchDeliveryDate; - /** 分批发货数量 **/ + /** + * 分批发货数量 + **/ @JsonProperty("batchShipmentQuantity") private BigDecimal batchShipmentQuantity; - /** 确认到货数量 **/ + /** + * 确认到货数量 + **/ @JsonProperty("confirmQuantityReceived") private BigDecimal confirmQuantityReceived; - /** 单据状态 **/ + /** + * 单据状态 + **/ @JsonProperty("orderStatus") private Object orderStatus; - /** 订单附件 **/ + /** + * 订单附件 + **/ @JsonProperty("orderFiles") private Object orderFiles; + + /** + * 采购单信息 + */ + private List orderData; } diff --git a/jnpf-java-boot/jnpf-web/src/views/yys/yysmaterialprocurementplan/Detail.vue b/jnpf-java-boot/jnpf-web/src/views/yys/yysmaterialprocurementplan/Detail.vue index 1727fe1..4513c3a 100644 --- a/jnpf-java-boot/jnpf-web/src/views/yys/yysmaterialprocurementplan/Detail.vue +++ b/jnpf-java-boot/jnpf-web/src/views/yys/yysmaterialprocurementplan/Detail.vue @@ -47,7 +47,8 @@
- 物料明细 + 物料明细
@@ -91,6 +92,16 @@

{{ scope.row.unit }}

+ + + + + +
diff --git a/jnpf-java-boot/jnpf-web/src/views/yys/yysmaterialprocurementplan/form.vue b/jnpf-java-boot/jnpf-web/src/views/yys/yysmaterialprocurementplan/form.vue index f9ac34c..7e5af1e 100644 --- a/jnpf-java-boot/jnpf-web/src/views/yys/yysmaterialprocurementplan/form.vue +++ b/jnpf-java-boot/jnpf-web/src/views/yys/yysmaterialprocurementplan/form.vue @@ -2,10 +2,7 @@
- +
- - 保 存 - - 提交 + + {{ !dataForm.id ? '确定并新增' : '确定并继续' }} + + --> + + 保 存 + + 提交 取 消
- - + + @@ -219,18 +124,12 @@ *物料类型 @@ -239,18 +138,12 @@ *规格型号 @@ -259,41 +152,26 @@ *欠缺量 - + @@ -302,106 +180,65 @@ *计量单位 + + + + + + + + -
+
添加
- + - + - + - + @@ -409,66 +246,36 @@ - -
+ + +
+
- 生成采购单: + 生成采购单: - 物料编码:{{ procurementOrderItem.materialCode }} - 物料名称:{{ procurementOrderItem.materialName }} - 物料类型:{{ procurementOrderItem.materialType }} - 欠缺量:{{ procurementOrderItem.lackNumber }} - 计量单位:{{ procurementOrderItem.unit }} + 物料编码:{{ procurementOrderItem.materialCode }} + 物料名称:{{ procurementOrderItem.materialName }} + 物料类型:{{ procurementOrderItem.materialType }} + 欠缺量:{{ procurementOrderItem.lackNumber }} + 计量单位:{{ procurementOrderItem.unit }} - + @@ -477,82 +284,41 @@ * 下单数量 - + -
+
添加
- - 取消 - 提交 + + 取消 + 提交 - +
@@ -727,7 +493,7 @@ export default { this.initDefaultData(); this.dataValueAll = JSON.parse(JSON.stringify(this.dataForm)); }, - mounted() {}, + mounted() { }, methods: { fnProcurementOrderCreate(row) { this.procurementOrderItem = { ...this.procurementOrderItemO }; @@ -752,7 +518,7 @@ export default { .then(() => { this.procurementOrderList.splice(index, 1); }) - .catch(() => {}); + .catch(() => { }); }, fnProcurementOrderCancel() { this.procurementOrderList = []; @@ -760,6 +526,7 @@ export default { }, fnProcurementOrderSub() { console.log(this.procurementOrderList); + ///api/example/YysMaterialProcurementOrder/initOrder }, prev() { this.index--; @@ -837,7 +604,7 @@ export default { } } }, - dataAll() {}, + dataAll() { }, yysmaterialprocurementitemExist() { let isOk = true; for ( @@ -891,7 +658,7 @@ export default { this.$store.commit("generator/UPDATE_RELATION_DATA", {}); }, //初始化默认数据 - initDefaultData() {}, + initDefaultData() { }, // 表单提交 dataFormSubmit(type) { this.dataFormSubmitType = type ? type : 0; @@ -902,6 +669,38 @@ export default { } }); }, + submit(type) { + this.dataFormSubmitType = type ? type : 0; + this.$refs["formRef"].validate(valid => { + if (valid) { + if (!this.yysmaterialprocurementitemExist()) return; + let _data = this.dataList(); + request({ + url: "/api/example/YysMaterialProcurementPlan/commit/" + this.dataForm.id, + method: "PUT", + data: _data + }) + .then(res => { + this.$message({ + message: res.msg, + type: "success", + duration: 1000, + onClose: () => { + if (this.dataFormSubmitType == 2) + return (this.continueBtnLoading = false); + this.visible = false; + this.btnLoading = false; + this.$emit("refresh", true); + } + }); + }) + .catch(() => { + this.btnLoading = false; + this.continueBtnLoading = false; + }); + } + }); + }, request() { let _data = this.dataList(); if (this.dataFormSubmitType == 2) { @@ -984,7 +783,7 @@ export default { .then(() => { this.dataForm.yysMaterialProcurementItemList.splice(index, 1); }) - .catch(() => {}); + .catch(() => { }); }, getyysMaterialProcurementItemList(value) { let item = { ...this.tableRows.yysMaterialProcurementItemList, ...value };