From 12328d40a8abd295452c53ac70497290c31ceaaf Mon Sep 17 00:00:00 2001 From: zenglf <18502938215@163.com> Date: 星期三, 18 十月 2023 15:46:05 +0800 Subject: [PATCH] 操作证管理 明细更新 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/OperationCertificateDetail.java | 9 ++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/OperationCertificateServiceImpl.java | 155 +++++++++++++++++++++++++++++++++++---------------- 2 files changed, 113 insertions(+), 51 deletions(-) diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/OperationCertificateDetail.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/OperationCertificateDetail.java index 5146352..7b183c7 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/OperationCertificateDetail.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/OperationCertificateDetail.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableLogic; import lombok.Data; import com.fasterxml.jackson.annotation.JsonFormat; +import org.jeecg.common.aspect.annotation.Dict; import org.jeecg.common.system.base.entity.JeecgEntity; import org.springframework.format.annotation.DateTimeFormat; import org.jeecgframework.poi.excel.annotation.Excel; @@ -27,13 +28,18 @@ public class OperationCertificateDetail extends JeecgEntity implements Serializable { private static final long serialVersionUID = 1L; - + @Excel(name = "鍙戠敓鏃ユ湡", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "鍙戠敓鏃ユ湡") + private Date happenDate; /**璇佷功ID*/ @ApiModelProperty(value = "璇佷功ID") private String operationCertificateId; /**绫诲瀷*/ @Excel(name = "绫诲瀷", width = 15) @ApiModelProperty(value = "绫诲瀷") + @Dict(dicCode = "certificate_change_type") private String type; /**璁惧id*/ @Excel(name = "璁惧id", width = 15) @@ -42,6 +48,7 @@ /**鎵e垎椤�*/ @Excel(name = "鎵e垎椤�", width = 15) @ApiModelProperty(value = "鎵e垎椤�") + @Dict(dictTable = "mom_eam_base_deduction_item", dicText = "content", dicCode = "id") private String deductionItem; /**鎵e垎鍛ㄦ湡*/ @Excel(name = "鎵e垎鍛ㄦ湡", width = 15) diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/OperationCertificateServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/OperationCertificateServiceImpl.java index cea95d8..e4ba5ad 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/OperationCertificateServiceImpl.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/OperationCertificateServiceImpl.java @@ -1,14 +1,18 @@ package org.jeecg.modules.eam.service.impl; +import org.jeecg.common.constant.CommonConstant; +import org.jeecg.modules.eam.entity.DeductionItem; import org.jeecg.modules.eam.entity.OperationCertificate; import org.jeecg.modules.eam.entity.OperationCertificateDetail; import org.jeecg.modules.eam.mapper.OperationCertificateDetailMapper; import org.jeecg.modules.eam.mapper.OperationCertificateMapper; +import org.jeecg.modules.eam.service.IDeductionItemService; import org.jeecg.modules.eam.service.IOperationCertificateService; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; + import java.io.Serializable; import java.util.List; import java.util.Collection; @@ -16,62 +20,113 @@ /** * @Description: 鎿嶄綔璇佷功绠$悊 * @Author: jeecg-boot - * @Date: 2023-10-17 + * @Date: 2023-10-17 * @Version: V1.0 */ @Service public class OperationCertificateServiceImpl extends ServiceImpl<OperationCertificateMapper, OperationCertificate> implements IOperationCertificateService { - @Autowired - private OperationCertificateMapper operationCertificateMapper; - @Autowired - private OperationCertificateDetailMapper operationCertificateDetailMapper; - - @Override - @Transactional(rollbackFor = Exception.class) - public void saveMain(OperationCertificate operationCertificate, List<OperationCertificateDetail> operationCertificateDetailList) { - operationCertificateMapper.insert(operationCertificate); - if(operationCertificateDetailList!=null && operationCertificateDetailList.size()>0) { - for(OperationCertificateDetail entity:operationCertificateDetailList) { - //澶栭敭璁剧疆 - entity.setOperationCertificateId(operationCertificate.getId()); - operationCertificateDetailMapper.insert(entity); - } - } - } + @Autowired + private OperationCertificateMapper operationCertificateMapper; + @Autowired + private OperationCertificateDetailMapper operationCertificateDetailMapper; + @Autowired + private IDeductionItemService deductionItemService; - @Override - @Transactional(rollbackFor = Exception.class) - public void updateMain(OperationCertificate operationCertificate,List<OperationCertificateDetail> operationCertificateDetailList) { - operationCertificateMapper.updateById(operationCertificate); - - //1.鍏堝垹闄ゅ瓙琛ㄦ暟鎹� - operationCertificateDetailMapper.deleteByMainId(operationCertificate.getId()); - - //2.瀛愯〃鏁版嵁閲嶆柊鎻掑叆 - if(operationCertificateDetailList!=null && operationCertificateDetailList.size()>0) { - for(OperationCertificateDetail entity:operationCertificateDetailList) { - //澶栭敭璁剧疆 - entity.setOperationCertificateId(operationCertificate.getId()); - operationCertificateDetailMapper.insert(entity); - } - } - } + @Override + @Transactional(rollbackFor = Exception.class) + public void saveMain(OperationCertificate operationCertificate, List<OperationCertificateDetail> operationCertificateDetailList) { +// operationCertificateMapper.insert(operationCertificate); +// if (operationCertificateDetailList != null && operationCertificateDetailList.size() > 0) { +// for (OperationCertificateDetail entity : operationCertificateDetailList) { +// //澶栭敭璁剧疆 +// entity.setOperationCertificateId(operationCertificate.getId()); +// operationCertificateDetailMapper.insert(entity); +// } +// } + operationCertificateMapper.insert(operationCertificate); + String equipmentIds = operationCertificate.getEquipmentIds(); + Integer currentCycleScore = operationCertificate.getCurrentCycleScore(); + for (OperationCertificateDetail entity : operationCertificateDetailList) { + if ("addEquipment".equals(entity.getType())) { + equipmentIds = equipmentIds + "," + entity.getEquipmentId(); + } else if ("deduction".equals(entity.getType())) { + String deductionItemId = entity.getDeductionItem(); + Integer deductionScore = deductionItemService.getById(deductionItemId).getDeductionScore(); + currentCycleScore = currentCycleScore - deductionScore; + } + //澶栭敭璁剧疆 + entity.setOperationCertificateId(operationCertificate.getId()); + operationCertificateDetailMapper.insert(entity); - @Override - @Transactional(rollbackFor = Exception.class) - public void delMain(String id) { - operationCertificateDetailMapper.deleteByMainId(id); - operationCertificateMapper.deleteById(id); - } + } + operationCertificate.setEquipmentIds(equipmentIds); + if(currentCycleScore<=0){ + currentCycleScore=0; + // 褰撳垎鏁颁负0鏃�,璁剧疆鎿嶄綔璇佺殑鐘舵�佷负绂佺敤 + operationCertificate.setStatus(CommonConstant.STATUS_0); + } + operationCertificate.setCurrentCycleScore(currentCycleScore); + operationCertificateMapper.updateById(operationCertificate); - @Override - @Transactional(rollbackFor = Exception.class) - public void delBatchMain(Collection<? extends Serializable> idList) { - for(Serializable id:idList) { - operationCertificateDetailMapper.deleteByMainId(id.toString()); - operationCertificateMapper.deleteById(id); - } - } - + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void updateMain(OperationCertificate operationCertificate, List<OperationCertificateDetail> operationCertificateDetailList) { +// operationCertificateMapper.updateById(operationCertificate); + + //1.鍏堝垹闄ゅ瓙琛ㄦ暟鎹� +// operationCertificateDetailMapper.deleteByMainId(operationCertificate.getId()); + +// //2.瀛愯〃鏁版嵁閲嶆柊鎻掑叆 +// if(operationCertificateDetailList!=null && operationCertificateDetailList.size()>0) { +// for(OperationCertificateDetail entity:operationCertificateDetailList) { +// //澶栭敭璁剧疆 +// entity.setOperationCertificateId(operationCertificate.getId()); +// operationCertificateDetailMapper.insert(entity); +// } +// } + // 鏂板璁惧鏇存柊涓昏〃鐨別quipmentIds瀛楁锛屾柊澧炴墸鍒嗗垯鏍规嵁鎵e垎椤规洿鏂板綋鍓嶅垎鏁帮紝鍒嗘暟涓�0鏃跺�欑鐢ㄦ搷浣滆瘉 + String equipmentIds = operationCertificate.getEquipmentIds(); + Integer currentCycleScore = operationCertificate.getCurrentCycleScore(); + for (OperationCertificateDetail entity : operationCertificateDetailList) { + if ("addEquipment".equals(entity.getType())) { + equipmentIds = equipmentIds + "," + entity.getEquipmentId(); + } else if ("deduction".equals(entity.getType())) { + String deductionItemId = entity.getDeductionItem(); + Integer deductionScore = deductionItemService.getById(deductionItemId).getDeductionScore(); + currentCycleScore = currentCycleScore - deductionScore; + } + //澶栭敭璁剧疆 + entity.setOperationCertificateId(operationCertificate.getId()); + operationCertificateDetailMapper.insert(entity); + + } + operationCertificate.setEquipmentIds(equipmentIds); + if(currentCycleScore<=0){ + currentCycleScore=0; + // 褰撳垎鏁颁负0鏃�,璁剧疆鎿嶄綔璇佺殑鐘舵�佷负绂佺敤 + operationCertificate.setStatus(CommonConstant.STATUS_0); + } + operationCertificate.setCurrentCycleScore(currentCycleScore); + operationCertificateMapper.updateById(operationCertificate); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delMain(String id) { + operationCertificateDetailMapper.deleteByMainId(id); + operationCertificateMapper.deleteById(id); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delBatchMain(Collection<? extends Serializable> idList) { + for (Serializable id : idList) { + operationCertificateDetailMapper.deleteByMainId(id.toString()); + operationCertificateMapper.deleteById(id); + } + } + } -- Gitblit v1.9.3