diff --git a/src/main/java/com/glxp/api/constant/Constant.java b/src/main/java/com/glxp/api/constant/Constant.java index 7a5e2000b..e7cc521aa 100644 --- a/src/main/java/com/glxp/api/constant/Constant.java +++ b/src/main/java/com/glxp/api/constant/Constant.java @@ -317,4 +317,12 @@ public class Constant { public static final Integer THR_INV_SF_ORDER_TYPE = 1; public static final Integer THR_INV_PH_ORDER_TYPE = 2; public static final Integer THR_INV_GH_ORDER_TYPE = 3; + + + /** + * basic_sk_project -- type + */ + public static final Integer SK_PRO_DSB_TYPE = 1;//1:定数包,内部使用 + public static final Integer SK_PRO_THR_TYPE = 2;//2:项目、组套外部关联 + public static final Integer SK_PRO_SS_TYPE = 3;//3:术士组套 } diff --git a/src/main/java/com/glxp/api/controller/basic/BasicDestinyRelController.java b/src/main/java/com/glxp/api/controller/basic/BasicDestinyRelController.java index b13106489..8509302e9 100644 --- a/src/main/java/com/glxp/api/controller/basic/BasicDestinyRelController.java +++ b/src/main/java/com/glxp/api/controller/basic/BasicDestinyRelController.java @@ -1,6 +1,7 @@ package com.glxp.api.controller.basic; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.thread.ThreadUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; @@ -26,6 +27,7 @@ import com.glxp.api.service.basic.BasicSkProjectService; import com.glxp.api.service.basic.UdiRelevanceService; import com.glxp.api.service.basic.impl.BasicDestinyRelService; import com.glxp.api.util.BeanCopyUtils; +import com.glxp.api.util.StringUtils; import com.glxp.api.util.udi.FilterUdiUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.GetMapping; @@ -37,9 +39,12 @@ import org.springframework.web.context.request.ServletRequestAttributes; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; @RestController public class BasicDestinyRelController { @@ -64,6 +69,14 @@ public class BasicDestinyRelController { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } List basicSkProjectResponses = basicSkProjectService.filterList(basicSkProjectRequest); + if (CollectionUtil.isNotEmpty(basicSkProjectResponses)){ + List pId = basicSkProjectResponses.stream().map(BasicSkProjectResponse::getId).collect(Collectors.toList()); + Map priceMap = basicDestinyRelService.sumPriceByRedIds(pId); + basicSkProjectResponses.forEach( x -> { + BigDecimal price = priceMap.get(x.getId()); + x.setPrice(String.valueOf(price)); + }); + } PageInfo pageInfo = new PageInfo<>(basicSkProjectResponses); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); pageSimpleResponse.setTotal(pageInfo.getTotal()); @@ -91,6 +104,7 @@ public class BasicDestinyRelController { } AuthAdmin authAdmin = customerService.getUserBean(); + basicSkProjectEntity.setStatus(1);//草稿 basicSkProjectEntity.setId(IdUtil.getSnowflakeNextId()); basicSkProjectEntity.setCreateTime(new Date()); basicSkProjectEntity.setUpdateTime(new Date()); @@ -287,5 +301,27 @@ public class BasicDestinyRelController { return ResultVOUtils.success("后台已开始下载,请稍后刷新查看!"); } + @PostMapping("/udiwms/basic/destiny/model/submitSkSkProject") + public BaseResponse submitSkSkProject(@RequestBody BasicSkProjectEntity basicSkProjectEntity) { + + Long id = basicSkProjectEntity.getId(); + if (id == null){ + return ResultVOUtils.error(999, "提交失败,id不可以为空!"); + } + Boolean falgf = basicSkProjectService.generateProduct(id); + if (!falgf) { + return ResultVOUtils.error(999, "生成产品失败!"); + } + AuthAdmin authAdmin = customerService.getUserBean(); + basicSkProjectEntity.setStatus(3);//审核通过 + basicSkProjectEntity.setUpdateTime(new Date()); + basicSkProjectEntity.setUpdateUser(authAdmin.getId() + ""); + + Boolean falg = basicSkProjectService.updateById(basicSkProjectEntity); + if (!falg) { + return ResultVOUtils.error(999, "编辑失败!"); + } + return ResultVOUtils.success(); + } } diff --git a/src/main/java/com/glxp/api/controller/inout/IoDestinyProcessController.java b/src/main/java/com/glxp/api/controller/inout/IoDestinyProcessController.java index bb61de6e8..cf2ebcae1 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoDestinyProcessController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoDestinyProcessController.java @@ -58,6 +58,22 @@ public class IoDestinyProcessController { return ResultVOUtils.success(udiRelevanceResponseList); } + @GetMapping("/udiwms/basic/destiny/model/filterDestinyProcessDelectFy") + public BaseResponse filterDestinyProcessDelectFy(FilterUdiRelRequest filterUdiRelRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List udiRelevanceResponseList = ioDestinyProcessDetailService.filterProcessDetail(filterUdiRelRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(udiRelevanceResponseList); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(udiRelevanceResponseList); + + return ResultVOUtils.success(pageSimpleResponse); + } + @GetMapping("/udiwms/basic/destiny/model/filterDestinyProcess") public BaseResponse filterDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest, BindingResult bindingResult) { diff --git a/src/main/java/com/glxp/api/dao/basic/BasicDestinyRelMapper.java b/src/main/java/com/glxp/api/dao/basic/BasicDestinyRelMapper.java index b19169e7a..c243c69fc 100644 --- a/src/main/java/com/glxp/api/dao/basic/BasicDestinyRelMapper.java +++ b/src/main/java/com/glxp/api/dao/basic/BasicDestinyRelMapper.java @@ -7,7 +7,9 @@ import com.glxp.api.res.basic.UdiRelevanceResponse; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.math.BigDecimal; import java.util.List; +import java.util.Map; @Mapper public interface BasicDestinyRelMapper extends BaseMapperPlus { @@ -18,4 +20,6 @@ public interface BasicDestinyRelMapper extends BaseMapperPlus filterDestinyRelListByPId(@Param("thrCode") String thrCode); + + List> sumPriceByRedIds(@Param("pId")List pId); } diff --git a/src/main/java/com/glxp/api/entity/basic/BasicSkProjectEntity.java b/src/main/java/com/glxp/api/entity/basic/BasicSkProjectEntity.java index ce08c7e1d..b6c395c28 100644 --- a/src/main/java/com/glxp/api/entity/basic/BasicSkProjectEntity.java +++ b/src/main/java/com/glxp/api/entity/basic/BasicSkProjectEntity.java @@ -96,4 +96,9 @@ public class BasicSkProjectEntity { private String unit; @TableField(value = "price") private String price; + + @TableField(value = "status") + @ApiModelProperty(value = "状态(1.草稿,2.未审核,3.已审核,4.已拒绝)") + private Integer status; + } diff --git a/src/main/java/com/glxp/api/entity/basic/UdiProductEntity.java b/src/main/java/com/glxp/api/entity/basic/UdiProductEntity.java index 4f99b457e..77bdbdf43 100644 --- a/src/main/java/com/glxp/api/entity/basic/UdiProductEntity.java +++ b/src/main/java/com/glxp/api/entity/basic/UdiProductEntity.java @@ -100,6 +100,7 @@ public class UdiProductEntity { private String updateUser; private Date createTime; private String createUser; + private String destinyType; /** * 一级分类名称(学科,品名) diff --git a/src/main/java/com/glxp/api/req/basic/AddProductRequest.java b/src/main/java/com/glxp/api/req/basic/AddProductRequest.java index 74fbaa298..242d8932e 100644 --- a/src/main/java/com/glxp/api/req/basic/AddProductRequest.java +++ b/src/main/java/com/glxp/api/req/basic/AddProductRequest.java @@ -144,4 +144,8 @@ public class AddProductRequest { @TableField(value = "matrial") @ApiModelProperty(value="耗材材质") private String matrial; + + private String price; + private Integer destinyType; + private String code; } diff --git a/src/main/java/com/glxp/api/res/basic/BasicSkProjectResponse.java b/src/main/java/com/glxp/api/res/basic/BasicSkProjectResponse.java index 14d22804a..ae0ae9222 100644 --- a/src/main/java/com/glxp/api/res/basic/BasicSkProjectResponse.java +++ b/src/main/java/com/glxp/api/res/basic/BasicSkProjectResponse.java @@ -59,6 +59,7 @@ public class BasicSkProjectResponse { private String unit; private String price; + private Integer status; private List basicSkProjectDetailResponses; } diff --git a/src/main/java/com/glxp/api/service/basic/BasicSkProjectService.java b/src/main/java/com/glxp/api/service/basic/BasicSkProjectService.java index 8e10c32c9..5d97d4092 100644 --- a/src/main/java/com/glxp/api/service/basic/BasicSkProjectService.java +++ b/src/main/java/com/glxp/api/service/basic/BasicSkProjectService.java @@ -1,18 +1,25 @@ package com.glxp.api.service.basic; +import cn.hutool.core.collection.CollectionUtil; import com.github.pagehelper.PageHelper; import com.glxp.api.entity.thrsys.ThrProductsEntity; +import com.glxp.api.req.basic.AddProductRequest; import com.glxp.api.req.basic.BasicSkProjectRequest; import com.glxp.api.req.thrsys.FilterThrProductsRequest; import com.glxp.api.res.basic.BasicSkProjectResponse; +import com.glxp.api.service.basic.impl.BasicDestinyRelService; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.glxp.api.dao.basic.BasicSkProjectMapper; import com.glxp.api.entity.basic.BasicSkProjectEntity; import javax.annotation.Resource; +import java.math.BigDecimal; +import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; @Service public class BasicSkProjectService extends ServiceImpl { @@ -20,6 +27,10 @@ public class BasicSkProjectService extends ServiceImpl filterList(BasicSkProjectRequest basicSkProjectRequest) { if (basicSkProjectRequest == null) { @@ -32,4 +43,26 @@ public class BasicSkProjectService extends ServiceImpl data = basicSkProjectMapper.filterList(basicSkProjectRequest); return data; } + + /** + * 定数包 -》 产品 + * @param id + * @return + */ + public Boolean generateProduct(Long id) { + List pId = new ArrayList<>(); + pId.add(id); + Map priceMap = basicDestinyRelService.sumPriceByRedIds(pId); + BigDecimal price = priceMap.get(id); + BasicSkProjectEntity basicSkProjectEntity = basicSkProjectMapper.selectById(id); + AddProductRequest addProductRequest = new AddProductRequest(); + addProductRequest.setName(basicSkProjectEntity.getName()); + addProductRequest.setSpec(basicSkProjectEntity.getGgxh()); + addProductRequest.setMeasname(basicSkProjectEntity.getUnit()); + addProductRequest.setPrice(String.valueOf(price)); + addProductRequest.setDestinyType(1);//定数包 + addProductRequest.setCode(basicSkProjectEntity.getCode()); + udiProductService.addProduct(addProductRequest); + return true; + } } diff --git a/src/main/java/com/glxp/api/service/basic/impl/BasicDestinyRelService.java b/src/main/java/com/glxp/api/service/basic/impl/BasicDestinyRelService.java index 385ebd2ba..8e8be4445 100644 --- a/src/main/java/com/glxp/api/service/basic/impl/BasicDestinyRelService.java +++ b/src/main/java/com/glxp/api/service/basic/impl/BasicDestinyRelService.java @@ -29,9 +29,8 @@ import com.glxp.api.res.basic.UdiRelevanceResponse; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; +import java.math.BigDecimal; +import java.util.*; @Service @@ -157,4 +156,16 @@ public class BasicDestinyRelService extends ServiceImpl filterDestinyRelListByPId(String thrCode) { return basicDestinyRelMapper.filterDestinyRelListByPId(thrCode); } + + public Map sumPriceByRedIds(List pId) { + Map reMap = new HashMap(); + List> maps = basicDestinyRelMapper.sumPriceByRedIds(pId); + for (int i = 0; i < maps.size(); i++) { + Map map = maps.get(i); + reMap.put(Long.parseLong(String.valueOf(map.get("pId"))), + new BigDecimal(String.valueOf(map.get("price"))) + ); + } + return reMap; + } } diff --git a/src/main/java/com/glxp/api/service/basic/impl/UdiProductServiceImpl.java b/src/main/java/com/glxp/api/service/basic/impl/UdiProductServiceImpl.java index 4440051cb..2ca3d9de4 100644 --- a/src/main/java/com/glxp/api/service/basic/impl/UdiProductServiceImpl.java +++ b/src/main/java/com/glxp/api/service/basic/impl/UdiProductServiceImpl.java @@ -231,7 +231,12 @@ public class UdiProductServiceImpl implements UdiProductService { BeanUtils.copyProperties(addProductRequest, udiProductEntity); long relId = gennerOrderUtils.getRelId(); udiProductEntity.setId(relId); - udiProductEntity.setNameCode(relId + ""); + String code = addProductRequest.getCode(); + if (StrUtil.isEmpty(code)){ + udiProductEntity.setNameCode(relId + ""); + }else { + udiProductEntity.setNameCode(code); + } udiProductEntity.setUuid(IdUtil.getSnowflakeNextId() + ""); udiProductEntity.setCpmctymc(addProductRequest.getName()); diff --git a/src/main/resources/mybatis/mapper/basic/BasicDestinyRelMapper.xml b/src/main/resources/mybatis/mapper/basic/BasicDestinyRelMapper.xml index 93ecc8ca3..e4cbc42dd 100644 --- a/src/main/resources/mybatis/mapper/basic/BasicDestinyRelMapper.xml +++ b/src/main/resources/mybatis/mapper/basic/BasicDestinyRelMapper.xml @@ -208,7 +208,8 @@ + + diff --git a/src/main/resources/mybatis/mapper/basic/BasicSkProjectMapper.xml b/src/main/resources/mybatis/mapper/basic/BasicSkProjectMapper.xml index 2ed66d0fc..25f2eb975 100644 --- a/src/main/resources/mybatis/mapper/basic/BasicSkProjectMapper.xml +++ b/src/main/resources/mybatis/mapper/basic/BasicSkProjectMapper.xml @@ -7,6 +7,9 @@ FROM basic_sk_project LEFT JOIN auth_user cb ON basic_sk_project.createUser = cb.id + + AND type = #{type} + AND name LIKE concat('%', #{name}, '%') diff --git a/src/main/resources/mybatis/mapper/basic/UdiProductDao.xml b/src/main/resources/mybatis/mapper/basic/UdiProductDao.xml index a17c97ef1..8743dbd65 100644 --- a/src/main/resources/mybatis/mapper/basic/UdiProductDao.xml +++ b/src/main/resources/mybatis/mapper/basic/UdiProductDao.xml @@ -191,7 +191,8 @@ catalogname1, catalogname2, catalogname3, - matrial) + matrial, + destinyType) values (#{id}, #{uuid}, #{originUuid}, #{nameCode}, @@ -251,7 +252,8 @@ #{catalogname1}, #{catalogname2}, #{catalogname3}, - #{matrial}) + #{matrial}, + #{destinyType}) diff --git a/src/main/resources/mybatis/mapper/inout/IoDestinyProcessDetailMapper.xml b/src/main/resources/mybatis/mapper/inout/IoDestinyProcessDetailMapper.xml index 867c2daef..2e4e8b81b 100644 --- a/src/main/resources/mybatis/mapper/inout/IoDestinyProcessDetailMapper.xml +++ b/src/main/resources/mybatis/mapper/inout/IoDestinyProcessDetailMapper.xml @@ -84,9 +84,11 @@ LEFT JOIN auth_user au ON au.id = i1.updateUser LEFT JOIN auth_user au2 ON au2.id = i1.createUser - + + AND i1.billNo = #{billNo} + order by i1.updateTime desc - \ No newline at end of file + diff --git a/src/main/resources/schemas/schema_v2.4.sql b/src/main/resources/schemas/schema_v2.4.sql index 8c62af4de..626d26a64 100644 --- a/src/main/resources/schemas/schema_v2.4.sql +++ b/src/main/resources/schemas/schema_v2.4.sql @@ -2005,3 +2005,11 @@ CALL Pro_Temp_ColumnWork('thr_inv_order', 'chargeTime', CALL Pro_Temp_ColumnWork('thr_inv_order', 'chargeUser', ' varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT''收费人员''', 1); + +CALL Pro_Temp_ColumnWork('basic_sk_project', 'status', + ' int(0) NULL DEFAULT NULL COMMENT '' 状态(1.草稿,2.未审核,3.已审核,4.已拒绝)''', 1); + +CALL Pro_Temp_ColumnWork('basic_products', 'destinyType', + ' int(0) NULL DEFAULT NULL COMMENT''1:定数包''', + 1); +