From 65e6bdf631c7e6622f36a9ccd22c2abe9c4e6f45 Mon Sep 17 00:00:00 2001 From: chenhc <2369838784@qq.com> Date: Tue, 21 May 2024 17:25:47 +0800 Subject: [PATCH 1/5] =?UTF-8?q?feat:=200521=20=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/glxp/api/constant/Constant.java | 5 +++ .../inout/IoOrderDetailResultController.java | 32 ++++++++++--------- .../api/entity/dev/DeviceCheckEntity.java | 6 ++++ .../glxp/api/entity/dev/DevicePlanEntity.java | 6 ++++ .../entity/dev/DeviceRepairApplyEntity.java | 6 ++++ .../api/entity/dev/DeviceRepairEntity.java | 6 ++++ .../api/entity/dev/DeviceUpkeepEntity.java | 6 ++++ .../com/glxp/api/req/dev/DevicePlanParam.java | 8 ++++- .../req/dev/DeviceRepairApplyAddParam.java | 6 ++++ .../dev/impl/DeviceCheckServiceImpl.java | 7 ++++ .../DeviceRepairApplyDetailServiceImpl.java | 13 ++++++-- .../impl/DeviceRepairApplyServiceImpl.java | 2 +- .../dev/impl/DeviceRepairServiceImpl.java | 2 +- .../dev/impl/DeviceUpkeepServiceImpl.java | 6 ++++ .../mybatis/mapper/dev/DeviceCheckMapper.xml | 22 ------------- src/main/resources/schemas/schema_v2.4.sql | 14 +++++--- 16 files changed, 101 insertions(+), 46 deletions(-) diff --git a/src/main/java/com/glxp/api/constant/Constant.java b/src/main/java/com/glxp/api/constant/Constant.java index 57241b98d..7887d34eb 100644 --- a/src/main/java/com/glxp/api/constant/Constant.java +++ b/src/main/java/com/glxp/api/constant/Constant.java @@ -36,6 +36,11 @@ public class Constant { public static final String DEV_DBG = "DBG"; //设备变更 public static final String DEV_DYC = "DYC"; //设备移除 + public static final String DEV_DJH = "DJH"; //设备计划 + public static final String DEV_DXJ = "DXJ"; //设备巡检任务 + public static final String DEV_DBX = "DBX"; //设备报修单号 + public static final String DEV_DWX = "DWX"; //设备维修单号 + /** * 盘点单据前缀 diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java index c56dbc9d2..3984a1f4e 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java @@ -53,6 +53,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; +import java.math.RoundingMode; import java.net.URLEncoder; import java.nio.charset.StandardCharsets; import java.text.SimpleDateFormat; @@ -397,23 +398,24 @@ public class IoOrderDetailResultController extends BaseController { deviceInfoData.put("index", String.valueOf(i)); deviceInfoData.put("deviceCode", item.getDeviceCode() == null ? ' ' : item.getDeviceCode()); deviceInfoData.put("deptName", item.getDeptName() == null ? ' ' : item.getDeptName()); - deviceInfoData.put("statusName", item.getStatusName() == null ? ' ' : item.getStatusName()); - deviceInfoData.put("udi", item.getUdi() == null ? ' ' : item.getUdi()); - deviceInfoData.put("nameCode", item.getNameCode() == null ? ' ' : item.getNameCode()); +// deviceInfoData.put("statusName", item.getStatusName() == null ? ' ' : item.getStatusName()); +// deviceInfoData.put("udi", item.getUdi() == null ? ' ' : item.getUdi()); +// deviceInfoData.put("nameCode", item.getNameCode() == null ? ' ' : item.getNameCode()); deviceInfoData.put("productName", item.getProductName() == null ? ' ' : item.getProductName()); deviceInfoData.put("ggxh", item.getGgxh() == null ? ' ' : item.getGgxh()); - deviceInfoData.put("batchNo", item.getBatchNo() == null ? ' ' : item.getBatchNo()); - deviceInfoData.put("serialNo", item.getSerialNo() == null ? ' ' : item.getSerialNo()); - deviceInfoData.put("productionDate", item.getProductionDate() == null ? ' ' : item.getProductionDate()); - deviceInfoData.put("expireDate", item.getExpireDate() == null ? ' ' : item.getExpireDate()); - deviceInfoData.put("manufactory", item.getManufactory() == null ? ' ' : item.getManufactory()); - deviceInfoData.put("measname", item.getMeasname() == null ? ' ' : item.getMeasname()); - deviceInfoData.put("zczbhhzbapzbh", item.getZczbhhzbapzbh() == null ? ' ' : item.getZczbhhzbapzbh()); - deviceInfoData.put("supName", item.getSupName() == null ? ' ' : item.getSupName()); - deviceInfoData.put("changeCount", item.getChangeCount() == null ? '0' : item.getChangeCount()); - deviceInfoData.put("repairApplyCount", item.getRepairApplyCount() == null ? '0' : item.getRepairApplyCount()); - deviceInfoData.put("repairCount", item.getRepairCount() == null ? '0' : item.getRepairCount()); - deviceInfoData.put("checkCount", item.getCheckCount() == null ? '0' : item.getCheckCount()); + deviceInfoData.put("assetValue", item.getAssetValue() == null ? "0.00" : String.valueOf(item.getAssetValue().setScale(2, RoundingMode.HALF_UP))); +// deviceInfoData.put("batchNo", item.getBatchNo() == null ? ' ' : item.getBatchNo()); +// deviceInfoData.put("serialNo", item.getSerialNo() == null ? ' ' : item.getSerialNo()); +// deviceInfoData.put("productionDate", item.getProductionDate() == null ? ' ' : item.getProductionDate()); +// deviceInfoData.put("expireDate", item.getExpireDate() == null ? ' ' : item.getExpireDate()); +// deviceInfoData.put("manufactory", item.getManufactory() == null ? ' ' : item.getManufactory()); +// deviceInfoData.put("measname", item.getMeasname() == null ? ' ' : item.getMeasname()); +// deviceInfoData.put("zczbhhzbapzbh", item.getZczbhhzbapzbh() == null ? ' ' : item.getZczbhhzbapzbh()); +// deviceInfoData.put("supName", item.getSupName() == null ? ' ' : item.getSupName()); +// deviceInfoData.put("changeCount", item.getChangeCount() == null ? '0' : item.getChangeCount()); +// deviceInfoData.put("repairApplyCount", item.getRepairApplyCount() == null ? '0' : item.getRepairApplyCount()); +// deviceInfoData.put("repairCount", item.getRepairCount() == null ? '0' : item.getRepairCount()); +// deviceInfoData.put("checkCount", item.getCheckCount() == null ? '0' : item.getCheckCount()); list.add(deviceInfoData); i++; diff --git a/src/main/java/com/glxp/api/entity/dev/DeviceCheckEntity.java b/src/main/java/com/glxp/api/entity/dev/DeviceCheckEntity.java index e2894c0c1..ed7a5ef3c 100644 --- a/src/main/java/com/glxp/api/entity/dev/DeviceCheckEntity.java +++ b/src/main/java/com/glxp/api/entity/dev/DeviceCheckEntity.java @@ -32,6 +32,12 @@ public class DeviceCheckEntity { @TableId(value = "taskId") private Long taskId; + /** + * 巡检任务单号 + */ + @TableField(value = "taskBillNo") + private String taskBillNo; + /** * 计划id */ diff --git a/src/main/java/com/glxp/api/entity/dev/DevicePlanEntity.java b/src/main/java/com/glxp/api/entity/dev/DevicePlanEntity.java index f6dee2f85..7dd4fbbc6 100644 --- a/src/main/java/com/glxp/api/entity/dev/DevicePlanEntity.java +++ b/src/main/java/com/glxp/api/entity/dev/DevicePlanEntity.java @@ -33,6 +33,12 @@ public class DevicePlanEntity { @TableId(value = "planId") private Long planId; + /** + * 计划单号 + */ + @TableField(value = "planBillNo") + private String planBillNo; + /** * 计划名称 */ diff --git a/src/main/java/com/glxp/api/entity/dev/DeviceRepairApplyEntity.java b/src/main/java/com/glxp/api/entity/dev/DeviceRepairApplyEntity.java index 32242278d..65791031a 100644 --- a/src/main/java/com/glxp/api/entity/dev/DeviceRepairApplyEntity.java +++ b/src/main/java/com/glxp/api/entity/dev/DeviceRepairApplyEntity.java @@ -28,6 +28,12 @@ public class DeviceRepairApplyEntity { @TableId(value = "id") private Long id; + /** + * 报修单号 + */ + @TableField(value = "repairApplyBillNo") + private String repairApplyBillNo; + /** * 状态 待受理,受理中,维修中,完成 */ diff --git a/src/main/java/com/glxp/api/entity/dev/DeviceRepairEntity.java b/src/main/java/com/glxp/api/entity/dev/DeviceRepairEntity.java index 813ad8ced..9ca2d7da4 100644 --- a/src/main/java/com/glxp/api/entity/dev/DeviceRepairEntity.java +++ b/src/main/java/com/glxp/api/entity/dev/DeviceRepairEntity.java @@ -32,6 +32,12 @@ public class DeviceRepairEntity { @TableId(value = "id") private Long id; + /** + * 维修单号 + */ + @TableField(value = "repairBillNo") + private String repairBillNo; + /** * 维修申请id */ diff --git a/src/main/java/com/glxp/api/entity/dev/DeviceUpkeepEntity.java b/src/main/java/com/glxp/api/entity/dev/DeviceUpkeepEntity.java index e42f6d70d..43cbd0a4c 100644 --- a/src/main/java/com/glxp/api/entity/dev/DeviceUpkeepEntity.java +++ b/src/main/java/com/glxp/api/entity/dev/DeviceUpkeepEntity.java @@ -29,6 +29,12 @@ public class DeviceUpkeepEntity { @TableId(value = "taskId") private Long taskId; + /** + * 保养任务单号 + */ + @TableField(value = "taskBillNo") + private String taskBillNo; + /** * 计划id */ diff --git a/src/main/java/com/glxp/api/req/dev/DevicePlanParam.java b/src/main/java/com/glxp/api/req/dev/DevicePlanParam.java index ac12793b8..795fcdb13 100644 --- a/src/main/java/com/glxp/api/req/dev/DevicePlanParam.java +++ b/src/main/java/com/glxp/api/req/dev/DevicePlanParam.java @@ -1,11 +1,15 @@ package com.glxp.api.req.dev; +import com.glxp.api.constant.Constant; import com.glxp.api.entity.auth.AuthAdmin; import com.glxp.api.entity.auth.DeptEntity; import com.glxp.api.entity.dev.DevicePlanEntity; import com.glxp.api.exception.JsonException; import com.glxp.api.service.auth.DeptService; +import com.glxp.api.util.GennerOrderUtils; +import com.glxp.api.util.OrderNoTypeBean; import com.glxp.api.util.SnowflakeUtil; +import com.glxp.api.util.SpringUtils; import lombok.Data; import org.hibernate.validator.constraints.Length; @@ -83,6 +87,7 @@ public class DevicePlanParam { } public DevicePlanEntity getEntity(AuthAdmin user) { + GennerOrderUtils gennerOrderUtils = SpringUtils.getBean(GennerOrderUtils.class); boolean isUpdate = (planId != null); DevicePlanEntity build = DevicePlanEntity.builder() .planId(!isUpdate ? SnowflakeUtil.getId() : planId) @@ -96,7 +101,8 @@ public class DevicePlanParam { .type(type) .build(); if (!isUpdate) { - build.setCreateUserId(user.getId()).setCreateUserName(user.getEmployeeName()).setCreateTime(LocalDateTime.now()); + build.setCreateUserId(user.getId()).setCreateUserName(user.getEmployeeName()).setCreateTime(LocalDateTime.now()) + .setPlanBillNo(gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.DEV_DJH, "yyyyMMdd"))); } return build; } diff --git a/src/main/java/com/glxp/api/req/dev/DeviceRepairApplyAddParam.java b/src/main/java/com/glxp/api/req/dev/DeviceRepairApplyAddParam.java index 245093bbf..a0dd014c2 100644 --- a/src/main/java/com/glxp/api/req/dev/DeviceRepairApplyAddParam.java +++ b/src/main/java/com/glxp/api/req/dev/DeviceRepairApplyAddParam.java @@ -2,6 +2,7 @@ package com.glxp.api.req.dev; import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.annotation.TableField; +import com.glxp.api.constant.Constant; import com.glxp.api.entity.auth.AuthAdmin; import com.glxp.api.entity.dev.DeviceInfoEntity; import com.glxp.api.entity.dev.DeviceRepairApplyDetailEntity; @@ -11,7 +12,10 @@ import com.glxp.api.enums.dev.DeviceRepairApplyStatusEnum; import com.glxp.api.enums.dev.DeviceStatusEnum; import com.glxp.api.exception.JsonException; import com.glxp.api.service.dev.DeviceInfoService; +import com.glxp.api.util.GennerOrderUtils; +import com.glxp.api.util.OrderNoTypeBean; import com.glxp.api.util.SnowflakeUtil; +import com.glxp.api.util.SpringUtils; import com.glxp.api.vo.dev.DeviceInfoVo; import lombok.Data; @@ -77,9 +81,11 @@ public class DeviceRepairApplyAddParam { public DeviceRepairApplyEntity getEntity(AuthAdmin user) { + GennerOrderUtils gennerOrderUtils = SpringUtils.getBean(GennerOrderUtils.class); return DeviceRepairApplyEntity .builder() .id(SnowflakeUtil.getId()) + .repairApplyBillNo(gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.DEV_DBX, "yyyyMMdd"))) .status(DeviceRepairApplyStatusEnum.WAIT_PROCESS) .applyDeptCode(user.getLocDeptCode()) .applyDeptName(user.getDeptName()) diff --git a/src/main/java/com/glxp/api/service/dev/impl/DeviceCheckServiceImpl.java b/src/main/java/com/glxp/api/service/dev/impl/DeviceCheckServiceImpl.java index 77ec517c2..6b9aa7091 100644 --- a/src/main/java/com/glxp/api/service/dev/impl/DeviceCheckServiceImpl.java +++ b/src/main/java/com/glxp/api/service/dev/impl/DeviceCheckServiceImpl.java @@ -5,6 +5,7 @@ import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.pagehelper.PageHelper; +import com.glxp.api.constant.Constant; import com.glxp.api.entity.auth.AuthAdmin; import com.glxp.api.entity.dev.*; import com.glxp.api.enums.dev.DeviceStatusEnum; @@ -14,6 +15,8 @@ import com.glxp.api.req.dev.DevicePlanDetailItemQuery; import com.glxp.api.req.dev.DevicePlanDetailQuery; import com.glxp.api.service.dev.*; import com.glxp.api.dao.dev.DeviceCheckMapper; +import com.glxp.api.util.GennerOrderUtils; +import com.glxp.api.util.OrderNoTypeBean; import com.glxp.api.util.SnowflakeUtil; import com.glxp.api.vo.dev.DeviceCheckPrintVo; import com.glxp.api.vo.dev.DeviceCheckPrintVo.DetailVo; @@ -55,6 +58,9 @@ public class DeviceCheckServiceImpl extends ServiceImpl detailEntityList = param.getDetailEntityList(repairApply.getId(), deviceInfoService, user); Long taskId = param.getTaskId(); detailEntityList.forEach(d -> { diff --git a/src/main/java/com/glxp/api/service/dev/impl/DeviceRepairServiceImpl.java b/src/main/java/com/glxp/api/service/dev/impl/DeviceRepairServiceImpl.java index 1d95b91e4..22d1578dc 100644 --- a/src/main/java/com/glxp/api/service/dev/impl/DeviceRepairServiceImpl.java +++ b/src/main/java/com/glxp/api/service/dev/impl/DeviceRepairServiceImpl.java @@ -44,7 +44,7 @@ public class DeviceRepairServiceImpl extends ServiceImpl list = super.list(Wrappers.lambdaQuery(DeviceRepairEntity.class) .eq(DeviceRepairEntity::getRepairUserId, query.getCreateUserId()) .eq(query.getIsFinish() != null, DeviceRepairEntity::getFinishFlag, query.getIsFinish()) - .eq(StrUtil.isNotBlank(query.getDeviceCode()), DeviceRepairEntity::getDeviceCode, query.getDeviceCode()) + .like(StrUtil.isNotBlank(query.getDeviceCode()), DeviceRepairEntity::getDeviceCode, query.getDeviceCode()) .orderByAsc(DeviceRepairEntity::getFinishFlag) .orderByDesc(DeviceRepairEntity::getCreateTime) ); diff --git a/src/main/java/com/glxp/api/service/dev/impl/DeviceUpkeepServiceImpl.java b/src/main/java/com/glxp/api/service/dev/impl/DeviceUpkeepServiceImpl.java index 3d91f1f2a..cc929d6a0 100644 --- a/src/main/java/com/glxp/api/service/dev/impl/DeviceUpkeepServiceImpl.java +++ b/src/main/java/com/glxp/api/service/dev/impl/DeviceUpkeepServiceImpl.java @@ -5,6 +5,7 @@ import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.pagehelper.PageHelper; +import com.glxp.api.constant.Constant; import com.glxp.api.dao.dev.DeviceUpkeepMapper; import com.glxp.api.entity.auth.AuthAdmin; import com.glxp.api.entity.dev.*; @@ -12,6 +13,8 @@ import com.glxp.api.enums.dev.DeviceStatusEnum; import com.glxp.api.exception.JsonException; import com.glxp.api.req.dev.DeviceUpkeepQuery; import com.glxp.api.service.dev.*; +import com.glxp.api.util.GennerOrderUtils; +import com.glxp.api.util.OrderNoTypeBean; import com.glxp.api.util.SnowflakeUtil; import com.glxp.api.vo.dev.*; import lombok.RequiredArgsConstructor; @@ -48,6 +51,8 @@ public class DeviceUpkeepServiceImpl extends ServiceImpl - - - - - - - - - - - - - - - - - - taskId,planId,planName, - checkUserId,checkUserName,checkUserPhone, - name,remark,sysFlag, - createTime,createUserId,createUserName - diff --git a/src/main/resources/mybatis/mapper/purchase/PurInquiryItemDetailMapper.xml b/src/main/resources/mybatis/mapper/purchase/PurInquiryItemDetailMapper.xml new file mode 100644 index 000000000..18fb8a59a --- /dev/null +++ b/src/main/resources/mybatis/mapper/purchase/PurInquiryItemDetailMapper.xml @@ -0,0 +1,24 @@ + + + + + + id, orderIdFk, orderItemIdFk, supNumber, supId, supName, supPerson, supPhone, supEmail, + supFilePath, supCount, supPrice, supTotalPrice, supRemark, accord, adopt + + + + + diff --git a/src/main/resources/mybatis/mapper/purchase/PurInquiryItemMapper.xml b/src/main/resources/mybatis/mapper/purchase/PurInquiryItemMapper.xml new file mode 100644 index 000000000..6ed3ef35c --- /dev/null +++ b/src/main/resources/mybatis/mapper/purchase/PurInquiryItemMapper.xml @@ -0,0 +1,26 @@ + + + + + + id, orderIdFk, `count`, price, totalPrice, attachmentPath, remark, productId, productUniqueId, + nameCode, batchNo, productName, productCompany, produceDate, expireDate, zczbhhzbapzbh, + ggxh, packRatio + + + + + diff --git a/src/main/resources/mybatis/mapper/purchase/PurInquiryMapper.xml b/src/main/resources/mybatis/mapper/purchase/PurInquiryMapper.xml new file mode 100644 index 000000000..015c55dc1 --- /dev/null +++ b/src/main/resources/mybatis/mapper/purchase/PurInquiryMapper.xml @@ -0,0 +1,115 @@ + + + + + + id, billNo, billDate, `status`, billType, remark, invCode, deptCode, `createUser`, + createTime, auditUser, auditTime, updateUser, updateTime, auditRemark, targetInvCode, + targetDeptCode, planBillNo, generatePlan, emergency, arrivalTime, approvalFlowId, + pageType, validUntil + + + + + + + insert + INTO pur_inquiry + ( + billNo, billDate, `status`, billType, remark, invCode, deptCode, `createUser`, + createTime, auditUser, auditTime, updateUser, updateTime, auditRemark, targetInvCode, + targetDeptCode, planBillNo, generatePlan, emergency, arrivalTime, approvalFlowId, + pageType, validUntil + ) + values ( + #{billNo}, + #{billDate}, + #{status}, + #{billType}, + #{remark}, + #{invCode}, + #{deptCode}, + #{createUser}, + #{createTime}, + #{auditUser}, + #{auditTime}, + #{updateUser}, + #{updateTime}, + #{auditRemark}, + #{targetInvCode}, + #{targetDeptCode}, + #{planBillNo}, + #{generatePlan}, + #{emergency}, + #{arrivalTime}, + #{approvalFlowId}, + #{pageType}, + #{validUntil} + ) + + + diff --git a/src/main/resources/mybatis/mapper/purchase/PurInquiryOfferItemDetailMapper.xml b/src/main/resources/mybatis/mapper/purchase/PurInquiryOfferItemDetailMapper.xml new file mode 100644 index 000000000..844d07046 --- /dev/null +++ b/src/main/resources/mybatis/mapper/purchase/PurInquiryOfferItemDetailMapper.xml @@ -0,0 +1,24 @@ + + + + + + id, orderIdFk, orderItemIdFk, supNumber, supId, supName, supPerson, supPhone, supEmail, + supFilePath, supCount, supPrice, supTotalPrice, supRemark, accord, adopt + + + + + diff --git a/src/main/resources/mybatis/mapper/purchase/PurInquiryOfferItemMapper.xml b/src/main/resources/mybatis/mapper/purchase/PurInquiryOfferItemMapper.xml new file mode 100644 index 000000000..e7854a79d --- /dev/null +++ b/src/main/resources/mybatis/mapper/purchase/PurInquiryOfferItemMapper.xml @@ -0,0 +1,26 @@ + + + + + + id, orderIdFk, `count`, price, totalPrice, attachmentPath, remark, productId, productUniqueId, + nameCode, batchNo, productName, productCompany, produceDate, expireDate, zczbhhzbapzbh, + ggxh, packRatio + + + + + diff --git a/src/main/resources/mybatis/mapper/purchase/PurInquiryOfferMapper.xml b/src/main/resources/mybatis/mapper/purchase/PurInquiryOfferMapper.xml new file mode 100644 index 000000000..8077574ca --- /dev/null +++ b/src/main/resources/mybatis/mapper/purchase/PurInquiryOfferMapper.xml @@ -0,0 +1,115 @@ + + + + + + id, billNo, billDate, `status`, billType, remark, invCode, deptCode, `createUser`, + createTime, auditUser, auditTime, updateUser, updateTime, auditRemark, targetInvCode, + targetDeptCode, planBillNo, generatePlan, emergency, arrivalTime, approvalFlowId, + pageType, validUntil + + + + + + + insert + INTO pur_inquiry_offer + ( + billNo, billDate, `status`, billType, remark, invCode, deptCode, `createUser`, + createTime, auditUser, auditTime, updateUser, updateTime, auditRemark, targetInvCode, + targetDeptCode, planBillNo, generatePlan, emergency, arrivalTime, approvalFlowId, + pageType, validUntil + ) + values ( + #{billNo}, + #{billDate}, + #{status}, + #{billType}, + #{remark}, + #{invCode}, + #{deptCode}, + #{createUser}, + #{createTime}, + #{auditUser}, + #{auditTime}, + #{updateUser}, + #{updateTime}, + #{auditRemark}, + #{targetInvCode}, + #{targetDeptCode}, + #{planBillNo}, + #{generatePlan}, + #{emergency}, + #{arrivalTime}, + #{approvalFlowId}, + #{pageType}, + #{validUntil} + ) + + + diff --git a/src/main/resources/schemas/schema_v2.4.sql b/src/main/resources/schemas/schema_v2.4.sql index 8742d54e8..1d4e0f2ac 100644 --- a/src/main/resources/schemas/schema_v2.4.sql +++ b/src/main/resources/schemas/schema_v2.4.sql @@ -3407,3 +3407,200 @@ CALL Pro_Temp_ColumnWork('device_check', 'taskBillNo', 'varchar(256) CHARACTER S CALL Pro_Temp_ColumnWork('device_repair_apply', 'repairApplyBillNo', 'varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT''报修单号''', 1); CALL Pro_Temp_ColumnWork('device_repair', 'repairBillNo', 'varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT''维修单号''', 1); CALL Pro_Temp_ColumnWork('device_upkeep', 'taskBillNo', 'varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT''保养任务单号''', 1); + + +INSERT IGNORE INTO auth_menu (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, `is_cache`, + `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) + VALUES (3711, '询价管理', 1673, 2, 'purInquiry', NULL, NULL, 1, 0, 'M', '0', '0', NULL, NULL, '超级用户', '2023-02-08 17:01:50', NULL, NULL, NULL); + +INSERT IGNORE INTO auth_menu (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, `is_cache`, `menu_type`, + `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) + VALUES (3712, '新增询价计划单', 3711, 1, 'purchase/purInquiry/purInquiry', 'purchase/purInquiry/purInquiry', '{\"pageType\":1}', 1, 0, 'C', + '0', '0', 'purchase:purInquiry:purInquiry', NULL, '超级用户', '2023-02-08 17:02:19', NULL, NULL, NULL); + +INSERT IGNORE INTO auth_menu (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, `is_cache`, `menu_type`, + `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) + VALUES (3713, '待审核询价计划单', 3711, 2, 'purchase/purInquiry/purInquiryReviewed', 'purchase/purInquiry/purInquiryReviewed', '{\"pageType\":1}', 1, 0, 'C', + '0', '0', 'purchase:purInquiry:purInquiryReviewed', NULL, '超级用户', '2023-02-08 17:02:19', NULL, NULL, NULL); + +INSERT IGNORE INTO auth_menu (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, `is_cache`, `menu_type`, + `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) + VALUES (3714, '已审核询价计划单', 3711, 3, 'purchase/purInquiry/purInquiryFinish', 'purchase/purInquiry/purInquiryFinish', '{\"pageType\":1}', 1, 0, 'C', + '0', '0', 'purchase:purInquiry:purInquiryFinish', NULL, '超级用户', '2023-02-08 17:02:19', NULL, NULL, NULL); + +INSERT IGNORE INTO auth_menu (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, `is_cache`, `menu_type`, + `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) + VALUES (3715, '待审核询价报价单', 3711, 4, 'purchase/purInquiryOffer/purInquiryOfferReviewed', 'purchase/purInquiryOffer/purInquiryOfferReviewed', '{\"pageType\":1}', 1, 0, 'C', + '0', '0', 'purchase:purInquiryOffer:purInquiryOfferReviewed', NULL, '超级用户', '2023-02-08 17:02:19', NULL, NULL, NULL); +INSERT IGNORE INTO auth_menu (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, `is_cache`, `menu_type`, + `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) + VALUES (3716, '已审核询价报价单', 3711, 5, 'purchase/purInquiryOffer/purInquiryOfferFinish', 'purchase/purInquiryOffer/purInquiryOfferFinish', '{\"pageType\":1}', 1, 0, 'C', + '0', '0', 'purchase:purInquiryOffer:purInquiryOfferFinish', NULL, '超级用户', '2023-02-08 17:02:19', NULL, NULL, NULL); + +INSERT IGNORE INTO sys_approval_flow_config(`id`, `type`, `typeName`, `approvalSort`, `createUser`, `createTime`, `updateUser`, `updateTime`) +VALUES ('7', 'xjjh', '询价计划单据', 7, NULL, NULL, NULL, NULL); + +INSERT IGNORE INTO sys_approval_flow_config(`id`, `type`, `typeName`, `approvalSort`, `createUser`, `createTime`, `updateUser`, `updateTime`) +VALUES ('8', 'xjbj', '询价报价单据', 8, NULL, NULL, NULL, NULL); + +-- ---------------------------- +-- Table structure for pur_inquiry +-- ---------------------------- +CREATE TABLE IF NOT EXISTS `pur_inquiry` ( + `id` bigint(0) NOT NULL AUTO_INCREMENT, + `billNo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '询价单据号', + `billDate` datetime(0) NULL DEFAULT NULL COMMENT '询价发起日期', + `status` tinyint(0) NULL DEFAULT NULL COMMENT '状态(1.草稿,2.未审核,3.已审核,4.已拒绝)', + `billType` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, + `remark` varchar(512) 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 '所属部门', + `createUser` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `createTime` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `auditUser` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '审核人', + `auditTime` 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 '更新时间', + `auditRemark` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '审核说明', + `targetInvCode` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '目标仓库', + `targetDeptCode` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '目标部门', + `planBillNo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '生成采购计划单据号', + `generatePlan` tinyint(0) NULL DEFAULT NULL COMMENT '是否已生成采购计划', + `emergency` tinyint(0) NULL DEFAULT NULL COMMENT '紧急情况', + `arrivalTime` datetime(0) NULL DEFAULT NULL COMMENT '期望到货时间', + `approvalFlowId` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '审批表主键(关联审批流程主表)', + `pageType` int(0) NOT NULL DEFAULT 1 COMMENT '1:业务管理;2:设备管理', + `validUntil` datetime(0) NULL DEFAULT NULL COMMENT '询价截止时间', + `supIds` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '供应商ids', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 97 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '询价业务' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for pur_inquiry_item +-- ---------------------------- +CREATE TABLE IF NOT EXISTS `pur_inquiry_item` ( + `id` bigint(0) NOT NULL AUTO_INCREMENT COMMENT 'ID', + `orderIdFk` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NOT NULL COMMENT '关联询价编号', + `count` int(0) NULL DEFAULT NULL COMMENT '询价数量', + `price` decimal(10, 2) NULL DEFAULT NULL COMMENT '期望单价', + `totalPrice` decimal(10, 2) NULL DEFAULT NULL COMMENT '期望总价', + `attachmentPath` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '询价附件的路径或URL(如产品规格书、图纸等)', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '说明', + `productId` bigint(0) NULL DEFAULT NULL COMMENT '产品编码', + `productUniqueId` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '产品唯一id uniqueId', + `nameCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '最小销售标识', + `batchNo` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '批次号', + `productName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '产品名称', + `productCompany` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '生产厂家', + `produceDate` date NULL DEFAULT NULL COMMENT '生产日期', + `expireDate` date NULL DEFAULT NULL COMMENT '过期时间', + `zczbhhzbapzbh` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '注册证/备案号', + `ggxh` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '规格型号', + `packRatio` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '包装级别', + `measname` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '单位', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1791362555050999838 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_as_cs COMMENT = '询价业务明细表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for pur_inquiry_item_detail +-- ---------------------------- +CREATE TABLE IF NOT EXISTS `pur_inquiry_item_detail` ( + `id` bigint(0) NOT NULL AUTO_INCREMENT COMMENT 'ID', + `orderIdFk` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NOT NULL COMMENT '关联询价编号', + `orderItemIdFk` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NOT NULL COMMENT '关联询明细价id', + `supNumber` int(0) NOT NULL COMMENT '供应商报价第几次', + `supId` bigint(0) NOT NULL COMMENT '供应商id', + `supName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '供应商名称', + `supPerson` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '供应商联系人姓名', + `supPhone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '供应商联系人电话', + `supEmail` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '供应商联系人电子邮件', + `supFilePath` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '供应商附件的路径或URL', + `supCount` int(0) NULL DEFAULT NULL COMMENT '供应商报价数量', + `supPrice` decimal(10, 2) NULL DEFAULT NULL COMMENT '供应商报价单价', + `supTotalPrice` decimal(10, 2) NULL DEFAULT NULL COMMENT '供应商报价总价', + `supRemark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '说明', + `accord` int(0) NULL DEFAULT NULL COMMENT '是否符合 1 符合 ;0 不符合', + `adopt` int(0) NULL DEFAULT NULL COMMENT '是否采纳 1 采纳 ;0 不采纳', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 235 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_as_cs COMMENT = '询价业务明细详情表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for pur_inquiry_offer +-- ---------------------------- +CREATE TABLE IF NOT EXISTS `pur_inquiry_offer` ( + `id` bigint(0) NOT NULL AUTO_INCREMENT, + `billNo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '询价单据号', + `billDate` datetime(0) NULL DEFAULT NULL COMMENT '询价发起日期', + `status` tinyint(0) NULL DEFAULT NULL COMMENT '状态(1.草稿,2.未审核,3.已审核,4.已拒绝)', + `billType` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, + `remark` varchar(512) 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 '所属部门', + `createUser` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `createTime` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `auditUser` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '审核人', + `auditTime` 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 '更新时间', + `auditRemark` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '审核说明', + `targetInvCode` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '目标仓库', + `targetDeptCode` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '目标部门', + `planBillNo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '生成采购计划单据号', + `generatePlan` tinyint(0) NULL DEFAULT NULL COMMENT '是否已生成采购计划', + `emergency` tinyint(0) NULL DEFAULT NULL COMMENT '紧急情况', + `arrivalTime` datetime(0) NULL DEFAULT NULL COMMENT '期望到货时间', + `approvalFlowId` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '审批表主键(关联审批流程主表)', + `pageType` int(0) NOT NULL DEFAULT 1 COMMENT '1:业务管理;2:设备管理', + `validUntil` datetime(0) NULL DEFAULT NULL COMMENT '询价截止时间', + `supIds` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '供应商ids', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 97 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '询价报价业务' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for pur_inquiry_offer_item +-- ---------------------------- +CREATE TABLE IF NOT EXISTS `pur_inquiry_offer_item` ( + `id` bigint(0) NOT NULL AUTO_INCREMENT COMMENT 'ID', + `orderIdFk` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NOT NULL COMMENT '关联询价编号', + `count` int(0) NULL DEFAULT NULL COMMENT '询价数量', + `price` decimal(10, 2) NULL DEFAULT NULL COMMENT '期望单价', + `totalPrice` decimal(10, 2) NULL DEFAULT NULL COMMENT '期望总价', + `attachmentPath` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '询价附件的路径或URL(如产品规格书、图纸等)', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '说明', + `productId` bigint(0) NULL DEFAULT NULL COMMENT '产品编码', + `productUniqueId` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '产品唯一id uniqueId', + `nameCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '最小销售标识', + `batchNo` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '批次号', + `productName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '产品名称', + `productCompany` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '生产厂家', + `produceDate` date NULL DEFAULT NULL COMMENT '生产日期', + `expireDate` date NULL DEFAULT NULL COMMENT '过期时间', + `zczbhhzbapzbh` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '注册证/备案号', + `ggxh` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '规格型号', + `packRatio` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '包装级别', + `measname` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '单位', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1791362555050999838 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_as_cs COMMENT = '询价报价业务明细表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for pur_inquiry_offer_item_detail +-- ---------------------------- +CREATE TABLE IF NOT EXISTS `pur_inquiry_offer_item_detail` ( + `id` bigint(0) NOT NULL AUTO_INCREMENT COMMENT 'ID', + `orderIdFk` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NOT NULL COMMENT '关联询价编号', + `orderItemIdFk` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NOT NULL COMMENT '关联询明细价id', + `supNumber` int(0) NOT NULL COMMENT '供应商报价第几次', + `supId` bigint(0) NOT NULL COMMENT '供应商id', + `supName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '供应商名称', + `supPerson` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '供应商联系人姓名', + `supPhone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '供应商联系人电话', + `supEmail` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '供应商联系人电子邮件', + `supFilePath` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '供应商附件的路径或URL', + `supCount` int(0) NULL DEFAULT NULL COMMENT '供应商报价数量', + `supPrice` decimal(10, 2) NULL DEFAULT NULL COMMENT '供应商报价单价', + `supTotalPrice` decimal(10, 2) NULL DEFAULT NULL COMMENT '供应商报价总价', + `supRemark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '说明', + `accord` int(0) NULL DEFAULT NULL COMMENT '是否符合 1 符合 ;0 不符合', + `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; From 0d9fc95ce0bc41a6bf92dfc69caa375971540b89 Mon Sep 17 00:00:00 2001 From: chenhc <2369838784@qq.com> Date: Thu, 23 May 2024 16:30:52 +0800 Subject: [PATCH 3/5] =?UTF-8?q?feat:=200523=E5=BC=80=E5=8F=91=E8=AF=A2?= =?UTF-8?q?=E4=BB=B7=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../purchase/PurInquiryController.java | 11 ++- .../purchase/PurInquiryOfferController.java | 25 ++++++ .../purchase/impl/PurInquiryOfferService.java | 78 ++++++++++++++++++- .../purchase/impl/PurInquiryService.java | 38 +++++++++ src/main/resources/schemas/schema_v2.4.sql | 9 ++- 5 files changed, 156 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/glxp/api/controller/purchase/PurInquiryController.java b/src/main/java/com/glxp/api/controller/purchase/PurInquiryController.java index 0bd030887..d836a0531 100644 --- a/src/main/java/com/glxp/api/controller/purchase/PurInquiryController.java +++ b/src/main/java/com/glxp/api/controller/purchase/PurInquiryController.java @@ -150,7 +150,7 @@ public class PurInquiryController { String billNo = purInquiryEntity.getBillNo(); if (StringUtil.isEmpty(billNo)) { - billNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean("XJ", "yyyyMMdd")); + billNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean("XJJH", "yyyyMMdd")); purInquiryEntity.setBillNo(billNo); } @@ -198,4 +198,13 @@ public class PurInquiryController { return ResultVOUtils.success("删除成功"); } + /** + * 发起报价 + */ + @PostMapping("/purchase/purInquiry/submitOffer") + public BaseResponse submitOffer(@RequestBody PurInquiryEntity purInquiryEntity) { + purInquiryService.submitOffer(purInquiryEntity); + return ResultVOUtils.success("发起成功"); + } + } diff --git a/src/main/java/com/glxp/api/controller/purchase/PurInquiryOfferController.java b/src/main/java/com/glxp/api/controller/purchase/PurInquiryOfferController.java index 03e717e8c..d881ae8d6 100644 --- a/src/main/java/com/glxp/api/controller/purchase/PurInquiryOfferController.java +++ b/src/main/java/com/glxp/api/controller/purchase/PurInquiryOfferController.java @@ -201,4 +201,29 @@ public class PurInquiryOfferController { return ResultVOUtils.success("删除成功"); } + + /** + * 发起审批 + */ + @PostMapping("/purchase/purInquiryOffer/submitApproval") + public BaseResponse submitApproval(@RequestBody PurInquiryOfferEntity purInquiryOfferEntity) { + + Long userId = customerService.getUserId(); + Date date = new Date(); + purInquiryOfferEntity.setUpdateTime(date); + purInquiryOfferEntity.setUpdateUser(userId + ""); + purInquiryOfferEntity.setStatus(2); //状态 + + Boolean sys_approval_flow = "1".equals(systemParamConfigService.selectValueByParamKey("sys_approval_flow")); + if (sys_approval_flow){//提交审核 + String approvalFlowId = sysApprovalFlowService.getApprovalFlowId(); + purInquiryOfferEntity.setApprovalFlowId(approvalFlowId); + sysApprovalFlowService.generateFlow(approvalFlowId,purInquiryOfferEntity.getBillNo(),type_xjbj); + } + purInquiryOfferService.updateById(purInquiryOfferEntity); + + return ResultVOUtils.success("提交成功!"); + } + + } diff --git a/src/main/java/com/glxp/api/service/purchase/impl/PurInquiryOfferService.java b/src/main/java/com/glxp/api/service/purchase/impl/PurInquiryOfferService.java index 33dc11a3f..a82f7f9ca 100644 --- a/src/main/java/com/glxp/api/service/purchase/impl/PurInquiryOfferService.java +++ b/src/main/java/com/glxp/api/service/purchase/impl/PurInquiryOfferService.java @@ -4,20 +4,45 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.pagehelper.PageHelper; import com.glxp.api.dao.purchase.PurInquiryMapper; import com.glxp.api.dao.purchase.PurInquiryOfferMapper; -import com.glxp.api.entity.purchase.PurInquiryEntity; -import com.glxp.api.entity.purchase.PurInquiryOfferEntity; +import com.glxp.api.entity.BaseEntity; +import com.glxp.api.entity.purchase.*; import com.glxp.api.req.purchase.PurInquiryOfferRequest; import com.glxp.api.req.purchase.PurInquiryRequest; import com.glxp.api.res.purchase.PurInquiryEntityResponse; import com.glxp.api.res.purchase.PurInquiryOfferEntityResponse; +import com.glxp.api.service.auth.CustomerService; +import com.glxp.api.service.basic.SysApprovalFlowService; +import com.glxp.api.service.system.SystemParamConfigService; +import com.glxp.api.util.GennerOrderUtils; +import com.glxp.api.util.OrderNoTypeBean; +import jodd.util.StringUtil; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; +import java.util.ArrayList; import java.util.Collections; +import java.util.Date; import java.util.List; @Service +@Transactional(rollbackFor = Exception.class) public class PurInquiryOfferService extends ServiceImpl { + @Resource + CustomerService customerService; + @Resource + GennerOrderUtils gennerOrderUtils; + @Resource + SystemParamConfigService systemParamConfigService; + @Resource + SysApprovalFlowService sysApprovalFlowService; + final String type_xjbj = "xjbj"; + @Resource + PurInquiryOfferItemService purInquiryOfferItemService; + @Resource + PurInquiryOfferItemDetailService purInquiryOfferItemDetailService; public List queryPageList(PurInquiryOfferRequest purInquiryOfferRequest) { @@ -35,4 +60,53 @@ public class PurInquiryOfferService extends ServiceImpl itemEntities, List itemDetailEntities) { + PurInquiryOfferEntity purInquiryOfferEntity = new PurInquiryOfferEntity(); + BeanUtils.copyProperties(purInquiryEntity,purInquiryOfferEntity); + purInquiryOfferEntity.setId(null); + Long userId = customerService.getUserId(); + Date date = new Date(); + purInquiryOfferEntity.setUpdateTime(date); + purInquiryOfferEntity.setUpdateUser(userId + ""); + purInquiryOfferEntity.setStatus(1); //状态 待报价 + String billNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean("XJBJ", "yyyyMMdd")); + purInquiryOfferEntity.setBillNo(billNo); + purInquiryOfferEntity.setApprovalFlowId(null); + +// Boolean sys_approval_flow = "1".equals(systemParamConfigService.selectValueByParamKey("sys_approval_flow")); +// if (sys_approval_flow){//提交审核 +// String approvalFlowId = sysApprovalFlowService.getApprovalFlowId(); +// purInquiryOfferEntity.setApprovalFlowId(approvalFlowId); +// sysApprovalFlowService.generateFlow(approvalFlowId,purInquiryOfferEntity.getBillNo(),type_xjbj); +// } + + purInquiryOfferEntity.setCreateTime(date); + purInquiryOfferEntity.setCreateUser(userId + ""); + purInquiryOfferEntity.setPlanBillNo(purInquiryEntity.getBillNo()); + save(purInquiryOfferEntity); + Long id = purInquiryOfferEntity.getId(); + + + //处理明细 + ArrayList purInquiryOfferItemEntities = new ArrayList<>(); + itemEntities.forEach( item -> { + PurInquiryOfferItemEntity purInquiryOfferItemEntity = new PurInquiryOfferItemEntity(); + BeanUtils.copyProperties(item,purInquiryOfferItemEntity); + purInquiryOfferItemEntity.setOrderIdFk(String.valueOf(id)); + purInquiryOfferItemEntities.add(purInquiryOfferItemEntity); + }); + purInquiryOfferItemService.saveBatch(purInquiryOfferItemEntities); + + //处理明细详情 + ArrayList purInquiryOfferItemDetailEntities = new ArrayList<>(); + itemDetailEntities.forEach( itemDetail -> { + PurInquiryOfferItemDetailEntity purInquiryOfferItemDetailEntity = new PurInquiryOfferItemDetailEntity(); + BeanUtils.copyProperties(itemDetail,purInquiryOfferItemDetailEntity); + purInquiryOfferItemDetailEntity.setOrderIdFk(String.valueOf(id)); + purInquiryOfferItemDetailEntities.add(purInquiryOfferItemDetailEntity); + }); + purInquiryOfferItemDetailService.saveBatch(purInquiryOfferItemDetailEntities); + + } } diff --git a/src/main/java/com/glxp/api/service/purchase/impl/PurInquiryService.java b/src/main/java/com/glxp/api/service/purchase/impl/PurInquiryService.java index 3d01f5659..86c2691cb 100644 --- a/src/main/java/com/glxp/api/service/purchase/impl/PurInquiryService.java +++ b/src/main/java/com/glxp/api/service/purchase/impl/PurInquiryService.java @@ -1,7 +1,12 @@ package com.glxp.api.service.purchase.impl; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.pagehelper.PageHelper; +import com.glxp.api.entity.purchase.PurInquiryItemDetailEntity; +import com.glxp.api.entity.purchase.PurInquiryItemEntity; import com.glxp.api.req.purchase.PurInquiryRequest; import com.glxp.api.res.purchase.PurContractEntityResponse; import com.glxp.api.res.purchase.PurInquiryEntityResponse; @@ -9,13 +14,23 @@ import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.glxp.api.entity.purchase.PurInquiryEntity; import com.glxp.api.dao.purchase.PurInquiryMapper; +import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; import java.util.Collections; import java.util.List; @Service +@Transactional(rollbackFor = Exception.class) public class PurInquiryService extends ServiceImpl { + @Resource + PurInquiryItemService purInquiryItemService; + @Resource + PurInquiryItemDetailService purInquiryItemDetailService; + @Resource + PurInquiryOfferService purInquiryOfferService; + public List queryPageList(PurInquiryRequest purInquiryRequest) { @@ -33,4 +48,27 @@ public class PurInquiryService extends ServiceImpl purInquiryItemEntityQueryWrapper = new QueryWrapper<>(); + purInquiryItemEntityQueryWrapper.eq("orderIdFk",id); + List itemEntities = purInquiryItemService.list(purInquiryItemEntityQueryWrapper); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("orderIdFk",id); + List itemDetailEntities = purInquiryItemDetailService.list(queryWrapper); + + //生成询价报价单 + if (CollectionUtil.isNotEmpty(itemEntities) && CollectionUtil.isNotEmpty(itemDetailEntities) && ObjectUtil.isNotNull(purInquiryEntity)){ + purInquiryOfferService.submitOffer(purInquiryEntity,itemEntities,itemDetailEntities); + } + + purInquiryEntity.setGeneratePlan(1); + super.baseMapper.updateById(purInquiryEntity); + } + + } diff --git a/src/main/resources/schemas/schema_v2.4.sql b/src/main/resources/schemas/schema_v2.4.sql index 1d4e0f2ac..714483a6b 100644 --- a/src/main/resources/schemas/schema_v2.4.sql +++ b/src/main/resources/schemas/schema_v2.4.sql @@ -3430,13 +3430,18 @@ INSERT IGNORE INTO auth_menu (`menu_id`, `menu_name`, `parent_id`, `order_num`, INSERT IGNORE INTO auth_menu (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) - VALUES (3715, '待审核询价报价单', 3711, 4, 'purchase/purInquiryOffer/purInquiryOfferReviewed', 'purchase/purInquiryOffer/purInquiryOfferReviewed', '{\"pageType\":1}', 1, 0, 'C', + VALUES (3715, '待审核询价报价单', 3711, 5, 'purchase/purInquiryOffer/purInquiryOfferReviewed', 'purchase/purInquiryOffer/purInquiryOfferReviewed', '{\"pageType\":1}', 1, 0, 'C', '0', '0', 'purchase:purInquiryOffer:purInquiryOfferReviewed', NULL, '超级用户', '2023-02-08 17:02:19', NULL, NULL, NULL); INSERT IGNORE INTO auth_menu (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) - VALUES (3716, '已审核询价报价单', 3711, 5, 'purchase/purInquiryOffer/purInquiryOfferFinish', 'purchase/purInquiryOffer/purInquiryOfferFinish', '{\"pageType\":1}', 1, 0, 'C', + VALUES (3716, '已审核询价报价单', 3711, 6, 'purchase/purInquiryOffer/purInquiryOfferFinish', 'purchase/purInquiryOffer/purInquiryOfferFinish', '{\"pageType\":1}', 1, 0, 'C', '0', '0', 'purchase:purInquiryOffer:purInquiryOfferFinish', NULL, '超级用户', '2023-02-08 17:02:19', NULL, NULL, NULL); +INSERT IGNORE INTO auth_menu (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, `is_cache`, `menu_type`, + `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) + VALUES (3717, '待报价询价报价单', 3711, 4, 'purchase/purInquiryOffer/purInquiryOffer', 'purchase/purInquiryOffer/purInquiryOffer', '{\"pageType\":1}', 1, 0, 'C', + '0', '0', 'purchase:purInquiryOffer:purInquiryOffer', NULL, '超级用户', '2023-02-08 17:02:19', NULL, NULL, NULL); + INSERT IGNORE INTO sys_approval_flow_config(`id`, `type`, `typeName`, `approvalSort`, `createUser`, `createTime`, `updateUser`, `updateTime`) VALUES ('7', 'xjjh', '询价计划单据', 7, NULL, NULL, NULL, NULL); From b70f4136cfb4f7b587c12ba4e07f2b25348e1b2f Mon Sep 17 00:00:00 2001 From: chenhc <2369838784@qq.com> Date: Thu, 23 May 2024 18:10:00 +0800 Subject: [PATCH 4/5] =?UTF-8?q?feat:=200523=E5=BC=80=E5=8F=91=E8=AE=BA?= =?UTF-8?q?=E8=AF=81=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../purchase/PurApplyController.java | 17 +- .../dao/purchase/PurApplyArgumentMapper.java | 9 + .../api/entity/purchase/PurApplyArgument.java | 169 ++++++++++++++++++ .../entity/purchase/PurApplyDetailEntity.java | 8 + .../impl/PurApplyArgumentService.java | 72 ++++++++ .../purchase/PurApplyArgumentMapper.xml | 10 ++ src/main/resources/schemas/schema_v2.4.sql | 35 ++++ 7 files changed, 310 insertions(+), 10 deletions(-) create mode 100644 src/main/java/com/glxp/api/dao/purchase/PurApplyArgumentMapper.java create mode 100644 src/main/java/com/glxp/api/entity/purchase/PurApplyArgument.java create mode 100644 src/main/java/com/glxp/api/service/purchase/impl/PurApplyArgumentService.java create mode 100644 src/main/resources/mybatis/mapper/purchase/PurApplyArgumentMapper.xml 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; + From a15afd2f5a5a2de539706571813ae7a577ef642c Mon Sep 17 00:00:00 2001 From: chenhc <2369838784@qq.com> Date: Mon, 27 May 2024 09:33:05 +0800 Subject: [PATCH 5/5] =?UTF-8?q?feat:=200527=E5=BC=80=E5=8F=91=E8=AE=BA?= =?UTF-8?q?=E8=AF=81=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inout/IoOrderDetailResultController.java | 19 +++ .../purchase/PurApplyArgumentController.java | 120 ++++++++++++++++++ .../api/entity/purchase/PurApplyArgument.java | 21 +++ .../req/purchase/PurApplyArgumentRequest.java | 42 ++++++ .../impl/PurApplyArgumentService.java | 31 +++++ .../glxp/api/util/EntityToMapConverter.java | 35 +++++ .../mapper/purchase/PurApplyDetailDao.xml | 4 +- src/main/resources/schemas/schema_v2.4.sql | 22 +++- 8 files changed, 291 insertions(+), 3 deletions(-) create mode 100644 src/main/java/com/glxp/api/controller/purchase/PurApplyArgumentController.java create mode 100644 src/main/java/com/glxp/api/req/purchase/PurApplyArgumentRequest.java create mode 100644 src/main/java/com/glxp/api/util/EntityToMapConverter.java diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java index 3984a1f4e..c4779fa66 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java @@ -20,6 +20,7 @@ import com.glxp.api.entity.auth.InvWarehouseEntity; import com.glxp.api.entity.basic.BasicBussinessTypeEntity; import com.glxp.api.entity.inout.*; import com.glxp.api.entity.system.CompanyEntity; +import com.glxp.api.entity.system.SysPdfTemplateRelevanceLabelEntity; import com.glxp.api.entity.system.SysPdfTemplateRelevanceStatemenEntity; import com.glxp.api.entity.system.SystemPDFTemplateEntity; import com.glxp.api.entity.thrsys.ThrProductsEntity; @@ -251,6 +252,24 @@ public class IoOrderDetailResultController extends BaseController { return ResultVOUtils.success(sysPdfTemplateRelevanceStatemenEntity.getTemplateId()); } + //校验模板是否正确--标签 + @AuthRuleAnnotation("") + @PostMapping("/udiwms/pdf/templateLabel/order/result/file") + public BaseResponse inspectionStockOrderPDFFromTemplateLabelFile(@RequestBody InspectionPDFTemplateRequest inspectionPDFTemplateRequest) { + + //查询模板文件是否存在 + SysPdfTemplateRelevanceLabelEntity sysPdfTemplateRelevanceLabelEntity = systemPDFModuleService.selectByLabelId(inspectionPDFTemplateRequest.getId()); + if (null == sysPdfTemplateRelevanceLabelEntity) { + return ResultVOUtils.error(ResultEnum.DATA_NOT, "所属模块错误"); + } + + SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(String.valueOf(sysPdfTemplateRelevanceLabelEntity.getTemplateId())); + if (null == systemPDFTemplateEntity) { + return ResultVOUtils.error(ResultEnum.DATA_NOT, "模板错误"); + } + return ResultVOUtils.success(sysPdfTemplateRelevanceLabelEntity.getTemplateId()); + } + /** * 出入库明细打印 diff --git a/src/main/java/com/glxp/api/controller/purchase/PurApplyArgumentController.java b/src/main/java/com/glxp/api/controller/purchase/PurApplyArgumentController.java new file mode 100644 index 000000000..254e3ce22 --- /dev/null +++ b/src/main/java/com/glxp/api/controller/purchase/PurApplyArgumentController.java @@ -0,0 +1,120 @@ +package com.glxp.api.controller.purchase; + +import com.alibaba.fastjson.JSON; +import com.github.pagehelper.PageInfo; +import com.glxp.api.annotation.AuthRuleAnnotation; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.entity.purchase.PurApplyArgument; +import com.glxp.api.entity.purchase.PurInquiryItemEntity; +import com.glxp.api.entity.system.SystemPDFTemplateEntity; +import com.glxp.api.req.dev.DeviceInfoDetailQuery; +import com.glxp.api.req.purchase.PurApplyArgumentRequest; +import com.glxp.api.req.purchase.PurInquiryOfferRequest; +import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.res.purchase.PurInquiryOfferEntityResponse; +import com.glxp.api.service.purchase.impl.PurApplyArgumentService; +import com.glxp.api.service.system.SystemPDFTemplateService; +import com.glxp.api.util.EntityToMapConverter; +import com.glxp.api.util.JasperUtils; +import com.glxp.api.vo.dev.DeviceInfoVo; +import lombok.RequiredArgsConstructor; +import net.sf.jasperreports.engine.JRException; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.io.IOException; +import java.math.RoundingMode; +import java.util.*; + +@Validated +@RequiredArgsConstructor +@RestController +public class PurApplyArgumentController { + + @Resource + PurApplyArgumentService purApplyArgumentService; + @Resource + private SystemPDFTemplateService systemPDFTemplateService; + @Value("${file_path}") + private String filePath; + + /** + * 查询询价业务列表 + */ + @GetMapping("/purchase/purApplyArgument/list") + public BaseResponse list(PurApplyArgumentRequest purApplyArgumentRequest) { + + List list = purApplyArgumentService.queryPageList(purApplyArgumentRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(list); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(list); + return ResultVOUtils.success(pageSimpleResponse); + } + + + /** + * 修改 + */ + @PostMapping("/purchase/purApplyArgument/updateArg") + public BaseResponse updateArg(@RequestBody PurApplyArgument purApplyArgument) { + purApplyArgumentService.updateById(purApplyArgument); + return ResultVOUtils.success("修改成功"); + } + + + /** + * 论证单明细打印 + * + * @param purApplyArgumentRequest + * @return + */ + @PostMapping("/purchase/purApplyArgument/printArg") + public BaseResponse printArg(@RequestBody PurApplyArgumentRequest purApplyArgumentRequest, HttpServletRequest request, HttpServletResponse response) throws JRException, IOException { + List resList = new ArrayList<>(); + SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(purApplyArgumentRequest.getTemplateId()); + //打印单号标签 + Map data = new HashMap<>(1); + List list = new ArrayList<>(); + + //按选入打印 + if (purApplyArgumentRequest.getList() != null && purApplyArgumentRequest.getList().size() > 0) { + resList = purApplyArgumentRequest.getList(); + } else { + resList = purApplyArgumentService.queryPageList(purApplyArgumentRequest); + } + int i = 1; + for (PurApplyArgument item : resList) { + //组装数据 + Map purApplyArgumentData = EntityToMapConverter.convertEntityToMap(item); + purApplyArgumentData.put("index", String.valueOf(i)); + list.add(purApplyArgumentData); + i++; + } + data.put("data", list); + String param = JSON.toJSONString(data); + JasperUtils.jasperReport(request, response, param, filePath + "pdf/template/" + systemPDFTemplateEntity.getPath(), "pdf"); + return ResultVOUtils.success(); + } + + + /** + * 查看是否全部通过 + * + * @param id 主键串 + */ + @GetMapping("/purchase/purApplyArgument/argAllPass/{id}") + public BaseResponse argAllPass(@NotNull(message = "主键不能为空") + @PathVariable Long id) { + int data = purApplyArgumentService.argAllPass(id); + return ResultVOUtils.success(data); + } +} diff --git a/src/main/java/com/glxp/api/entity/purchase/PurApplyArgument.java b/src/main/java/com/glxp/api/entity/purchase/PurApplyArgument.java index 403e8a917..5f2a036b2 100644 --- a/src/main/java/com/glxp/api/entity/purchase/PurApplyArgument.java +++ b/src/main/java/com/glxp/api/entity/purchase/PurApplyArgument.java @@ -158,6 +158,27 @@ public class PurApplyArgument implements Serializable { @ApiModelProperty(value="使用科室人员配备情况") private String supportPerson; + /** + * 维修技术力量的保证或维修途径 + */ + @TableField(value = "maintenanceForce") + @ApiModelProperty(value="维修技术力量的保证或维修途径") + private String maintenanceForce; + + /** + * 资金来源 + */ + @TableField(value = "fundSource") + @ApiModelProperty(value="资金来源") + private String fundSource; + + /** + * 可行性论证 + */ + @TableField(value = "feasibility") + @ApiModelProperty(value="可行性论证") + private String feasibility; + /** * 论证状态 */ diff --git a/src/main/java/com/glxp/api/req/purchase/PurApplyArgumentRequest.java b/src/main/java/com/glxp/api/req/purchase/PurApplyArgumentRequest.java new file mode 100644 index 000000000..f86728562 --- /dev/null +++ b/src/main/java/com/glxp/api/req/purchase/PurApplyArgumentRequest.java @@ -0,0 +1,42 @@ +package com.glxp.api.req.purchase; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.glxp.api.entity.purchase.PurApplyArgument; +import com.glxp.api.util.page.ListPageRequest; +import lombok.Data; + +import java.util.List; + +@Data +public class PurApplyArgumentRequest extends ListPageRequest { + + + /** + * 询价单据号 + */ + private String applyBillNo; + + /** + * 论证状态 + */ + private Integer argStatus; + + /** + * 申购负责人 + */ + private String createName; + + /** + * 产品名字 + */ + private String productName; + + private Long deptCode; + + @TableField(value = "pageType") + private Integer pageType; + + private String templateId; + + private List list; +} 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 index 96943ee2f..c67a1449d 100644 --- a/src/main/java/com/glxp/api/service/purchase/impl/PurApplyArgumentService.java +++ b/src/main/java/com/glxp/api/service/purchase/impl/PurApplyArgumentService.java @@ -1,11 +1,15 @@ package com.glxp.api.service.purchase.impl; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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.req.purchase.PurApplyArgumentRequest; import com.glxp.api.service.auth.CustomerService; import com.glxp.api.service.auth.DeptService; import org.springframework.beans.BeanUtils; @@ -69,4 +73,31 @@ public class PurApplyArgumentService extends ServiceImpl queryPageList(PurApplyArgumentRequest purApplyArgumentRequest) { + LambdaQueryWrapper qw = new LambdaQueryWrapper<>(); + qw.like(StrUtil.isNotEmpty(purApplyArgumentRequest.getApplyBillNo()),PurApplyArgument::getApplyBillNo,purApplyArgumentRequest.getApplyBillNo()); + qw.like(StrUtil.isNotEmpty(purApplyArgumentRequest.getCreateName()),PurApplyArgument::getCreateName,purApplyArgumentRequest.getCreateName()); + qw.like(StrUtil.isNotEmpty(purApplyArgumentRequest.getProductName()),PurApplyArgument::getProductName,purApplyArgumentRequest.getProductName()); + qw.eq(ObjectUtil.isNotNull(purApplyArgumentRequest.getArgStatus()),PurApplyArgument::getArgStatus,purApplyArgumentRequest.getArgStatus()); + qw.eq(ObjectUtil.isNotNull(purApplyArgumentRequest.getDeptCode()),PurApplyArgument::getDeptCode,purApplyArgumentRequest.getDeptCode()); + return list(qw); + } + + public int argAllPass(Long id) { + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("orderIdFk",id); + qw.eq("argStatus",2); + List list = list(qw); + if (CollectionUtil.isNotEmpty(list)){ + return 2;//有拒绝的 + } + qw.eq("argStatus",0); + list = list(qw); + if (CollectionUtil.isNotEmpty(list)){ + return 0;//有未论证的 + } + return 1;//全部通过 + } + } diff --git a/src/main/java/com/glxp/api/util/EntityToMapConverter.java b/src/main/java/com/glxp/api/util/EntityToMapConverter.java new file mode 100644 index 000000000..fdb34b4ef --- /dev/null +++ b/src/main/java/com/glxp/api/util/EntityToMapConverter.java @@ -0,0 +1,35 @@ +package com.glxp.api.util; + +import java.lang.reflect.Field; +import java.util.HashMap; +import java.util.Map; + +public class EntityToMapConverter { + + public static Map convertEntityToMap(T entity) { + if (entity == null) { + return null; + } + + Map result = new HashMap<>(); + Class clazz = entity.getClass(); + + // 获取所有字段(包括私有字段,但需要设置setAccessible(true)) + Field[] fields = clazz.getDeclaredFields(); + + for (Field field : fields) { + field.setAccessible(true); // 设置为可访问,以便访问私有字段 + + try { + // 获取字段的值 + Object value = field.get(entity); + result.put(field.getName(), value); + } catch (IllegalAccessException e) { + // 这通常不会发生,因为我们已经调用了setAccessible(true) + e.printStackTrace(); + } + } + + return result; + } +} diff --git a/src/main/resources/mybatis/mapper/purchase/PurApplyDetailDao.xml b/src/main/resources/mybatis/mapper/purchase/PurApplyDetailDao.xml index f00ca65e1..2eb8e3053 100644 --- a/src/main/resources/mybatis/mapper/purchase/PurApplyDetailDao.xml +++ b/src/main/resources/mybatis/mapper/purchase/PurApplyDetailDao.xml @@ -21,10 +21,10 @@