소스 검색

Merge branch 'master' of http://47.100.37.243:10080/wutt/manHourHousekeeper

ggooalice 2 년 전
부모
커밋
09f95bb4d6

+ 1 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/vo/ContractPageVO.java

@@ -16,5 +16,6 @@ import java.util.Map;
  */
 @Data
 public class ContractPageVO extends Contract{
+    private String msg;
     private List<ContractDocument> files;
 }

+ 4 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/mapper/ContractLogMapper.java

@@ -3,6 +3,9 @@ package com.management.platform.mapper;
 import com.management.platform.entity.ContractLog;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * <p>
  *  Mapper 接口
@@ -13,4 +16,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface ContractLogMapper extends BaseMapper<ContractLog> {
 
+    List<Map<String,Object>> selectMsg(Integer companyId);
 }

+ 65 - 12
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ContractServiceImpl.java

@@ -1,6 +1,8 @@
 package com.management.platform.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.management.platform.entity.*;
 import com.management.platform.entity.vo.ContractPageVO;
 import com.management.platform.entity.vo.SysRichFunction;
@@ -12,6 +14,7 @@ import com.management.platform.service.ExcelExportService;
 import com.management.platform.util.*;
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.lang3.StringUtils;
+import org.apache.ibatis.annotations.Select;
 import org.apache.poi.EncryptedDocumentException;
 import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
 import org.apache.poi.ss.usermodel.*;
@@ -63,6 +66,8 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract> i
     private SysFunctionMapper sysFunctionMapper;
     @Resource
     private ContractLogMapper contractLogMapper;
+    @Resource
+    private InformationMapper informationMapper;
     @Value(value = "${upload.path}")
     private String path;
 
@@ -139,6 +144,7 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract> i
                 }
             }
             ArrayList<ContractPageVO> contractPageVOS = new ArrayList<>();
+            List<Map<String, Object>> contractLogs = contractLogMapper.selectMsg(user.getCompanyId());
             for (Contract contract : contracts) {
                 ContractPageVO contractPageVO = new ContractPageVO();
                 List<ContractDocument> files = new ArrayList<>();
@@ -158,6 +164,19 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract> i
                 contractPageVO.setCheckerId(contract.getCheckerId());
                 contractPageVO.setRemarks(contract.getRemarks());
                 contractPageVO.setAmounts(contract.getAmounts());
+                if (contract.getStatus().equals(2)){
+                    for (Map<String, Object> contractLog : contractLogs) {
+                        if (contractLog.get("contractId").toString().equals(contract.getId().toString())){
+                            String msg = "";
+                            if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
+                                msg = "$userName=" + contractLog.get("operateCorpWxId") + "$" + contractLog.get("msg");
+                            }else {
+                                msg = contractLog.get("operateName") + "" + contractLog.get("msg");
+                            }
+                            contractPageVO.setMsg(msg);
+                        }
+                    }
+                }
                 for (ContractDocument contractDocument : fileList) {
                     if (contract.getId().equals(contractDocument.getContractId())){
                         files.add(contractDocument);
@@ -238,7 +257,11 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract> i
                 contract.setCreatorName(contract.getCreatorName());
             }
             item.add(contract.getCreatorName());
-            item.add(contract.getAmounts()==null?"":contract.getAmounts().toString() + "元");
+            BigDecimal bigDecimal = null;
+            if (contract.getAmounts() != null){
+                bigDecimal = new BigDecimal(contract.getAmounts().toString()).setScale(2, BigDecimal.ROUND_HALF_UP);
+            }
+            item.add(contract.getAmounts()==null?"":bigDecimal + "");
             item.add(contract.getTypeName());
             switch (contract.getStatus()){
                 case 0 :
@@ -359,6 +382,23 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract> i
             contract.setStatus(1);
             contract.setIndate(null);
             contractMapper.updateById(contract);
+            boolean flag = false;
+            UpdateWrapper<Contract> contractUpdateWrapper = new UpdateWrapper<>();
+            if (contract.getAmounts() == null){
+                contractUpdateWrapper.set("amounts",null);
+                flag = true;
+            }
+            if (contract.getStartDate() == null){
+                contractUpdateWrapper.set("start_date",null);
+                flag = true;
+            }
+            if (contract.getEndDate() == null){
+                contractUpdateWrapper.set("end_date",null);
+                flag = true;
+            }
+            if (flag){
+                contractMapper.update(null,contractUpdateWrapper.eq("id",contract.getId()));
+            }
             ContractLog contractLog = new ContractLog();
             contractLog.setCompanyId(user.getCompanyId());
             contractLog.setCreatorId(contract.getCreatorId());
@@ -607,6 +647,7 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract> i
             HttpRespMsg.setError(MessageUtils.message("access.operationError"));
             return HttpRespMsg;
         }
+        Contract target = contractMapper.selectById(id);
         Contract contract = new Contract();
         contract.setId(id);
         contract.setCheckerId(user.getId());
@@ -614,19 +655,32 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract> i
         contractMapper.updateById(contract);
         ContractLog contractLog = new ContractLog();
         contractLog.setCompanyId(user.getCompanyId());
-        contractLog.setCreatorId(contract.getCreatorId());
+        contractLog.setCreatorId(target.getCreatorId());
         contractLog.setContractId(contract.getId());
         contractLog.setOperateDate(LocalDateTime.now());
         contractLog.setOperatorId(user.getId());
         if (status.equals(0)){
             contractLog.setType(2);
             contractLog.setMsg("审核通过了合同。");
+            Information information = new Information();
+            information.setUserId(target.getCreatorId());
+            information.setType(6);
+            information.setMsg("您提交的合同[" + target.getName() + "]由[" + user.getName() + "]审核通过。");
+            informationMapper.insert(information);
         }else if (status.equals(2)){
             contractLog.setType(3);
             if (StringUtils.isBlank(msg)){
                 msg = "";
             }
             contractLog.setMsg("驳回了合同。原因:" + msg);
+            Information information = new Information();
+            information.setUserId(target.getCreatorId());
+            information.setType(7);
+            String item = contractLog.getMsg();
+            int i = item.indexOf("原因:");
+            String substring = item.substring(i, item.length());
+            information.setMsg("您提交的合同[" + target.getName() + "]被[" + user.getName() + "]驳回," + substring + "。");
+            informationMapper.insert(information);
         }
         contractLogMapper.insert(contractLog);
         return HttpRespMsg;
@@ -680,15 +734,6 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract> i
             msg.setError(MessageUtils.message("access.deleteError"));
             return msg;
         }
-        contractMapper.deleteById(id);
-        //删除附件
-        List<ContractDocument> contractFile = contractDocumentMapper.selectList(new QueryWrapper<ContractDocument>().eq("contract_id", id));
-        for (ContractDocument contractDocument : contractFile) {
-            contractDocument.setIsDeleted(1);
-        }
-        for (ContractDocument contractDocument : contractFile) {
-            contractDocumentMapper.updateById(contractDocument);
-        }
         Contract contract = contractMapper.selectById(id);
         ContractLog contractLog = new ContractLog();
         contractLog.setCompanyId(user.getCompanyId());
@@ -699,8 +744,16 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract> i
         contractLog.setType(5);
         contractLog.setMsg("删除了合同。");
         contractLogMapper.insert(contractLog);
+        contractMapper.deleteById(id);
+        //删除附件
+        List<ContractDocument> contractFile = contractDocumentMapper.selectList(new QueryWrapper<ContractDocument>().eq("contract_id", id));
+        for (ContractDocument contractDocument : contractFile) {
+            contractDocument.setIsDeleted(1);
+        }
+        for (ContractDocument contractDocument : contractFile) {
+            contractDocumentMapper.updateById(contractDocument);
+        }
         msg.msg = MessageUtils.message("other.deleteScu");
         return msg;
     }
-
 }

+ 1 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/resources/i18n/messages.properties

@@ -413,7 +413,7 @@ entry.department=所属部门
 entry.customer=客户
 entry.startData=开始日期
 entry.endDate=截止日期
-entry.contract=合同金额
+entry.contract=合同金额(元)
 entry.warrantyST=质保开始时间
 entry.warrantyET=质保截止时间
 entry.region=所属大区

+ 9 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ContractLogMapper.xml

@@ -19,4 +19,13 @@
         id, contract_id, operate_date, creator_id, operator_id, type, msg, company_id
     </sql>
 
+<!--    查询驳回原因-->
+    <select id="selectMsg" resultType="map">
+        select contract_log.id,contract_log.contract_id as contractId,contract_log.operate_date as operateDate, contract_log.msg as msg,user.name as operateName,user.corpwx_userid as operateCorpWxId
+        from contract_log
+        left join user
+        on contract_log.operator_id = user.id
+        where contract_log.company_id = #{companyId}
+		AND contract_log.id in(SELECT MAX(id) FROM contract_log WHERE type = 3 GROUP BY contract_id)
+    </select>
 </mapper>

BIN
fhKeeper/formulahousekeeper/management-platform/src/main/resources/upload/Contract Management Import Template.xlsx


BIN
fhKeeper/formulahousekeeper/management-platform/src/main/resources/upload/合同管理导入模板.xlsx


+ 4 - 1
fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/controller/OperationRecordController.java

@@ -42,7 +42,7 @@ public class OperationRecordController {
     private CompanyMapper companyMapper;
 
     @RequestMapping("/getList")
-    public HttpRespMsg getList(String companyName,String startDate,String endDate,Integer pageIndex ,Integer pageSize){
+    public HttpRespMsg getList(String companyName,String startDate,String endDate,Integer pageIndex ,Integer pageSize,String projectName){
         HttpRespMsg httpRespMsg=new HttpRespMsg();
         List<Company> companyList = companyMapper.selectList(null);
         QueryWrapper<OperationRecord> queryWrapper=new QueryWrapper<>();
@@ -59,6 +59,9 @@ public class OperationRecordController {
             queryWrapper.ge("operation_time",start);
             queryWrapper.le("operation_time",end);
         }
+        if(projectName!=null){
+            queryWrapper.like("project_name",projectName);
+        }
         queryWrapper.orderByDesc("operation_time");
         IPage<OperationRecord> operationRecordIPage = operationRecordMapper.selectPage(new Page<>(pageIndex, pageSize), queryWrapper);
         List<OperationRecord> list = operationRecordIPage.getRecords();