wangzhuo 2 лет назад
Родитель
Сommit
cdb51af3c1

+ 36 - 2
ruoyi-anpin/src/main/java/com/ruoyi/anpin/domain/TContractManagement.java

@@ -50,14 +50,20 @@ public class TContractManagement extends BaseEntity
     @Excel(name = "建立日期", width = 30, dateFormat = "yyyy-MM-dd")
     private Date creationDate;
 
-    /** 文件类型 */
+    /** 文件类型 对应 file_type*/
     @Excel(name = "文件类型")
     private String fileType;
 
-    /** 提交方式 */
+    /** 文件类型名称 */
+    private String fileTypeName;
+
+    /** 提交方式 对应 submission_method*/
     @Excel(name = "提交方式")
     private String submissionMethod;
 
+    /** 提交方式名称 */
+    private String submissionMethodName;
+
     /** 提交部门id */
     @Excel(name = "提交部门id")
     private Long submittingDepartmentId;
@@ -70,6 +76,10 @@ public class TContractManagement extends BaseEntity
     @Excel(name = "签发单位")
     private Long issuingUnitId;
 
+    /** 签发单位名称 */
+    @Excel(name = "签发单位名称")
+    private String issuingUnitName;
+
     /** 归档时间 */
     @JsonFormat(pattern = "yyyy-MM-dd")
     @Excel(name = "归档时间", width = 30, dateFormat = "yyyy-MM-dd")
@@ -106,6 +116,30 @@ public class TContractManagement extends BaseEntity
      */
     private List<String> archiveTimeList;
 
+    public String getFileTypeName() {
+        return fileTypeName;
+    }
+
+    public void setFileTypeName(String fileTypeName) {
+        this.fileTypeName = fileTypeName;
+    }
+
+    public String getSubmissionMethodName() {
+        return submissionMethodName;
+    }
+
+    public void setSubmissionMethodName(String submissionMethodName) {
+        this.submissionMethodName = submissionMethodName;
+    }
+
+    public String getIssuingUnitName() {
+        return issuingUnitName;
+    }
+
+    public void setIssuingUnitName(String issuingUnitName) {
+        this.issuingUnitName = issuingUnitName;
+    }
+
     public String getContractNo() {
         return contractNo;
     }

+ 21 - 10
ruoyi-anpin/src/main/java/com/ruoyi/anpin/domain/TCostManagement.java

@@ -28,6 +28,9 @@ public class TCostManagement extends BaseEntity
     @Excel(name = "编号")
     private String fNo;
 
+    /** 创建人id */
+    private Long createById;
+
     /** 删除状态 */
     private String delFlag;
 
@@ -76,12 +79,12 @@ public class TCostManagement extends BaseEntity
     /**
      * 明细所属部门(检索)
      */
-    private String itemDepartmentName;
+    private String itemDepartment;
 
     /**
      * 明细所属人员(检索)
      */
-    private String itemPersonnelName;
+    private String itemPersonnel;
 
     /**
      * 明细物料(检索)
@@ -93,6 +96,14 @@ public class TCostManagement extends BaseEntity
      */
     private Long itemExpenseId;
 
+    public Long getCreateById() {
+        return createById;
+    }
+
+    public void setCreateById(Long createById) {
+        this.createById = createById;
+    }
+
     public Long getItemExpenseName() {
         return itemExpenseId;
     }
@@ -109,20 +120,20 @@ public class TCostManagement extends BaseEntity
         this.itemMatterName = itemMatterName;
     }
 
-    public String getItemPersonnelName() {
-        return itemPersonnelName;
+    public String getItemDepartment() {
+        return itemDepartment;
     }
 
-    public void setItemPersonnelName(String itemPersonnelName) {
-        this.itemPersonnelName = itemPersonnelName;
+    public void setItemDepartment(String itemDepartment) {
+        this.itemDepartment = itemDepartment;
     }
 
-    public String getItemDepartmentName() {
-        return itemDepartmentName;
+    public String getItemPersonnel() {
+        return itemPersonnel;
     }
 
-    public void setItemDepartmentName(String itemDepartmentName) {
-        this.itemDepartmentName = itemDepartmentName;
+    public void setItemPersonnel(String itemPersonnel) {
+        this.itemPersonnel = itemPersonnel;
     }
 
     public List<String> getBusinessTimeList() {

+ 16 - 0
ruoyi-anpin/src/main/java/com/ruoyi/anpin/mapper/TContractManagementMapper.java

@@ -59,4 +59,20 @@ public interface TContractManagementMapper
      * @return 结果
      */
     public int deleteTContractManagementByIds(Long[] fIds);
+
+    /**
+     * 查询合同管理列表
+     *
+     * @param tContractManagement 合同管理
+     * @return 合同管理集合
+     */
+    public List<TContractManagement> selectContractList(TContractManagement tContractManagement);
+
+    /**
+     *  增加检验档案编号是否唯一
+     * @param management
+     * @return
+     */
+    public int checkContractNo(TContractManagement management);
+
 }

+ 21 - 6
ruoyi-anpin/src/main/java/com/ruoyi/anpin/service/impl/TContractManagementServiceImpl.java

@@ -7,6 +7,8 @@ import com.alibaba.fastjson.JSONObject;
 import com.ruoyi.anpin.domain.TContractManagement;
 import com.ruoyi.anpin.mapper.TContractManagementMapper;
 import com.ruoyi.anpin.service.ITContractManagementService;
+import com.ruoyi.basicData.domain.TCorps;
+import com.ruoyi.basicData.mapper.TCorpsMapper;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.domain.model.LoginUser;
@@ -44,6 +46,9 @@ public class TContractManagementServiceImpl implements ITContractManagementServi
     @Autowired
     private SysUserMapper sysUserMapper;
 
+    @Autowired
+    private TCorpsMapper tCorpsMapper;
+
     /**
      * 查询合同管理
      * 
@@ -61,10 +66,8 @@ public class TContractManagementServiceImpl implements ITContractManagementServi
         TEnclosure enclosure = new TEnclosure();
         enclosure.setfPid(fId);
         List<TEnclosure> enclosures = tEnclosureMapper.selectTEnclosureList(enclosure);
-        if (StringUtils.isNotEmpty(enclosures)) {
-            map.put("enclosures", enclosures);
-        }
 
+        map.put("tEnclosure", enclosures);
         map.put("tContractManagement", tContractManagement);
 
         return map;
@@ -79,7 +82,7 @@ public class TContractManagementServiceImpl implements ITContractManagementServi
     @Override
     public List<TContractManagement> selectTContractManagementList(TContractManagement tContractManagement)
     {
-        return tContractManagementMapper.selectTContractManagementList(tContractManagement);
+        return tContractManagementMapper.selectContractList(tContractManagement);
     }
 
     /**
@@ -98,8 +101,16 @@ public class TContractManagementServiceImpl implements ITContractManagementServi
         SysUser use = sysUserMapper.selectUserById(detailed.getCustodianId());
         detailed.setCustodianName(use.getUserName());//保管人名称
 
+        TCorps corps = tCorpsMapper.selectTCorpsById(detailed.getIssuingUnitId());
+        detailed.setIssuingUnitName(corps.getfName());//签发单位名称
+
+        TContractManagement management = new TContractManagement();
+        management.setContractNo(detailed.getContractNo());
         //保存主表信息
-        if (StringUtils.isNull(detailed.getfId())) {// 如果是新数据
+        if (StringUtils.isNull(detailed.getfId())) {//如果是新数据
+            if (tContractManagementMapper.checkContractNo(management) > 0) {
+                return AjaxResult.error("档案编号已存在");
+            }
             // 业务编码
             String billNo = billnoSerialServiceImpl.getBillNo("HT", new Date());
             detailed.setfNo(billNo);
@@ -107,6 +118,10 @@ public class TContractManagementServiceImpl implements ITContractManagementServi
             detailed.setCreateTime(new Date());
             tContractManagementMapper.insertTContractManagement(detailed);
         } else {
+            management.setfId(detailed.getfId());
+            if (tContractManagementMapper.checkContractNo(management) > 0) {
+                return AjaxResult.error("档案编号已存在");
+            }
             detailed.setUpdateBy(loginUser.getUser().getUserName());
             detailed.setUpdateTime(new Date());
             tContractManagementMapper.updateTContractManagement(detailed);
@@ -135,7 +150,7 @@ public class TContractManagementServiceImpl implements ITContractManagementServi
         }
 
         map.put("tContractManagement",detailed);
-        map.put("enclosuresList", enclosuresList);
+        map.put("tEnclosure", enclosuresList);
 
         return AjaxResult.success("成功", map);
     }

+ 11 - 0
ruoyi-anpin/src/main/java/com/ruoyi/anpin/service/impl/TCostManagementServiceImpl.java

@@ -4,6 +4,7 @@ import java.util.*;
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.ruoyi.anpin.domain.TCostManagement;
 import com.ruoyi.anpin.domain.TCostManagementItem;
 import com.ruoyi.anpin.mapper.TCostManagementItemMapper;
@@ -114,12 +115,16 @@ public class TCostManagementServiceImpl implements ITCostManagementService
     {
         Map<String, Object> map = new HashMap<>();
         TCostManagement detailed = JSONArray.parseObject(tCostManagement, TCostManagement.class);
+        if (ObjectUtils.isEmpty(detailed.getDeptId())){
+            return AjaxResult.error("部门不能为空");
+        }
         detailed.setDeptName(sysDeptMapper.selectDeptById(detailed.getDeptId()).getDeptName());//部门名称
         //保存主表信息
         if (StringUtils.isNull(detailed.getfId())) {// 如果是新数据
             // 业务编码
             String billNo = billnoSerialServiceImpl.getBillNo("FY", new Date());
             detailed.setfNo(billNo);
+            detailed.setCreateById(loginUser.getUser().getUserId());
             detailed.setCreateBy(loginUser.getUser().getUserName());
             detailed.setCreateTime(new Date());
             detailed.setCreateDept(String.valueOf(loginUser.getUser().getDeptId()));
@@ -136,6 +141,12 @@ public class TCostManagementServiceImpl implements ITCostManagementService
             JSONArray jsonDrArray = JSONArray.parseArray(tCostManagementItem);
             itemList = JSONObject.parseArray(jsonDrArray.toJSONString(), TCostManagementItem.class);
             for (TCostManagementItem item : itemList) {
+                if (ObjectUtils.isEmpty(item.getPersonnelId())){
+                    return AjaxResult.error("所属人员不能为空");
+                }
+                if (ObjectUtils.isEmpty(item.getDepartmentId())){
+                    return AjaxResult.error("所属部门不能为空");
+                }
                 item.setDepartmentName(sysDeptMapper.selectDeptById(item.getDepartmentId()).getDeptName());//所属部门名称
                 if (StringUtils.isNull(item.getfId())) {// 如果是新数据
                     item.setfPid(detailed.getfId());

+ 62 - 1
ruoyi-anpin/src/main/resources/mapper/anpin/TContractManagementMapper.xml

@@ -29,11 +29,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="custodianId"    column="custodian_id"    />
         <result property="custodianName"    column="custodian_name"    />
         <result property="storageLocation"    column="storage_location"    />
+        <result property="issuingUnitName"     column="issuing_unit_name"/>
     </resultMap>
 
     <sql id="selectTContractManagementVo">
         select f_id, f_no, contract_no, create_by, create_time, update_by, update_time, remark, del_flag, f_status, content, copies, creation_date, file_type,
-               submission_method, submitting_department_id, submitting_department_name, issuing_unit_id, archive_time, validity_month, storage_period_time,
+               submission_method, submitting_department_id, submitting_department_name, issuing_unit_id, issuing_unit_name, archive_time, validity_month, storage_period_time,
                custodian_id, custodian_name, storage_location
         from t_contract_management
     </sql>
@@ -58,6 +59,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="submittingDepartmentId != null "> and submitting_department_id = #{submittingDepartmentId}</if>
             <if test="submittingDepartmentName != null  and submittingDepartmentName != ''"> and submitting_department_name like concat('%', #{submittingDepartmentName}, '%')</if>
             <if test="issuingUnitId != null "> and issuing_unit_id = #{issuingUnitId}</if>
+            <if test="issuingUnitName != null  and issuingUnitName != ''"> and issuing_unit_name like concat('%', #{issuingUnitName}, '%')</if>
             <if test='archiveTimeList != null and archiveTimeList[0] != null and archiveTimeList[0]!= ""'>
                 and archive_time &gt;= #{archiveTimeList[0]}
             </if>
@@ -104,6 +106,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="custodianId != null">custodian_id,</if>
             <if test="custodianName != null">custodian_name,</if>
             <if test="storageLocation != null">storage_location,</if>
+            <if test="issuingUnitName != null">issuing_unit_name,</if>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="fNo != null">#{fNo},</if>
@@ -129,6 +132,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="custodianId != null">#{custodianId},</if>
             <if test="custodianName != null">#{custodianName},</if>
             <if test="storageLocation != null">#{storageLocation},</if>
+            <if test="issuingUnitName != null">#{issuingUnitName},</if>
          </trim>
     </insert>
 
@@ -158,6 +162,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="custodianId != null">custodian_id = #{custodianId},</if>
             <if test="custodianName != null">custodian_name = #{custodianName},</if>
             <if test="storageLocation != null">storage_location = #{storageLocation},</if>
+            <if test="issuingUnitName != null">issuing_unit_name = #{issuingUnitName},</if>
         </trim>
         where f_id = #{fId}
     </update>
@@ -175,5 +180,61 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             #{fId}
         </foreach>
     </update>
+
+    <select id="selectContractList" parameterType="TContractManagement" resultMap="TContractManagementResult">
+        SELECT
+            TCM.f_id, TCM.f_no, TCM.contract_no, TCM.create_by, TCM.create_time, TCM.update_by, TCM.update_time, TCM.remark, TCM.del_flag, TCM.f_status,
+            TCM.content, TCM.copies, TCM.creation_date, TCM.file_type,TCM.submission_method, TCM.submitting_department_id, TCM.submitting_department_name,
+            TCM.issuing_unit_id, TCM.issuing_unit_name, TCM.archive_time,TCM.validity_month, TCM.storage_period_time,TCM.custodian_id, TCM.custodian_name,
+            TCM.storage_location, pro.dict_label AS fileTypeName, sd.dict_label AS submissionMethodName
+        FROM
+            t_contract_management TCM
+        LEFT JOIN sys_dict_data pro ON pro.dict_value = TCM.file_type
+        AND pro.dict_type = 'file_type'
+        LEFT JOIN sys_dict_data sd ON sd.dict_value = TCM.submission_method
+        AND sd.dict_type = 'submission_method'
+        <where>
+            del_flag = 0
+            <if test="fNo != null  and fNo != ''"> and TCM.f_no like concat('%', #{fNo}, '%')</if>
+            <if test="contractNo != null  and contractNo != ''"> and TCM.contract_no like concat('%', #{contractNo}, '%')</if>
+            <if test="fStatus != null  and fStatus != ''"> and TCM.f_status = #{fStatus}</if>
+            <if test="content != null  and content != ''"> and TCM.content = #{content}</if>
+            <if test="copies != null "> and TCM.copies = #{copies}</if>
+            <if test='creationDateList != null and creationDateList[0] != null and creationDateList[0]!= ""'>
+                and TCM.creation_date &gt;= #{creationDateList[0]}
+            </if>
+            <if test='creationDateList != null and creationDateList[1] != null and creationDateList[1]!= ""'>
+                and TCM.creation_date &lt;= #{creationDateList[1]}
+            </if>
+            <if test="fileType != null  and fileType != ''"> and TCM.file_type = #{fileType}</if>
+            <if test="submissionMethod != null  and submissionMethod != ''"> and TCM.submission_method = #{submissionMethod}</if>
+            <if test="submittingDepartmentId != null "> and TCM.submitting_department_id = #{submittingDepartmentId}</if>
+            <if test="submittingDepartmentName != null  and submittingDepartmentName != ''"> and TCM.submitting_department_name like concat('%', #{submittingDepartmentName}, '%')</if>
+            <if test="issuingUnitId != null "> and TCM.issuing_unit_id = #{issuingUnitId}</if>
+            <if test="issuingUnitName != null  and issuingUnitName != ''"> and TCM.issuing_unit_name like concat('%', #{issuingUnitName}, '%')</if>
+            <if test='archiveTimeList != null and archiveTimeList[0] != null and archiveTimeList[0]!= ""'>
+                and TCM.archive_time &gt;= #{archiveTimeList[0]}
+            </if>
+            <if test='archiveTimeList != null and archiveTimeList[1] != null and archiveTimeList[1]!= ""'>
+                and TCM.archive_time &lt;= #{archiveTimeList[1]}
+            </if>
+            <if test="validityMonth != null "> and TCM.validity_month = #{validityMonth}</if>
+            <if test="storagePeriodTime != null "> and TCM.storage_period_time = #{storagePeriodTime}</if>
+            <if test="custodianId != null "> and TCM.custodian_id = #{custodianId}</if>
+            <if test="custodianName != null  and custodianName != ''"> and TCM.custodian_name like concat('%', #{custodianName}, '%')</if>
+            <if test="storageLocation != null  and storageLocation != ''"> and TCM.storage_location = #{storageLocation}</if>
+        </where>
+        order by TCM.create_time desc
+    </select>
+
+    <select id="checkContractNo" parameterType="TContractManagement" resultType="int">
+        select count(1) from t_contract_management
+        <where>
+            del_flag = 0
+            <if test="contractNo != null  and contractNo != ''"> and contract_no = #{contractNo}</if>
+            <if test="fId != null  and fId != ''"> and f_id != #{fId}</if>
+        </where>
+        limit 1
+    </select>
     
 </mapper>

+ 11 - 3
ruoyi-anpin/src/main/resources/mapper/anpin/TCostManagementMapper.xml

@@ -22,11 +22,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="businessType"    column="business_type"    />
         <result property="expenseType"    column="expense_type"    />
         <result property="totalAmount"    column="total_amount"    />
+        <result property="createById"    column="create_by_id"    />
     </resultMap>
 
     <sql id="selectTCostManagementVo">
         select f_id, f_no, create_by, create_time, update_by, update_time, remark, del_flag, f_status, dept_id, dept_name,
-               create_dept, create_dept_name, business_time, business_type, expense_type, total_amount
+               create_dept, create_dept_name, business_time, business_type, expense_type, total_amount, create_by_id
         from t_cost_management
     </sql>
 
@@ -50,6 +51,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
     <select id="selectManagementList" parameterType="TCostManagement" resultMap="TCostManagementResult">
         select
+        DISTINCT
             TCM.f_id,
             TCM.f_no,
             TCM.f_status,
@@ -76,12 +78,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             </if>
             <if test="createDept != null  and createDept != ''"> and TCM.create_dept = #{createDept}</if>
             <if test="createDeptName != null  and createDeptName != ''"> and TCM.create_dept_name like concat('%', #{createDeptName}, '%')</if>
+            <if test="createById != null  and createById != ''"> and TCM.create_by_id = #{createById}</if>
             <if test="createBy != null  and createBy != ''"> and TCM.create_by like concat('%', #{createBy}, '%')</if>
             <if test="itemExpenseId != null  and itemExpenseId != ''"> and TCMI.expense_id = #{itemExpenseId}</if>
-            <if test="itemDepartmentName != null  and itemDepartmentName != ''"> and TCMI.department_name like concat('%', #{itemDepartmentName}, '%')</if>
-            <if test="itemPersonnelName != null  and itemPersonnelName != ''"> and TCMI.personnel_name like concat('%', #{itemPersonnelName}, '%')</if>
+            <if test="itemDepartment != null  and itemDepartment != ''"> and TCMI.department_id = #{itemDepartment}</if>
+            <if test="itemPersonnel != null  and itemPersonnel != ''"> and TCMI.personnel_id = #{itemPersonnel}</if>
             <if test="itemMatterName != null  and itemMatterName != ''"> and TCMI.matter_name like concat('%', #{itemMatterName}, '%')</if>
+            <if test="remark != null  and remark != ''"> and TCM.remark like concat('%', #{remark}, '%')</if>
         </where>
+        order by TCM.create_time desc
     </select>
     
     <select id="selectTCostManagementById" parameterType="Long" resultMap="TCostManagementResult">
@@ -109,6 +114,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="expenseType != null">expense_type,</if>
             <if test="totalAmount != null">total_amount,</if>
             <if test="createDeptName != null">create_dept_name,</if>
+            <if test="createById != null">create_by_id,</if>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="fNo != null">#{fNo},</if>
@@ -127,6 +133,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="expenseType != null">#{expenseType},</if>
             <if test="totalAmount != null">#{totalAmount},</if>
             <if test="createDeptName != null">#{createDeptName},</if>
+            <if test="createById != null">#{createById},</if>
          </trim>
     </insert>
 
@@ -148,6 +155,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="businessType != null">business_type = #{businessType},</if>
             <if test="expenseType != null">expense_type = #{expenseType},</if>
             <if test="totalAmount != null">total_amount = #{totalAmount},</if>
+            <if test="createById != null">create_by_id = #{createById},</if>
         </trim>
         where f_id = #{fId}
     </update>

+ 1 - 0
ruoyi-warehouse/src/main/resources/mapper/warehouseBusiness/TEnclosureMapper.xml

@@ -103,6 +103,7 @@
             <if test="updateBy != null">update_by = #{updateBy},</if>
             <if test="updateTime != null">update_time = #{updateTime},</if>
             <if test="remark != null">remark = #{remark},</if>
+            <if test="fType != null">f_type = #{fType},</if>
         </trim>
         where f_id = #{fId}
     </update>