diff --git a/src/main/java/com/glxp/api/controller/purchase/PurApplyController.java b/src/main/java/com/glxp/api/controller/purchase/PurApplyController.java index ec6be92c2..59278a8d9 100644 --- a/src/main/java/com/glxp/api/controller/purchase/PurApplyController.java +++ b/src/main/java/com/glxp/api/controller/purchase/PurApplyController.java @@ -2,10 +2,7 @@ package com.glxp.api.controller.purchase; import com.glxp.api.req.purchase.AddDetailByWarlockBagRequest; import com.glxp.api.service.basic.SysApprovalFlowService; -import com.glxp.api.service.purchase.impl.PurApplyDetailService; -import com.glxp.api.service.purchase.impl.PurApplyService; -import com.glxp.api.service.purchase.impl.PurOrderDetailService; -import com.glxp.api.service.purchase.impl.PurPlanDetailService; +import com.glxp.api.service.purchase.impl.*; import com.glxp.api.service.system.SystemParamConfigService; import org.springframework.beans.BeanUtils; import cn.hutool.core.collection.CollUtil; @@ -88,6 +85,8 @@ public class PurApplyController { SysApprovalFlowService sysApprovalFlowService; @Resource SystemParamConfigService systemParamConfigService; + @Resource + PurApplyArgumentService purApplyArgumentService; final String type = "sg"; @@ -124,12 +123,10 @@ public class PurApplyController { } else { purApplyService.update(purApplyEntity); } -// if (CollUtil.isNotEmpty(postPurApplyRequest.getSubErpOrders())) { -// for (PurApplyDetailEntity purApplyDetailEntity : postPurApplyRequest.getSubErpOrders()) { -// purApplyDetailEntity.setId(null); -// purApplyDetailService.insert(purApplyDetailEntity); -// } -// } + + if (editStatus == 2){ + purApplyArgumentService.genPurApplyArguments(purApplyEntity); + } return ResultVOUtils.success("提交成功!"); diff --git a/src/main/java/com/glxp/api/dao/purchase/PurApplyArgumentMapper.java b/src/main/java/com/glxp/api/dao/purchase/PurApplyArgumentMapper.java new file mode 100644 index 000000000..86e069797 --- /dev/null +++ b/src/main/java/com/glxp/api/dao/purchase/PurApplyArgumentMapper.java @@ -0,0 +1,9 @@ +package com.glxp.api.dao.purchase; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.glxp.api.entity.purchase.PurApplyArgument; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface PurApplyArgumentMapper extends BaseMapper { +} \ No newline at end of file diff --git a/src/main/java/com/glxp/api/entity/purchase/PurApplyArgument.java b/src/main/java/com/glxp/api/entity/purchase/PurApplyArgument.java new file mode 100644 index 000000000..403e8a917 --- /dev/null +++ b/src/main/java/com/glxp/api/entity/purchase/PurApplyArgument.java @@ -0,0 +1,169 @@ +package com.glxp.api.entity.purchase; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + +@ApiModel(description="udi_wms_ct.pur_apply_argument") +@Data +@TableName(value = "udi_wms_ct.pur_apply_argument") +public class PurApplyArgument implements Serializable { + @TableId(value = "id", type = IdType.INPUT) + @ApiModelProperty(value="") + private Long id; + + /** + * 订单外键 + */ + @TableField(value = "orderIdFk") + @ApiModelProperty(value="订单外键") + private String orderIdFk; + + /** + * 订单详情外键 + */ + @TableField(value = "orderDetailIdFk") + @ApiModelProperty(value="订单详情外键") + private String orderDetailIdFk; + + /** + * 申领单据号 + */ + @TableField(value = "applyBillNo") + @ApiModelProperty(value="申领单据号") + private String applyBillNo; + + /** + * 当前仓库 + */ + @TableField(value = "invCode") + @ApiModelProperty(value="当前仓库") + private String invCode; + + /** + * 所属部门 + */ + @TableField(value = "deptCode") + @ApiModelProperty(value="所属部门") + private String deptCode; + + /** + * 所属部门名字 + */ + @TableField(value = "deptName") + @ApiModelProperty(value="所属部门名字") + private String deptName; + + /** + * 创建人 + */ + @TableField(value = "`createUser`") + @ApiModelProperty(value="创建人") + private String createUser; + + /** + * 创建人 + */ + @TableField(value = "`createName`") + @ApiModelProperty(value="创建人") + private String createName; + + /** + * 创建时间 + */ + @TableField(value = "createTime") + @ApiModelProperty(value="创建时间") + private Date createTime; + + /** + * 更新人 + */ + @TableField(value = "updateUser") + @ApiModelProperty(value="更新人") + private String updateUser; + + /** + * 更新时间 + */ + @TableField(value = "updateTime") + @ApiModelProperty(value="更新时间") + private Date updateTime; + + /** + * 产品ID + */ + @TableField(value = "productId") + @ApiModelProperty(value="产品ID") + private Long productId; + + /** + * 产品名称 + */ + @TableField(value = "productName") + @ApiModelProperty(value="产品名称") + private String productName; + + /** + * 数量 + */ + @TableField(value = "`count`") + @ApiModelProperty(value="数量") + private Integer count; + + /** + * 单位 + */ + @TableField(value = "measname") + @ApiModelProperty(value="单位") + private String measname; + + /** + * 配置要求及主要技术参数 + */ + @TableField(value = "mainParam") + @ApiModelProperty(value="配置要求及主要技术参数") + private String mainParam; + + /** + * 申请理由 + */ + @TableField(value = "applicationReason") + @ApiModelProperty(value="申请理由") + private String applicationReason; + + /** + * 效益预测 + */ + @TableField(value = "benefitPrediction") + @ApiModelProperty(value="效益预测") + private String benefitPrediction; + + /** + * 配套条件 + */ + @TableField(value = "supportCondition") + @ApiModelProperty(value="配套条件") + private String supportCondition; + + /** + * 使用科室人员配备情况 + */ + @TableField(value = "supportPerson") + @ApiModelProperty(value="使用科室人员配备情况") + private String supportPerson; + + /** + * 论证状态 + */ + @TableField(value = "argStatus") + @ApiModelProperty(value="论证状态") + private Integer argStatus; + + private static final long serialVersionUID = 1L; +} diff --git a/src/main/java/com/glxp/api/entity/purchase/PurApplyDetailEntity.java b/src/main/java/com/glxp/api/entity/purchase/PurApplyDetailEntity.java index ef9ca7844..15884b4f5 100644 --- a/src/main/java/com/glxp/api/entity/purchase/PurApplyDetailEntity.java +++ b/src/main/java/com/glxp/api/entity/purchase/PurApplyDetailEntity.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @@ -54,4 +55,11 @@ public class PurApplyDetailEntity { @TableField(value = "destinyId") private String destinyId; + /** + * 单位 + */ + @TableField(value = "measname") + @ApiModelProperty(value="单位") + private String measname; + } diff --git a/src/main/java/com/glxp/api/service/purchase/impl/PurApplyArgumentService.java b/src/main/java/com/glxp/api/service/purchase/impl/PurApplyArgumentService.java new file mode 100644 index 000000000..96943ee2f --- /dev/null +++ b/src/main/java/com/glxp/api/service/purchase/impl/PurApplyArgumentService.java @@ -0,0 +1,72 @@ +package com.glxp.api.service.purchase.impl; + +import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.glxp.api.entity.auth.AuthAdmin; +import com.glxp.api.entity.auth.DeptEntity; +import com.glxp.api.entity.purchase.PurApplyDetailEntity; +import com.glxp.api.entity.purchase.PurApplyEntity; +import com.glxp.api.service.auth.CustomerService; +import com.glxp.api.service.auth.DeptService; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.glxp.api.entity.purchase.PurApplyArgument; +import com.glxp.api.dao.purchase.PurApplyArgumentMapper; +import org.springframework.transaction.annotation.Transactional; + +@Service +@Transactional(rollbackFor = Exception.class) +public class PurApplyArgumentService extends ServiceImpl { + + @Resource + PurApplyDetailService purApplyDetailService; + @Resource + DeptService deptService; + @Resource + CustomerService customerService; + + public void genPurApplyArguments(PurApplyEntity purApplyEntity) { + Long id = purApplyEntity.getId(); + String billNo = purApplyEntity.getBillNo(); + String invCode = purApplyEntity.getInvCode(); + String deptCode = purApplyEntity.getDeptCode(); + DeptEntity dept = deptService.selectByCode(deptCode); + String deptName = dept.getName(); + Date date = new Date(); + AuthAdmin userBean = customerService.getUserBean(); + String userId = userBean.getId() + ""; + String employeeName = userBean.getEmployeeName(); + + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("orderIdFk",id); + List list = purApplyDetailService.list(qw); + if (CollectionUtil.isNotEmpty(list)){ + List purApplyArguments = new ArrayList<>(list.size()); + list.forEach( item -> { + PurApplyArgument purApplyArgument = new PurApplyArgument(); + purApplyArgument.setOrderIdFk(String.valueOf(id)); + purApplyArgument.setOrderDetailIdFk(String.valueOf(item.getId())); + purApplyArgument.setApplyBillNo(billNo); + purApplyArgument.setInvCode(invCode); + purApplyArgument.setDeptCode(deptCode); + purApplyArgument.setDeptName(deptName); + purApplyArgument.setCreateUser(userId); + purApplyArgument.setCreateTime(date); + purApplyArgument.setCreateName(employeeName); + purApplyArgument.setProductId(item.getProductId()); + purApplyArgument.setProductName(item.getProductName()); + purApplyArgument.setCount(item.getCount()); + purApplyArgument.setMeasname(item.getMeasname()); + + purApplyArguments.add(purApplyArgument); + }); + saveBatch(purApplyArguments); + } + + } +} diff --git a/src/main/resources/mybatis/mapper/purchase/PurApplyArgumentMapper.xml b/src/main/resources/mybatis/mapper/purchase/PurApplyArgumentMapper.xml new file mode 100644 index 000000000..75f46e11c --- /dev/null +++ b/src/main/resources/mybatis/mapper/purchase/PurApplyArgumentMapper.xml @@ -0,0 +1,10 @@ + + + + + + id, orderIdFk, orderDetailIdFk, applyBillNo, invCode, deptCode, deptName, `createUser`, + createTime, updateUser, updateTime, productId, productName, `count`, measname, mainParam, + applicationReason, benefitPrediction, supportCondition, supportPerson, argStatus + + diff --git a/src/main/resources/schemas/schema_v2.4.sql b/src/main/resources/schemas/schema_v2.4.sql index 714483a6b..9af84f30d 100644 --- a/src/main/resources/schemas/schema_v2.4.sql +++ b/src/main/resources/schemas/schema_v2.4.sql @@ -3609,3 +3609,38 @@ CREATE TABLE IF NOT EXISTS `pur_inquiry_offer_item_detail` ( `adopt` int(0) NULL DEFAULT NULL COMMENT '是否采纳 1 采纳 ;0 不采纳', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 250 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_as_cs COMMENT = '询价报价业务明细详情表' ROW_FORMAT = Dynamic; + + +CALL Pro_Temp_ColumnWork('pur_apply_detail', 'measname', + ' varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT''单位''', + 1); + +-- ---------------------------- +-- Table structure for pur_apply_argument +-- ---------------------------- +CREATE TABLE IF NOT EXISTS `pur_apply_argument` ( + `id` bigint(0) NOT NULL AUTO_INCREMENT, + `orderIdFk` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '订单外键', + `orderDetailIdFk` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '订单详情外键', + `applyBillNo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '申领单据号', + `invCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '当前仓库', + `deptCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '所属部门', + `deptName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '所属部门名字', + `createUser` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `createTime` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `updateUser` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + `updateTime` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', + `productId` bigint(0) NULL DEFAULT NULL COMMENT '产品ID', + `productName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '产品名称', + `count` int(0) NULL DEFAULT NULL COMMENT '数量', + `measname` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '单位', + `mainParam` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL COMMENT '配置要求及主要技术参数', + `applicationReason` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL COMMENT '申请理由', + `benefitPrediction` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL COMMENT '效益预测', + `supportCondition` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL COMMENT '配套条件', + `supportPerson` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '使用科室人员配备情况', + `argStatus` int(0) NULL DEFAULT 0 COMMENT '论证状态', + `createName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人昵称', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 91 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; +