diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/domain/LeaseApplyDetails.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/domain/LeaseApplyDetails.java index abd73b1d..6cc26f3d 100644 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/domain/LeaseApplyDetails.java +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/domain/LeaseApplyDetails.java @@ -46,6 +46,11 @@ public class LeaseApplyDetails implements Serializable { */ @ApiModelProperty(value = "类型名称") private String typeName; + /** + * 类型名称 + */ + @ApiModelProperty(value = "领料出库状态") + private String statusName; /** * 规格型号 diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/mapper/LeaseOutDetailsMapper.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/mapper/LeaseOutDetailsMapper.java index 6dceec1d..a509fdaa 100644 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/mapper/LeaseOutDetailsMapper.java +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/mapper/LeaseOutDetailsMapper.java @@ -103,4 +103,8 @@ public interface LeaseOutDetailsMapper { int getmaChineByCt(LeaseOutDetails record); void updateMaTypeNum(LeaseApplyDetails leaseApplyDetails); + + LeaseApplyDetails getLeaseApplyDetails(@Param("record") LeaseOutDetails record); + + int updateLeaseApplyDetails(@Param("record") LeaseOutDetails record); } diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/service/impl/LeaseOutDetailsServiceImpl.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/service/impl/LeaseOutDetailsServiceImpl.java index 9ee94be6..950db6b3 100644 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/service/impl/LeaseOutDetailsServiceImpl.java +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/service/impl/LeaseOutDetailsServiceImpl.java @@ -202,30 +202,34 @@ public class LeaseOutDetailsServiceImpl implements LeaseOutDetailsService { int res = 0; // 首先更新领料任务详情表的领料数及状态(lease_apply_details) res = leaseOutDetailsMapper.updateLeaseApplyDetailsOutNum(record); - if (res > 0) { - // 插入领料出库明细表(lease_out_details) - res = leaseOutDetailsMapper.insertSelective(record); - if (res > 0) { - if (record.getManageType() == 2) { - // 成套机具减少 (ma_type 设备规格表)的库存数量 - res = leaseOutDetailsMapper.updateMaTypeStockNum(record); - // 成套机具减少 (ma_type 设备规格表)配件的库存数量 - List typeIds = leaseOutDetailsMapper.getMaTypeDetails(record); - typeIds.removeIf(item -> item == null); - for (TmTask typeId : typeIds) { - MachinePart machinePart = leaseOutDetailsMapper.getMachineParts(typeId); - machinePart.setPartNum((typeId.getPartNum() * record.getOutNum())); - typeId.setNum(machinePart.getNum() - machinePart.getPartNum()); - res = leaseOutDetailsMapper.updateMaTypeStockNumCt(typeId); - } - } else { - // 普通机具减少 (ma_type 设备规格表)的库存数量 - res = leaseOutDetailsMapper.updateMaTypeStockNum(record); - } - // 更新 (ma_machine 设备表)的状态 - leaseOutDetailsMapper.updateMaMachineStatus(record); - } + LeaseApplyDetails leaseApplyDetails = leaseOutDetailsMapper.getLeaseApplyDetails(record); + if (leaseApplyDetails.getPreNum().equals(leaseApplyDetails.getAlNum()) || leaseApplyDetails.getAuditNum().equals(leaseApplyDetails.getAlNum())){ + leaseOutDetailsMapper.updateLeaseApplyDetails(record); } + if (res > 0) { + // 插入领料出库明细表(lease_out_details) + res = leaseOutDetailsMapper.insertSelective(record); + if (res > 0) { + if (record.getManageType() == 2) { + // 成套机具减少 (ma_type 设备规格表)的库存数量 + res = leaseOutDetailsMapper.updateMaTypeStockNum(record); + // 成套机具减少 (ma_type 设备规格表)配件的库存数量 + List typeIds = leaseOutDetailsMapper.getMaTypeDetails(record); + typeIds.removeIf(item -> item == null); + for (TmTask typeId : typeIds) { + MachinePart machinePart = leaseOutDetailsMapper.getMachineParts(typeId); + machinePart.setPartNum((typeId.getPartNum() * record.getOutNum())); + typeId.setNum(machinePart.getNum() - machinePart.getPartNum()); + res = leaseOutDetailsMapper.updateMaTypeStockNumCt(typeId); + } + } else { + // 普通机具减少 (ma_type 设备规格表)的库存数量 + res = leaseOutDetailsMapper.updateMaTypeStockNum(record); + } + // 更新 (ma_machine 设备表)的状态 + leaseOutDetailsMapper.updateMaMachineStatus(record); + } + } return res; } diff --git a/sgzb-modules/sgzb-base/src/main/resources/mapper/app/LeaseOutDetailsMapper.xml b/sgzb-modules/sgzb-base/src/main/resources/mapper/app/LeaseOutDetailsMapper.xml index fd1ad9dd..ad3a9044 100644 --- a/sgzb-modules/sgzb-base/src/main/resources/mapper/app/LeaseOutDetailsMapper.xml +++ b/sgzb-modules/sgzb-base/src/main/resources/mapper/app/LeaseOutDetailsMapper.xml @@ -186,7 +186,7 @@ update_by = #{record.updateBy}, update_time = now(), - status = '2' + status = '1' WHERE parennt_id = #{record.parentId} and type_id = #{record.typeId} @@ -315,6 +315,14 @@ WHERE type_id = #{typeId} + + UPDATE + lease_apply_details + SET + status = '2' + WHERE + parennt_id = #{record.parentId} and type_id = #{record.typeId} + insert into tm_task_agreement @@ -431,4 +439,15 @@ + \ No newline at end of file diff --git a/sgzb-modules/sgzb-base/src/main/resources/mapper/app/TmTaskMapper.xml b/sgzb-modules/sgzb-base/src/main/resources/mapper/app/TmTaskMapper.xml index af5e2891..e74bf1f4 100644 --- a/sgzb-modules/sgzb-base/src/main/resources/mapper/app/TmTaskMapper.xml +++ b/sgzb-modules/sgzb-base/src/main/resources/mapper/app/TmTaskMapper.xml @@ -606,16 +606,33 @@