diff --git a/db/update.sql b/db/update.sql new file mode 100644 index 0000000..39ec371 --- /dev/null +++ b/db/update.sql @@ -0,0 +1,15 @@ +DROP TABLE IF EXISTS `project_manager`; +CREATE TABLE `project_manager` ( + `id` int NOT NULL AUTO_INCREMENT COMMENT '序号', + `project_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '项目名称', + `manager` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '项目联系人(支持多个)', + `phone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '联系方式', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='项目信息负责人'; + + +alter table huzhou_contractinfo add flag varchar(128) null comment '标识符:区分计划和实际'; + +INSERT INTO `guoyan_huzhou`.`huzhou_changefieldmanage`(`isshow`, `id`, `field_name`, `isChange`, `isuploadFile`, `isapproval`, `create_user`, `create_date`, `edit_user`, `edit_date`, `field_value`) VALUES ('1', '21', '项目负责人', '1', '0', '0', NULL, NULL, '1', NULL, 'manager'); + +INSERT INTO `guoyan_huzhou`.`huzhou_changefieldmanage`(`isshow`, `id`, `field_name`, `isChange`, `isuploadFile`, `isapproval`, `create_user`, `create_date`, `edit_user`, `edit_date`, `field_value`) VALUES ('1', '22', '项目负责人联系方式', '1', '0', '0', NULL, NULL, '1', NULL, 'managerPhone'); diff --git a/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPlaninfofileServiceImpl.java b/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPlaninfofileServiceImpl.java index 17fe9ba..f790593 100644 --- a/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPlaninfofileServiceImpl.java +++ b/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPlaninfofileServiceImpl.java @@ -66,6 +66,8 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl childPlanList = planinfoService.queryChildPlan(planinfo.getProjectId(), planinfo.getTaskLevel(),"0,1"); if(childPlanList.size()>0){ - throw new EasyException("存在未完成(审批中)的子项。当前阶段不允许提交文件"); + throw new EasyException("存在未完成(审批中)的子项。当前阶段不允许提交文件"); } planinfoService.saveOrModifyPlanUploadFile(files,planinfoid,"1","1"); String taskName = planinfo.getTaskName(); taskName=StrUtil.trim(taskName); String projectId = planinfoService.getById(planinfoid).getProjectId(); + // 校验 + hasRealContractInfo(taskName, projectId); + HuzhouProjectinfo huzhouProjectinfo = projectinfoService.getById(projectId); String superLeader = ""; String adminDivision=""; @@ -392,6 +397,30 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl planQueryWrapper = new LambdaQueryWrapper<>(); + planQueryWrapper.eq(HuzhouContractinfo::getProjectId, projectId); + planQueryWrapper.eq(HuzhouContractinfo::getTaskName, taskName); + planQueryWrapper.eq(HuzhouContractinfo::getFlag,"计划"); + List planContractInfoList = contractinfoService.list(planQueryWrapper); + if (planContractInfoList.size() > 0) { + LambdaQueryWrapper realQueryWrapper = new LambdaQueryWrapper<>(); + realQueryWrapper.eq(HuzhouContractinfo::getProjectId, projectId); + realQueryWrapper.eq(HuzhouContractinfo::getTaskName, taskName); + realQueryWrapper.eq(HuzhouContractinfo::getFlag, "实际"); + List realContractInfoList = contractinfoService.list(realQueryWrapper); + // 有合同信息(计划) 但无合同信息(实际)则报错! + if (realContractInfoList.size() == 0) { + throw new EasyException("存在合同信息(计划)!请根据合同信息(计划)信息填写实际支付金额"); + } + } + } + @Override public void approvePlanFile(MultipartFile[] files, String taskId, String flag, String planinfoid, String comment, String modifyNum,MultipartFile[] adviceFiles, @@ -485,6 +514,8 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl