Jelajahi Sumber

嘉溢0802文档调整

sangwenwei 7 bulan lalu
induk
melakukan
ae27d1e380

+ 3 - 0
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/project/domain/JyProject.java

@@ -178,6 +178,9 @@ public class JyProject extends BaseEntity implements Serializable {
     private String createById;
     @Excel(name = "创建时间",width = 16,exportFormat = "yyyy-MM-dd")
     private Date createTime;
+    //项目类型
+    @TableField(exist = false)
+    private String projectType;
 
     /**
      * 合同参数

+ 1 - 0
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/project/mapper/xml/ProjectListMapper.xml

@@ -20,6 +20,7 @@
        (SELECT dv.label FROM `sys_dict_value` dv
        LEFT JOIN sys_dict_type dt on dt.id=dv.dict_type_id
        where dt.type='jy_contract_type_up' and a.contract_type_first=dv.value) as "contractTypeFirst",
+       a.contract_type_first as "contractTypeFirstValue",
        a.contract_amount_type,
        a.contract_amount,
        a.contract_opposite,

+ 5 - 2
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/reimbursement/mapper/xml/JyReimbursementInfoMapper.xml

@@ -56,7 +56,8 @@
 			a.process_definition_id,
 			d.ID_ AS task_id,
 			a.create_by_id as createById,
-			a.apply_type
+			a.apply_type,
+			wci.id as contractId
 		FROM
 			jy_reimbursement_info a
 
@@ -83,6 +84,7 @@
 			left join jy_project_record p4 on p4.id = b4.project_id and p4.del_flag = 0
 			left join sys_office so4 on so4.id = b4.dept_id and so4.del_flag = 0
 			left join sys_user us4 on us4.id = b4.user_id and us4.del_flag = 0
+			left join jy_work_contract_info wci on p4.contract_id = wci.id and wci.del_flag = 0
 
 			LEFT JOIN sys_user c ON a.create_by_id =  c.id
 			left join sys_user_manage_office sumo on sumo.office_id = c.office_id
@@ -450,7 +452,8 @@
 		a.number as "number",
 		a.receipt_number as "receiptNumber",
 		a.days,
-		a.content
+		a.content,
+		jwci.id as "contractId"
 		from jy_reimbursement_detail_info_project a
 		left join jy_reimbursement_info jri on jri.id = a.info_id
 		left join sys_user su on su.id = a.user_id

+ 94 - 0
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/reimbursement/service/JyReimbursementInfoService.java

@@ -20,6 +20,8 @@ import com.jeeplus.business.reimbursement.domain.*;
 import com.jeeplus.business.reimbursement.mapper.*;
 import com.jeeplus.business.reimbursement.service.dto.JyReimbursementDetailInfoProjectDTO;
 import com.jeeplus.business.reimbursement.service.dto.JyReimbursementInfoDTO;
+import com.jeeplus.business.workContractInfo.domain.JyWorkContractInfo;
+import com.jeeplus.business.workContractInfo.mapper.JyWorkContractInfoMapper;
 import com.jeeplus.common.TokenProvider;
 import com.jeeplus.core.query.QueryWrapperGenerator;
 import com.jeeplus.sys.domain.WorkAttachmentInfo;
@@ -68,6 +70,9 @@ public class JyReimbursementInfoService {
     @Resource
     private PaymentMapper paymentMapper;
 
+    @Resource
+    private JyWorkContractInfoMapper contractInfoMapper;
+
 
     /**
      * 列表查询
@@ -142,7 +147,54 @@ public class JyReimbursementInfoService {
                 if (StringUtils.isNotBlank(item.getProjectId())) {
                     String proName = selectProjectByIds(item.getProjectId());
                     item.setProjectName(proName);
+                    //项目类型
+                    String[] split = item.getProjectId().split(",");
+                    List<String> idList = Arrays.asList(split);
+                    List<JyProject> infos = jyProjectService.getListByIds(idList);
+                    String newType="";
+                    StringBuffer stringBuffer = new StringBuffer();
+                    for (JyProject info : infos) {
+                        if (StringUtils.isNotBlank(info.getContractId())){
+                            JyWorkContractInfo contractInfo = contractInfoMapper.findById(info.getContractId());
+                            if (ObjectUtils.isNotEmpty(contractInfo)){
+
+                                if (StringUtils.isNotBlank(contractInfo.getContractTypeFirst())){
+                                    newType = contractInfoMapper.findType(contractInfo.getContractTypeFirst());
+                                    if (stringBuffer.length() > 0) {
+                                        stringBuffer.append(","); // 如果不是第一个类型,则添加逗号
+                                    }
+                                    stringBuffer.append(newType);
+                                }
+                                if (StringUtils.isNotBlank(contractInfo.getContractType())){
+                                    if (!contractInfo.getContractType().contains(",")){
+                                        newType= contractInfoMapper.findType2(contractInfo.getContractType());
+                                        if (stringBuffer.length() > 0) {
+                                            stringBuffer.append(","); // 如果不是第一个类型,则添加逗号
+                                        }
+                                        stringBuffer.append(newType);
+                                    }else {
+                                        String[] split1 = contractInfo.getContractType().split(",");
+                                        for (String s : split1) {
+                                            String type= contractInfoMapper.findType2(s);
+                                            if (stringBuffer.length() > 0) {
+                                                stringBuffer.append(","); // 如果不是第一个类型,则添加逗号
+                                            }
+                                            stringBuffer.append(type);
+                                        }
+                                    }
+                                }
+
+                            }
+                        }
+                    }
+                    String da = stringBuffer.toString();
+                    if (da.contains(",")){
+                        newType=stringBuffer.substring(0,stringBuffer.lastIndexOf(","));
+                    }
+                    item.setProjectType(newType);
+
                 }
+
             }
         });
         return list;
@@ -625,6 +677,48 @@ public class JyReimbursementInfoService {
                 if (CollectionUtil.isNotEmpty(projectList)) {
                     projectName = projectList.stream().map(JyProject::getName).collect(Collectors.joining(","));
                     projectNumber = projectList.stream().map(JyProject::getNo).collect(Collectors.joining(","));
+                    //项目类型
+                    String newType="";
+                    StringBuffer stringBuffer = new StringBuffer();
+                    for (JyProject info : projectList) {
+                        if (StringUtils.isNotBlank(info.getContractId())){
+                            JyWorkContractInfo contractInfo = contractInfoMapper.findById(info.getContractId());
+                            if (ObjectUtils.isNotEmpty(contractInfo)){
+
+                                if (StringUtils.isNotBlank(contractInfo.getContractTypeFirst())){
+                                    newType = contractInfoMapper.findType(contractInfo.getContractTypeFirst());
+                                    if (stringBuffer.length() > 0) {
+                                        stringBuffer.append(","); // 如果不是第一个类型,则添加逗号
+                                    }
+                                    stringBuffer.append(newType);
+                                }
+                                if (StringUtils.isNotBlank(contractInfo.getContractType())){
+                                    if (!contractInfo.getContractType().contains(",")){
+                                        newType= contractInfoMapper.findType2(contractInfo.getContractType());
+                                        if (stringBuffer.length() > 0) {
+                                            stringBuffer.append(","); // 如果不是第一个类型,则添加逗号
+                                        }
+                                        stringBuffer.append(newType);
+                                    }else {
+                                        String[] split1 = contractInfo.getContractType().split(",");
+                                        for (String s : split1) {
+                                            String type= contractInfoMapper.findType2(s);
+                                            if (stringBuffer.length() > 0) {
+                                                stringBuffer.append(","); // 如果不是第一个类型,则添加逗号
+                                            }
+                                            stringBuffer.append(type);
+                                        }
+                                    }
+                                }
+
+                            }
+                        }
+                    }
+                    String da = stringBuffer.toString();
+                    if (da.contains(",")){
+                        newType=stringBuffer.substring(0,stringBuffer.lastIndexOf(","));
+                    }
+                    projectDetail.setProjectType(newType);
                 }
                 projectDetail.setProjectName(projectName);
                 projectDetail.setProjectNumber(projectNumber);

+ 10 - 0
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/reimbursement/service/dto/JyReimbursementDetailInfoProjectDTO.java

@@ -28,6 +28,16 @@ public class JyReimbursementDetailInfoProjectDTO extends BaseEntity {
     private String projectId;
 
     /**
+     * 项目类型
+     */
+    @Excel(name = "项目类型", width = 32, orderNum = "4")
+    private String projectType;
+
+    /**
+     * 合同id
+     */
+    private String contractId;
+    /**
      * 建设单位
      */
     @Excel(name = "建设单位", width = 16, orderNum = "5")

+ 10 - 0
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/reimbursement/service/dto/JyReimbursementInfoDTO.java

@@ -51,6 +51,16 @@ public class JyReimbursementInfoDTO extends BaseEntity {
     @Excel(name = "报销项目", width = 30)
     private String projectName;
 
+    /**
+     * 项目类型
+     */
+    @Excel(name = "项目类型", width = 30)
+    private String projectType;
+
+    /**
+     * 合同id
+     */
+    private String contractId;
 
     /**
      * 报告号

+ 1 - 0
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/workContractInfo/domain/JyWorkContractInfo.java

@@ -77,6 +77,7 @@ public class JyWorkContractInfo extends BaseEntity {
      * 合同类型(大类)
      */
     private String contractTypeFirst;
+    private String contractTypeFirstValue;
     @TableField(exist = false)
     private List<String> contractTypes;
 

+ 37 - 0
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/workContractInfo/service/JyWorkContractService.java

@@ -18,8 +18,10 @@ import com.jeeplus.core.query.QueryWrapperGenerator;
 import com.jeeplus.flowable.feign.IFlowableApi;
 import com.jeeplus.sys.domain.WorkAttachmentInfo;
 import com.jeeplus.sys.feign.IDictApi;
+import com.jeeplus.sys.feign.IPostApi;
 import com.jeeplus.sys.feign.IUserApi;
 import com.jeeplus.sys.feign.IWorkAttachmentApi;
+import com.jeeplus.sys.service.dto.FlowCopy;
 import com.jeeplus.sys.service.dto.PostDTO;
 import com.jeeplus.sys.service.dto.UserDTO;
 import com.jeeplus.sys.service.dto.WorkAttachmentInfoDTO;
@@ -193,6 +195,7 @@ public class JyWorkContractService {
         info.setUpdateById(userDTO.getId());
         info.setUpdateTime(new Date());
         info.setStatus("5");
+        info.setFiledType("5");
         info.setPrimaryLinkman(workContractInfoDto.getPrimaryLinkman()); //主委托人
         info.setContractAmount(workContractInfoDto.getContractAmount()); //金额
         info.setPaymentDescribe(workContractInfoDto.getPaymentDescribe()); //付款摘要
@@ -231,6 +234,40 @@ public class JyWorkContractService {
         if (CollectionUtil.isNotEmpty(list)) {
             saveFiles(list, userDTO, id);
         }
+        //抄送给财务,副总经理,总经理
+        ArrayList<UserDTO> userDTOS = new ArrayList<>();
+
+        PostDTO postDTOByName = SpringUtil.getBean(IPostApi.class).getPostDTOByName("财务");
+        PostDTO postDTOByName1 = SpringUtil.getBean(IPostApi.class).getPostDTOByName("财务管理员");
+        List<UserDTO> listByPostId = SpringUtil.getBean(IUserApi.class).findListByPostId(postDTOByName.getId());
+        List<UserDTO> listByPostId1 = SpringUtil.getBean(IUserApi.class).findListByPostId(postDTOByName1.getId());
+        userDTOS.addAll(listByPostId);
+        userDTOS.addAll(listByPostId1);
+        PostDTO fzjl = SpringUtil.getBean(IPostApi.class).getPostDTOByName("副总经理");
+        List<UserDTO> fzjlInfo = SpringUtil.getBean(IUserApi.class).findListByPostId(fzjl.getId());
+        PostDTO zjl = SpringUtil.getBean(IPostApi.class).getPostDTOByName("总经理");
+        List<UserDTO> zjlInfo = SpringUtil.getBean(IUserApi.class).findListByPostId(zjl.getId());
+        userDTOS.addAll(fzjlInfo);
+        userDTOS.addAll(zjlInfo);
+        Set<UserDTO> uniqueUsers = new HashSet<>(userDTOS);
+        List<UserDTO> uniqueUserList = new ArrayList<>(uniqueUsers);
+        for (UserDTO user : uniqueUserList) {
+            String id1 = UUID.randomUUID().toString().replace("-", "");
+            FlowCopy flowCopy = new FlowCopy();
+            flowCopy.setCreateById(userDTO.getId());
+            flowCopy.setCreateTime(new Date());
+            flowCopy.setUpdateById(userDTO.getId());
+            flowCopy.setUpdateTime(new Date());
+            String tenderName = userDTO.getName()+"创建了合同-"+workContractInfoDto.getContractName()+"编号为-"+contractNo;
+            flowCopy.setProcInsName(tenderName);
+            flowCopy.setProcInsId(id);
+            flowCopy.setProcDefId(id);
+            flowCopy.setUserId(user.getId());
+            flowCopy.setId(id1);
+            flowCopy.setDelFlag(0);
+            SpringUtil.getBean(IFlowableApi.class).add(flowCopy);
+        }
+
         return id;
     }
 

+ 14 - 0
jeeplus-modules/jeeplus-system/src/main/java/com/jeeplus/sys/controller/UserController.java

@@ -129,6 +129,20 @@ public class UserController {
     }
 
     /**
+     * 根据名称查询用户
+     *
+     * @param name
+     * @return
+     */
+    @ApiLog("查询用户")
+    @GetMapping("queryByName")
+    @ApiOperation(value = "查询用户")
+    public ResponseEntity queryByName(@RequestParam("name") String name) {
+        UserDTO userDTO = userService.getUserByName ( name );
+        return ResponseEntity.ok ( userDTO );
+    }
+
+    /**
      * 查询列表
      *
      * @param userDTO