doc/20260113-product_model.sql
@@ -4,3 +4,11 @@ alter table process_route add process_route_code varchar(255) null comment 'å·¥èºè·¯çº¿ç¼ç '; alter table procurement_record_storage add product_model_id bigint null comment '产åè§æ ¼id'; alter table procurement_record_out add product_model_id bigint null comment '产åè§æ ¼id'; alter table quality_inspect add product_model_id bigint null comment '产åè§æ ¼id'; doc/20260114_add_dimission_reason_and_remark_to_staff_join_leave_record.sql
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,3 @@ alter table staff_join_leave_record add dimission_reason varchar(255) null, add dimission_remark text null; src/main/java/com/ruoyi/basic/dto/ProductModelDto.java
@@ -1,8 +1,12 @@ package com.ruoyi.basic.dto; import com.ruoyi.basic.pojo.ProductModel; import com.ruoyi.production.dto.ProductStructureDto; import lombok.Data; import java.util.List; @Data public class ProductModelDto extends ProductModel { private List<ProductStructureDto> productStructureList; } src/main/java/com/ruoyi/common/enums/StaffJoinLeaveRecordDimissionReason.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,28 @@ package com.ruoyi.common.enums; import lombok.AllArgsConstructor; /** * éä»¶è®°å½ç±»åæä¸¾ * */ @AllArgsConstructor public enum StaffJoinLeaveRecordDimissionReason { StaffJoinLeaveRecordDimissionReasonSalary("salary","èªèµå¾ é"), StaffJoinLeaveRecordDimissionReasonCareerDevelopment("career_development","èä¸åå±"), StaffJoinLeaveRecordDimissionReasonWorkEnvironment("work_environment","å·¥ä½ç¯å¢"), StaffJoinLeaveRecordDimissionReasonPersonalReason("personal_reason","个人åå "), StaffJoinLeaveRecordDimissionReasonOther("other","å ¶ä»åå "); private final String code; private final String info; public String getCode() { return code; } public String getInfo() { return info; } } src/main/java/com/ruoyi/procurementrecord/dto/Details.java
@@ -10,10 +10,11 @@ */ @Data public class Details { private Integer id; // 产åid private Integer id; // å°è´¦äº§åid private BigDecimal inboundQuantity; // å ¥åºæ°é private BigDecimal warnNum; // é¢è¦æ°éï¼éè´å ¥åºææï¼ //åä»· private BigDecimal unitPrice; private BigDecimal totalPrice; private Long productModelId; // åºç¡äº§åid } src/main/java/com/ruoyi/procurementrecord/dto/ProcurementRecordOutAdd.java
@@ -24,4 +24,6 @@ */ private Integer type; private Long productModelId;// åºç¡äº§åID } src/main/java/com/ruoyi/procurementrecord/mapper/ProcurementRecordMapper.java
@@ -9,6 +9,7 @@ import com.ruoyi.procurementrecord.pojo.ProcurementRecordStorage; import org.apache.ibatis.annotations.Param; import java.math.BigDecimal; import java.util.List; /** @@ -41,4 +42,6 @@ IPage<ProcurementPageDtoCopy> listPageCopyByProduction(Page page, @Param("req") ProcurementPageDto procurementDto); IPage<ProcurementPageDtoCopy> listPagePRS(Page page, @Param("req") ProcurementPageDto procurementDto); BigDecimal getSumQuantity(@Param("productModelId") Long productModelId); } src/main/java/com/ruoyi/procurementrecord/mapper/ProcurementRecordOutMapper.java
@@ -7,6 +7,7 @@ import com.ruoyi.procurementrecord.pojo.ProcurementRecordOut; import org.apache.ibatis.annotations.Param; import java.math.BigDecimal; import java.util.List; /** @@ -26,4 +27,6 @@ IPage<ProcurementRecordOutPageDto> listPageByProduct(Page page,@Param("req") ProcurementRecordOutPageDto procurementDto); IPage<ProcurementRecordOutPageDto> listPageByCustom(Page page,@Param("req") ProcurementRecordOutPageDto procurementDto); BigDecimal getSumQuantity(@Param("productModelId") Long productModelId); } src/main/java/com/ruoyi/procurementrecord/pojo/ProcurementRecordOut.java
@@ -1,8 +1,6 @@ package com.ruoyi.procurementrecord.pojo; import com.baomidou.mybatisplus.annotation.*; import com.ruoyi.framework.aspectj.lang.annotation.Excel; import io.swagger.annotations.ApiModelProperty; import lombok.Builder; import lombok.Data; @@ -89,4 +87,9 @@ @TableField(fill = FieldFill.INSERT) private Long tenantId; /** * 产åID */ private Long productModelId; } src/main/java/com/ruoyi/procurementrecord/pojo/ProcurementRecordStorage.java
@@ -95,4 +95,9 @@ */ @TableField(fill = FieldFill.INSERT) private Long tenantId; /** * 产åID */ private Long productModelId; } src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordOutServiceImpl.java
@@ -10,7 +10,6 @@ import com.ruoyi.procurementrecord.dto.ProcurementUpdateDto; import com.ruoyi.procurementrecord.mapper.ProcurementRecordOutMapper; import com.ruoyi.procurementrecord.pojo.ProcurementRecordOut; import com.ruoyi.procurementrecord.pojo.ProcurementRecordStorage; import com.ruoyi.procurementrecord.service.ProcurementRecordOutService; import com.ruoyi.project.system.domain.SysUser; import com.ruoyi.project.system.mapper.SysUserMapper; @@ -22,7 +21,6 @@ import javax.servlet.http.HttpServletResponse; import java.math.BigDecimal; import java.text.DateFormat; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; @@ -80,7 +78,8 @@ .createUser(Long.valueOf(procurementRecordOutAdd.getUserId())) .createBy(sysUser.getNickName()) .updateUser(Long.valueOf(procurementRecordOutAdd.getUserId())) .updateTime(LocalDateTime.now()); .updateTime(LocalDateTime.now()) .productModelId(procurementRecordOutAdd.getProductModelId()); this.save(procurementRecordOut.build()); return 0; } src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordServiceImpl.java
@@ -14,8 +14,8 @@ import com.ruoyi.procurementrecord.mapper.ProcurementRecordMapper; import com.ruoyi.procurementrecord.mapper.ProcurementRecordOutMapper; import com.ruoyi.procurementrecord.pojo.CustomStorage; import com.ruoyi.procurementrecord.pojo.ProcurementRecordStorage; import com.ruoyi.procurementrecord.pojo.ProcurementRecordOut; import com.ruoyi.procurementrecord.pojo.ProcurementRecordStorage; import com.ruoyi.procurementrecord.service.ProcurementRecordService; import com.ruoyi.project.system.domain.SysUser; import com.ruoyi.project.system.mapper.SysUserMapper; @@ -29,7 +29,6 @@ import javax.servlet.http.HttpServletResponse; import java.math.BigDecimal; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.*; @@ -772,7 +771,8 @@ .createUser(loginUser.getUserId()) .updateTime(LocalDateTime.now()) .updateUser(loginUser.getUserId()) .createBy(procurementDto.getNickName()); .createBy(procurementDto.getNickName()) .productModelId(detail.getProductModelId()); this.save(procurementRecordBuilder.build()); // å ¥åºæååæéè´æ°é // LambdaQueryWrapper<SalesLedgerProduct> salesLedgerProductLambdaQueryWrapper = new LambdaQueryWrapper<>(); src/main/java/com/ruoyi/procurementrecord/utils/StockUtils.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,24 @@ package com.ruoyi.procurementrecord.utils; import com.ruoyi.procurementrecord.mapper.ProcurementRecordMapper; import com.ruoyi.procurementrecord.mapper.ProcurementRecordOutMapper; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Component; import java.math.BigDecimal; @Component @RequiredArgsConstructor public class StockUtils { private final ProcurementRecordOutMapper procurementRecordOutMapper; private final ProcurementRecordMapper procurementRecordMapper; // è·åååå©ä½åºå public BigDecimal getStockQuantity(Long productModelId) { // å ¥åºæ°é BigDecimal sumQuantity = procurementRecordMapper.getSumQuantity(productModelId); // åºåºæ°é BigDecimal outQuantity = procurementRecordOutMapper.getSumQuantity(productModelId); return outQuantity.compareTo(sumQuantity) > 0 ? BigDecimal.ZERO : sumQuantity.subtract(outQuantity); } } src/main/java/com/ruoyi/production/service/ProductStructureService.java
@@ -1,6 +1,7 @@ package com.ruoyi.production.service; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.basic.dto.ProductModelDto; import com.ruoyi.production.dto.ProductStructureDto; import com.ruoyi.production.pojo.ProductStructure; @@ -9,7 +10,7 @@ public interface ProductStructureService extends IService<ProductStructure> { List<ProductStructureDto> listByproductModelId(Long productId); ProductModelDto listByproductModelId(Long productId); Boolean addProductStructureDto(ProductStructureDto productStructureDto); src/main/java/com/ruoyi/production/service/impl/ProductStructureServiceImpl.java
@@ -2,15 +2,22 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.basic.dto.ProductModelDto; import com.ruoyi.basic.mapper.ProductMapper; import com.ruoyi.basic.mapper.ProductModelMapper; import com.ruoyi.basic.pojo.Product; import com.ruoyi.basic.pojo.ProductModel; import com.ruoyi.production.dto.ProductStructureDto; import com.ruoyi.production.mapper.ProductStructureMapper; import com.ruoyi.production.pojo.ProductStructure; import com.ruoyi.production.service.ProductStructureService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.HashMap; import java.util.List; @Service @@ -20,10 +27,21 @@ @Autowired private ProductStructureMapper productStructureMapper; @Autowired private ProductModelMapper productModelMapper; @Autowired private ProductMapper productMapper; @Override public List<ProductStructureDto> listByproductModelId(Long productModelId) { return productStructureMapper.listByproductModelId( productModelId); public ProductModelDto listByproductModelId(Long productModelId) { ProductModel productModel = productModelMapper.selectById(productModelId); Product product = productMapper.selectById(productModel.getProductId()); ProductModelDto productModelDto = new ProductModelDto(); BeanUtils.copyProperties(productModel,productModelDto); productModelDto.setProductName(product.getProductName()); List<ProductStructureDto> productStructureDtos = productStructureMapper.listByproductModelId(productModelId); productModelDto.setProductStructureList(productStructureDtos); return productModelDto; } @Override src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
@@ -13,6 +13,7 @@ import com.ruoyi.basic.pojo.ProductModel; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.bean.BeanUtils; import com.ruoyi.procurementrecord.utils.StockUtils; import com.ruoyi.production.controller.ProductWorkOrderController; import com.ruoyi.production.dto.ProductStructureDto; import com.ruoyi.production.dto.ProductionProductMainDto; @@ -76,6 +77,8 @@ private ProductOrderMapper productOrderMapper; private SalesLedgerProductionAccountingMapper salesLedgerProductionAccountingMapper; private StockUtils stockUtils; @Override @@ -169,6 +172,7 @@ qualityInspect.setInspectState(0); qualityInspect.setInspectType(inspectType); qualityInspect.setProductMainId(productionProductMain.getId()); qualityInspect.setProductModelId(productModel.getId()); qualityInspectMapper.insert(qualityInspect); List<QualityTestStandardParam> qualityTestStandardParams = qualityTestStandardParamMapper.selectListByProductId(product.getId()); @@ -186,6 +190,12 @@ if (productModel != null) { List<ProductStructureDto> productStructureDtos = productStructureMapper.listByproductModelId(productModel.getId()); for (ProductStructureDto productStructureDto : productStructureDtos) { ProductModel productModel1 = productModelMapper.selectById(productStructureDto.getProductModelId()); BigDecimal stockQuantity = stockUtils.getStockQuantity(productModel1.getId()); if (!(stockQuantity.compareTo(BigDecimal.ZERO) > 0)) { throw new RuntimeException("åºåä¸è¶³"); } ProductionProductInput productionProductInput = new ProductionProductInput(); productionProductInput.setProductModelId(productStructureDto.getProductModelId()); productionProductInput.setQuantity(productStructureDto.getUnitQuantity().multiply(dto.getQuantity())); src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
@@ -242,6 +242,7 @@ qualityInspect.setProductId(saleProduct.getId()); qualityInspect.setProductName(saleProduct.getProductCategory()); qualityInspect.setModel(saleProduct.getSpecificationModel()); qualityInspect.setProductModelId(saleProduct.getProductModelId()); qualityInspect.setUnit(saleProduct.getUnit()); qualityInspect.setQuantity(saleProduct.getQuantity()); qualityInspectMapper.insert(qualityInspect); src/main/java/com/ruoyi/quality/controller/QualityReportController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,31 @@ package com.ruoyi.quality.controller; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.framework.web.domain.AjaxResult; import com.ruoyi.quality.pojo.QualityTestStandardParam; import com.ruoyi.quality.service.QualityReportService; import com.ruoyi.quality.service.QualityTestStandardParamService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import java.util.List; /** * <p> * è´¨é管ççæ¥è¡¨ç®¡ç å端æ§å¶å¨ * </p> * * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå ¬å¸ * @since 2026-01-14 03:39:49 */ @RestController @RequestMapping("/qualityReport") public class QualityReportController { @Autowired private QualityReportService qualityReportService; } src/main/java/com/ruoyi/quality/controller/QualityTestStandardController.java
@@ -80,4 +80,14 @@ return AjaxResult.success(qualityTestStandardService.copyParam(qualityTestStandard)); } /** * æ£æµæ åæ¹éå®¡æ ¸ * @param qualityTestStandards * @return */ @PostMapping("/qualityTestStandardAudit") public AjaxResult qualityTestStandardAudit(@RequestBody List<QualityTestStandard> qualityTestStandards) { return AjaxResult.success(qualityTestStandardService.updateBatchById(qualityTestStandards)); } } src/main/java/com/ruoyi/quality/dto/QualityTestStandardBindingDto.java
@@ -8,4 +8,6 @@ public class QualityTestStandardBindingDto { private String productName; private Long qualityTestStandardBindingId; } src/main/java/com/ruoyi/quality/pojo/QualityInspect.java
@@ -144,6 +144,8 @@ * æ¥å·¥id */ private Long productMainId; private Long productModelId; //ä¸åæ ¼ç°è±¡ private String defectivePhenomena; src/main/java/com/ruoyi/quality/service/QualityReportService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,16 @@ package com.ruoyi.quality.service; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.quality.pojo.QualityTestStandardParam; /** * <p> * è´¨é管ççæ¥è¡¨ç®¡ç æå¡ç±» * </p> * * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå ¬å¸ * @since 2026-01-13 03:39:49 */ public interface QualityReportService { } src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java
@@ -1,6 +1,7 @@ package com.ruoyi.quality.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.StringUtils; @@ -16,6 +17,7 @@ import com.ruoyi.framework.security.LoginUser; import com.ruoyi.procurementrecord.dto.Details; import com.ruoyi.procurementrecord.dto.ProcurementAddDto; import com.ruoyi.procurementrecord.pojo.ProcurementRecordStorage; import com.ruoyi.procurementrecord.service.ProcurementRecordService; import com.ruoyi.quality.dto.QualityInspectDto; import com.ruoyi.quality.mapper.QualityInspectMapper; @@ -43,7 +45,9 @@ import javax.servlet.http.HttpServletResponse; import java.io.InputStream; import java.io.OutputStream; import java.math.BigDecimal; import java.net.URLEncoder; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -119,16 +123,45 @@ ArrayList<Details> detailss = new ArrayList<>(); Details details = new Details(); details.setId(Math.toIntExact(qualityInspect.getProductId())); details.setId(Math.toIntExact(salesLedgerProduct.getId())); details.setInboundQuantity(qualityInspect.getQuantity()); details.setWarnNum(salesLedgerProduct.getWarnNum()); details.setUnitPrice(salesLedgerProduct.getTaxInclusiveUnitPrice()); details.setTotalPrice(salesLedgerProduct.getTaxInclusiveTotalPrice()); details.setProductModelId(qualityInspect.getProductModelId()); detailss.add( details); procurementRecordOutAdd.setDetails(detailss); procurementRecordService.add(procurementRecordOutAdd); } }else if (qualityInspect.getInspectType() == 1) { //æ¥è¯¢UnitPrice/TotalPrice ProcurementAddDto procurementRecordOutAdd = new ProcurementAddDto(); procurementRecordOutAdd.setType(2); procurementRecordOutAdd.setTypeName("çäº§å ¥åº"); procurementRecordOutAdd.setNickName(loginUser.getNickName()); List<Details> details = new ArrayList<>(); Details details1 = new Details(); details1.setInboundQuantity(qualityInspect.getQuantity()); details1.setProductModelId(qualityInspect.getProductModelId()); procurementRecordOutAdd.setDetails(details); ProcurementRecordStorage.ProcurementRecordStorageBuilder procurementRecordBuilder = ProcurementRecordStorage.builder() .salesLedgerProductId(details1.getId()) .inboundBatches( "ç产åæåå ¥åº") .inboundNum(details1.getInboundQuantity()) .type(2) .warnNum(new BigDecimal(0)) .unitPrice(new BigDecimal(0)) .totalPrice(new BigDecimal(0)) .createTime(LocalDateTime.now()) .createUser(loginUser.getUserId()) .updateTime(LocalDateTime.now()) .updateUser(loginUser.getUserId()) .createBy(procurementRecordOutAdd.getNickName()) .productModelId(details1.getProductModelId()); procurementRecordService.save(procurementRecordBuilder.build()); }else if (qualityInspect.getInspectType() == 2) { //æ¥è¯¢UnitPrice/TotalPrice @@ -140,9 +173,10 @@ List<Details> details = new ArrayList<>(); Details details1 = new Details(); details1.setInboundQuantity(qualityInspect.getQuantity()); details1.setId(Math.toIntExact(salesLedgerProduct.getId())); details1.setId(Math.toIntExact(salesLedgerProduct.getProductId())); details1.setUnitPrice(salesLedgerProduct.getTaxInclusiveUnitPrice()); details1.setTotalPrice(salesLedgerProduct.getTaxInclusiveTotalPrice()); details1.setProductModelId(salesLedgerProduct.getProductModelId()); details.add(details1); procurementRecordOutAdd.setDetails(details); procurementRecordService.add(procurementRecordOutAdd); src/main/java/com/ruoyi/quality/service/impl/QualityReportServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,9 @@ package com.ruoyi.quality.service.impl; import com.ruoyi.quality.service.QualityReportService; import org.springframework.stereotype.Service; @Service public class QualityReportServiceImpl implements QualityReportService { } src/main/java/com/ruoyi/sales/controller/SalesLedgerProductController.java
@@ -77,7 +77,7 @@ IPage<ProcurementPageDtoCopy> result = procurementRecordService.listPageCopyByProduction(new Page<>(1,-1), procurementDto); if(result.getRecords().size()>0) { ProcurementPageDtoCopy procurementDtoCopy = result.getRecords().get(0); if (item.getQuantity().compareTo(procurementDtoCopy.getInboundNum0()) >= 0) { if (item.getQuantity().compareTo(procurementDtoCopy.getInboundNum0()) >= 0 && item.getApproveStatus() == 0) { item.setApproveStatus(1); salesLedgerProductService.addOrUpdateSalesLedgerProduct(item); } src/main/java/com/ruoyi/sales/controller/ShipmentApprovalController.java
@@ -9,7 +9,9 @@ import com.ruoyi.procurementrecord.dto.ProcurementAddDto; import com.ruoyi.procurementrecord.dto.ProcurementRecordOutAdd; import com.ruoyi.procurementrecord.pojo.ProcurementRecordOut; import com.ruoyi.procurementrecord.pojo.ProcurementRecordStorage; import com.ruoyi.procurementrecord.service.ProcurementRecordOutService; import com.ruoyi.procurementrecord.service.ProcurementRecordService; import com.ruoyi.sales.mapper.ShipmentApprovalMapper; import com.ruoyi.sales.mapper.ShippingInfoMapper; import com.ruoyi.sales.pojo.SalesLedgerProduct; @@ -26,6 +28,7 @@ import javax.servlet.http.HttpServletResponse; import java.math.BigDecimal; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.List; @@ -43,6 +46,8 @@ private ISalesLedgerProductService salesLedgerProductService; @Autowired private ProcurementRecordOutService procurementRecordOutService; @Autowired private ProcurementRecordService procurementRecordStorageService; @GetMapping("/listPage") @ApiOperation("å货审æ¹å表") @@ -66,15 +71,22 @@ SalesLedgerProduct salesLedgerProduct = salesLedgerProductService.getById(shipmentApproval.getSalesLedgerProductId()); salesLedgerProduct.setApproveStatus(req.getApproveStatus()); salesLedgerProductService.updateById(salesLedgerProduct); if(req.getApproveStatus()==3){ ProcurementRecordStorage procurementRecordStorage = procurementRecordStorageService.getOne(new LambdaQueryWrapper<ProcurementRecordStorage>() .eq(ProcurementRecordStorage::getSalesLedgerProductId, req.getSalesLedgerProductId())); if(procurementRecordStorage==null){ return AjaxResult.error("éè´è®°å½ä¸åå¨"); } //å货审æ¹éè¿ï¼ç产该订ååºåºè®°å½ ProcurementRecordOutAdd procurementRecordOutAdd = new ProcurementRecordOutAdd(); procurementRecordOutAdd.setId(procurementRecordStorage.getId()); procurementRecordOutAdd.setSalesLedgerProductId(Math.toIntExact(salesLedgerProduct.getId())); procurementRecordOutAdd.setType(2); procurementRecordOutAdd.setUserId(Math.toIntExact(getUserId())); procurementRecordOutAdd.setQuantity(String.valueOf(salesLedgerProduct.getQuantity())); //è·åå½åæ¶é´ LocalDateTime now = LocalDateTime.now(); LocalDate now = LocalDate.now(); procurementRecordOutAdd.setTime(now.toString()); procurementRecordOutService.stockout(procurementRecordOutAdd); } src/main/java/com/ruoyi/staff/pojo/StaffJoinLeaveRecord.java
@@ -188,6 +188,18 @@ @Excel(name = "夿³¨ï¼ç¦å©å¾ éï¼") private String remark; /** * 离èåå */ @Excel(name = "离èåå ",readConverterExp = "salary=èªèµå¾ é,career_development=èä¸åå±,work_environment=å·¥ä½ç¯å¢,personal_reason=个人åå ,other=å ¶ä»") private String dimissionReason; /** * 离è夿³¨ */ @Excel(name = "离è夿³¨") private String dimissionRemark; @ApiModelProperty(value = "å建æ¶é´") @TableField(fill = FieldFill.INSERT) src/main/java/com/ruoyi/staff/service/impl/StaffJoinLeaveRecordServiceImpl.java
@@ -24,6 +24,8 @@ import java.util.*; import java.util.function.Function; import static com.ruoyi.common.enums.StaffJoinLeaveRecordDimissionReason.StaffJoinLeaveRecordDimissionReasonOther; @Service @AllArgsConstructor @Transactional(rollbackFor = Exception.class) @@ -77,6 +79,12 @@ staffOnJobMapper.updateById(staffOnJob); }else { throw new BaseException("æ²¡ææ¾å°"+staffJoinLeaveRecord.getStaffNo()+"ç¼å·çåå·¥,æ æ³æ°å¢ç¦»è!!!"); } if (staffJoinLeaveRecord.getDimissionReason()==null){ throw new BaseException("离èåå ä¸è½ä¸ºç©º!!!"); } if (!StaffJoinLeaveRecordDimissionReasonOther.getCode().equals(staffJoinLeaveRecord.getDimissionReason())){ staffJoinLeaveRecord.setDimissionRemark(""); } } return staffJoinLeaveRecordMapper.insert(staffJoinLeaveRecord); @@ -168,6 +176,12 @@ }else { /*离è*/ //离èçç¼è¾ä¸ä¼å½±åå¨è表 if (staffJoinLeaveRecord.getDimissionReason()==null){ throw new BaseException("离èåå ä¸è½ä¸ºç©º!!!"); } if (!StaffJoinLeaveRecordDimissionReasonOther.getCode().equals(staffJoinLeaveRecord.getDimissionReason())){ staffJoinLeaveRecord.setDimissionRemark(""); } } return staffJoinLeaveRecordMapper.updateById(staffJoinLeaveRecord); } src/main/resources/mapper/procurementrecord/ProcurementRecordMapper.xml
@@ -353,4 +353,9 @@ </if> </where> </select> <select id="getSumQuantity" resultType="BigDecimal"> select COALESCE(sum(inbound_num), 0) from procurement_record_storage where product_model_id = #{productModelId} </select> </mapper> src/main/resources/mapper/procurementrecord/ProcurementRecordOutMapper.xml
@@ -169,4 +169,11 @@ </where> order by t1.create_time desc </select> <select id="getSumQuantity" resultType="BigDecimal"> select COALESCE(sum(inbound_num), 0) from procurement_record_out where type = 1 and product_model_id = #{productModelId} </select> </mapper> src/main/resources/mapper/quality/QualityTestStandardBindingMapper.xml
@@ -14,7 +14,8 @@ <result column="tenant_id" property="tenantId"/> </resultMap> <select id="listBinding" resultType="com.ruoyi.quality.dto.QualityTestStandardBindingDto"> select * select t2.product_name, t1.id qualityTestStandardBindingId from quality_test_standard_binding t1 left join product t2 on t1.product_id = t2.id where t1.test_standard_id = #{testStandardId} src/main/resources/mapper/quality/QualityTestStandardMapper.xml
@@ -7,17 +7,17 @@ FROM quality_test_standard where 1=1 <if test="qualityTestStandard.standardNo != null and qualityTestStandard.standardNo != '' "> AND standard_no like concat('%',#{qualityTestStandard.standardNo},'%') <if test="c.standardNo != null and c.standardNo != '' "> AND standard_no like concat('%',#{c.standardNo},'%') </if> <if test="qualityTestStandard.standardName != null and qualityTestStandard.standardName != '' "> AND standard_name like concat('%',#{qualityTestStandard.standardName},'%') <if test="c.standardName != null and c.standardName != '' "> AND standard_name like concat('%',#{c.standardName},'%') </if> <if test="qualityTestStandard.state != null and qualityTestStandard.state != '' "> AND state = #{qualityTestStandard.state} <if test="c.state != null and c.state != '' "> AND state = #{c.state} </if> <if test="qualityTestStandard.inspectType != null and qualityTestStandard.inspectType != '' "> AND inspect_type = #{qualityTestStandard.inspectType} <if test="c.inspectType != null and c.inspectType != '' "> AND inspect_type = #{c.inspectType} </if> </select> </mapper> src/main/resources/mapper/sales/SalesLedgerProductMapper.xml
@@ -11,7 +11,7 @@ t3.shipping_date FROM sales_ledger_product T1 left join shipping_info t3 on T1.id = t3.sales_ledger_id left join shipping_info t3 on T1.id = t3.sales_ledger_product_id <where> 1=1 <if test="salesLedgerProduct.salesLedgerId != null and salesLedgerProduct.salesLedgerId != '' ">