diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/PaymentsController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/PaymentsController.java index df91064..74a1e83 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/PaymentsController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/PaymentsController.java @@ -9,6 +9,7 @@ import com.casic.missiles.core.util.DateUtil; import com.casic.missiles.core.util.ToolUtil; import com.casic.missiles.modular.system.model.Payments; +import com.casic.missiles.modular.system.service.IContractService; import com.casic.missiles.modular.system.service.IPaymentsService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -33,6 +34,8 @@ @Autowired private IPaymentsService paymentsService; + @Autowired + private IContractService contractService; /** * 获取列表 @@ -70,7 +73,7 @@ @BussinessLog(value = "新增付款流程信息") public Object add(Payments payments, String paytimeFmt) { if (paymentsService.validate(payments.getProId(), - payments.getMoney(),payments.getReorder())) { + payments.getMoney(), payments.getReorder())) { return ResponseData.error("付款金额已超过合同额!"); } EntityWrapper entityWrapper = new EntityWrapper<>(); @@ -81,6 +84,8 @@ payments.setPaytime(ToolUtil.isNotEmpty(paytimeFmt) ? DateUtil.parseTime(paytimeFmt) : null); paymentsService.insert(payments); + //更新合同执行状态 + contractService.updateContractStatus(payments.getProId()); return ResponseData.success(); } @@ -111,12 +116,14 @@ @ResponseBody @BussinessLog(value = "编辑报销流程信息") public Object update(Payments payments, String paytimeFmt) { - if (paymentsService.validate(payments.getProId(), payments.getMoney(),payments.getReorder())) { + if (paymentsService.validate(payments.getProId(), payments.getMoney(), payments.getReorder())) { return ResponseData.error("付款金额已超过合同额!"); } payments.setPaytime(ToolUtil.isNotEmpty(paytimeFmt) ? DateUtil.parseTime(paytimeFmt) : null); paymentsService.updateById(payments); + //更新合同执行状态 + contractService.updateContractStatus(payments.getProId()); return ResponseData.success(); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/PaymentsController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/PaymentsController.java index df91064..74a1e83 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/PaymentsController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/PaymentsController.java @@ -9,6 +9,7 @@ import com.casic.missiles.core.util.DateUtil; import com.casic.missiles.core.util.ToolUtil; import com.casic.missiles.modular.system.model.Payments; +import com.casic.missiles.modular.system.service.IContractService; import com.casic.missiles.modular.system.service.IPaymentsService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -33,6 +34,8 @@ @Autowired private IPaymentsService paymentsService; + @Autowired + private IContractService contractService; /** * 获取列表 @@ -70,7 +73,7 @@ @BussinessLog(value = "新增付款流程信息") public Object add(Payments payments, String paytimeFmt) { if (paymentsService.validate(payments.getProId(), - payments.getMoney(),payments.getReorder())) { + payments.getMoney(), payments.getReorder())) { return ResponseData.error("付款金额已超过合同额!"); } EntityWrapper entityWrapper = new EntityWrapper<>(); @@ -81,6 +84,8 @@ payments.setPaytime(ToolUtil.isNotEmpty(paytimeFmt) ? DateUtil.parseTime(paytimeFmt) : null); paymentsService.insert(payments); + //更新合同执行状态 + contractService.updateContractStatus(payments.getProId()); return ResponseData.success(); } @@ -111,12 +116,14 @@ @ResponseBody @BussinessLog(value = "编辑报销流程信息") public Object update(Payments payments, String paytimeFmt) { - if (paymentsService.validate(payments.getProId(), payments.getMoney(),payments.getReorder())) { + if (paymentsService.validate(payments.getProId(), payments.getMoney(), payments.getReorder())) { return ResponseData.error("付款金额已超过合同额!"); } payments.setPaytime(ToolUtil.isNotEmpty(paytimeFmt) ? DateUtil.parseTime(paytimeFmt) : null); paymentsService.updateById(payments); + //更新合同执行状态 + contractService.updateContractStatus(payments.getProId()); return ResponseData.success(); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/ProductDeviceTypeMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/ProductDeviceTypeMapper.xml index 3ad44f7..e0dd825 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/ProductDeviceTypeMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/ProductDeviceTypeMapper.xml @@ -53,7 +53,7 @@ - SELECT su.id as id,su.`name` as name FROM sys_user su + SELECT DISTINCT(su.id) as id,su.`name` as name FROM sys_user su LEFT JOIN sys_user_role_relation srr ON su.`id`= srr.`USERID` LEFT JOIN sys_role sr ON srr.`ROLEID`=sr.`id` diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/model/Batch.java b/casic-device/src/main/java/com/casic/missiles/modular/system/model/Batch.java index 63ba43e..13af94c 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/model/Batch.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/model/Batch.java @@ -5,7 +5,10 @@ import java.util.Date; import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; + import java.io.Serializable; /** @@ -21,6 +24,7 @@ private static final long serialVersionUID = 1L; + @TableId(value="id" ,type = IdType.AUTO) private Long id; @TableField("batch_number") private Long batchNumber; diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/PaymentsController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/PaymentsController.java index df91064..74a1e83 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/PaymentsController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/PaymentsController.java @@ -9,6 +9,7 @@ import com.casic.missiles.core.util.DateUtil; import com.casic.missiles.core.util.ToolUtil; import com.casic.missiles.modular.system.model.Payments; +import com.casic.missiles.modular.system.service.IContractService; import com.casic.missiles.modular.system.service.IPaymentsService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -33,6 +34,8 @@ @Autowired private IPaymentsService paymentsService; + @Autowired + private IContractService contractService; /** * 获取列表 @@ -70,7 +73,7 @@ @BussinessLog(value = "新增付款流程信息") public Object add(Payments payments, String paytimeFmt) { if (paymentsService.validate(payments.getProId(), - payments.getMoney(),payments.getReorder())) { + payments.getMoney(), payments.getReorder())) { return ResponseData.error("付款金额已超过合同额!"); } EntityWrapper entityWrapper = new EntityWrapper<>(); @@ -81,6 +84,8 @@ payments.setPaytime(ToolUtil.isNotEmpty(paytimeFmt) ? DateUtil.parseTime(paytimeFmt) : null); paymentsService.insert(payments); + //更新合同执行状态 + contractService.updateContractStatus(payments.getProId()); return ResponseData.success(); } @@ -111,12 +116,14 @@ @ResponseBody @BussinessLog(value = "编辑报销流程信息") public Object update(Payments payments, String paytimeFmt) { - if (paymentsService.validate(payments.getProId(), payments.getMoney(),payments.getReorder())) { + if (paymentsService.validate(payments.getProId(), payments.getMoney(), payments.getReorder())) { return ResponseData.error("付款金额已超过合同额!"); } payments.setPaytime(ToolUtil.isNotEmpty(paytimeFmt) ? DateUtil.parseTime(paytimeFmt) : null); paymentsService.updateById(payments); + //更新合同执行状态 + contractService.updateContractStatus(payments.getProId()); return ResponseData.success(); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/ProductDeviceTypeMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/ProductDeviceTypeMapper.xml index 3ad44f7..e0dd825 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/ProductDeviceTypeMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/ProductDeviceTypeMapper.xml @@ -53,7 +53,7 @@ - SELECT su.id as id,su.`name` as name FROM sys_user su + SELECT DISTINCT(su.id) as id,su.`name` as name FROM sys_user su LEFT JOIN sys_user_role_relation srr ON su.`id`= srr.`USERID` LEFT JOIN sys_role sr ON srr.`ROLEID`=sr.`id` diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/model/Batch.java b/casic-device/src/main/java/com/casic/missiles/modular/system/model/Batch.java index 63ba43e..13af94c 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/model/Batch.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/model/Batch.java @@ -5,7 +5,10 @@ import java.util.Date; import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; + import java.io.Serializable; /** @@ -21,6 +24,7 @@ private static final long serialVersionUID = 1L; + @TableId(value="id" ,type = IdType.AUTO) private Long id; @TableField("batch_number") private Long batchNumber; diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/model/Device.java b/casic-device/src/main/java/com/casic/missiles/modular/system/model/Device.java index 6facc6d..23f3399 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/model/Device.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/model/Device.java @@ -5,7 +5,10 @@ import java.util.Date; import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; + import java.io.Serializable; /** @@ -21,6 +24,7 @@ private static final long serialVersionUID = 1L; + @TableId(value="id" ,type = IdType.AUTO) private Long id; @TableField("batch_id") private Long batchId; diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/ContractServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/ContractServiceImpl.java index d300e20..fea26f5 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/ContractServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/ContractServiceImpl.java @@ -153,9 +153,13 @@ public void updateContractStatus(Long conId) { Contract contract = this.selectById(conId); if (null != contract) { - if (this.reimburses(conId).equals(contract.getContractAmount())) { + if (this.reimburses(conId).equals(contract.getContractAmount()) + && this.payments(conId).equals(contract.getContractAmount())) { contract.setIsover("1"); this.updateById(contract); + } else { + contract.setIsover("0"); + this.updateById(contract); } } } @@ -173,4 +177,16 @@ return b1.stripTrailingZeros().toString(); } + public String payments(Long conId) { + EntityWrapper entityWrapper = new EntityWrapper<>(); + entityWrapper.eq("pro_id", conId); + List paymentsList = paymentsService.selectList(entityWrapper); + BigDecimal b1 = new BigDecimal(0); + for (Payments payments : paymentsList) { + if (ToolUtil.isNotEmpty(payments.getMoney())) { + b1 = b1.add(new BigDecimal(payments.getMoney())); + } + } + return b1.stripTrailingZeros().toString(); + } }