src/main/java/com/ruoyi/basic/controller/EnumController.java
@@ -1,7 +1,7 @@ package com.ruoyi.basic.controller; import com.ruoyi.basic.utils.EnumUtils; import com.ruoyi.common.enums.StockRecordTypeEnum; import com.ruoyi.common.enums.StockQualifiedRecordTypeEnum; import com.ruoyi.common.utils.EnumUtil; import com.ruoyi.framework.aspectj.lang.annotation.Anonymous; import com.ruoyi.framework.web.domain.R; @@ -24,7 +24,7 @@ @GetMapping("/stockRecordType") @Anonymous public R getStockRecordTypeEnum(){ List<Map<String, Object>> list = EnumUtil.toList(StockRecordTypeEnum.class); List<Map<String, Object>> list = EnumUtil.toList(StockQualifiedRecordTypeEnum.class); return R.ok(list); } src/main/java/com/ruoyi/common/enums/StockQualifiedRecordTypeEnum.java
ÎļþÃû´Ó src/main/java/com/ruoyi/common/enums/StockRecordTypeEnum.java ÐÞ¸Ä @@ -4,23 +4,22 @@ @Getter public enum StockRecordTypeEnum implements BaseEnum<Integer> { public enum StockQualifiedRecordTypeEnum implements BaseEnum<Integer> { CUSTOMIZATION_STOCK_IN(0, "åæ ¼èªå®ä¹å ¥åº"), CUSTOMIZATION_STOCK_OUT(1, "åæ ¼èªå®ä¹åºåº"), PRODUCTION_REPORT_STOCK_IN(2, "ç产æ¥å·¥-å ¥åº"), PRODUCTION_REPORT_STOCK_OUT(3, "ç产æ¥å·¥-åºåº"), PRODUCTION_SCRAP(4, "ç产æ¥å·¥-æ¥åº"), DEFECTIVE_SCRAP(5, "ä¸åæ ¼å¤ç-æ¥åº"), DEFECTIVE_PASS(6, "ä¸åæ ¼å¤ç-è®©æ¥æ¾è¡"), PURCHASE_STOCK_IN(7, "éè´-å ¥åº"), SALE_STOCK_OUT(8, "éå®-åºåº"), CUSTOMIZATION_UNSTOCK_IN(9, "ä¸åæ ¼èªå®ä¹å ¥åº"), CUSTOMIZATION_UNSTOCK_OUT(10, "ä¸åæ ¼èªå®ä¹åºåº"); QUALITYINSPECT_STOCK_IN(11, "è´¨æ£-åæ ¼å ¥åº"); private final Integer code; private final String value; StockRecordTypeEnum(Integer code, String value) { StockQualifiedRecordTypeEnum(Integer code, String value) { this.code = code; this.value = value; } src/main/java/com/ruoyi/common/enums/StockUnQualifiedRecordTypeEnum.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,25 @@ package com.ruoyi.common.enums; import lombok.Getter; @Getter public enum StockUnQualifiedRecordTypeEnum implements BaseEnum<Integer> { PRODUCTION_SCRAP(4, "ç产æ¥å·¥-æ¥åº"), DEFECTIVE_SCRAP(5, "ä¸åæ ¼å¤ç-æ¥åº"), CUSTOMIZATION_UNSTOCK_IN(9, "ä¸åæ ¼èªå®ä¹å ¥åº"), CUSTOMIZATION_UNSTOCK_OUT(10, "ä¸åæ ¼èªå®ä¹åºåº"), QUALITYINSPECT_UNSTOCK_IN(12, "è´¨æ£-ä¸åæ ¼å ¥åº"); private final Integer code; private final String value; StockUnQualifiedRecordTypeEnum(Integer code, String value) { this.code = code; this.value = value; } } src/main/java/com/ruoyi/procurementrecord/utils/StockUtils.java
@@ -1,16 +1,21 @@ package com.ruoyi.procurementrecord.utils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ruoyi.procurementrecord.mapper.ProcurementRecordMapper; import com.ruoyi.procurementrecord.mapper.ProcurementRecordOutMapper; import com.ruoyi.stock.dto.StockInRecordDto; import com.ruoyi.stock.dto.StockInventoryDto; import com.ruoyi.stock.dto.StockUninventoryDto; import com.ruoyi.stock.pojo.StockInRecord; import com.ruoyi.stock.service.StockInRecordService; import com.ruoyi.stock.service.StockInventoryService; import com.ruoyi.stock.service.StockUninventoryService; import com.ruoyi.stock.service.impl.StockInRecordServiceImpl; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Component; import java.math.BigDecimal; import java.util.Collections; import java.util.HashMap; import java.util.Map; @@ -21,6 +26,7 @@ private final ProcurementRecordMapper procurementRecordMapper; private final StockUninventoryService stockUninventoryService; private final StockInventoryService stockInventoryService; private final StockInRecordService stockInRecordService; // è·åååå ¥åºæ°é,åºåºæ°é,å©ä½åºå public Map<String, BigDecimal> getStockQuantity(Long productModelId) { @@ -100,4 +106,13 @@ stockInventoryDto.setProductModelId(productModelId); stockInventoryService.subtractStockInventory(stockInventoryDto); } //ä¸åæ ¼åºåå é¤ public void deleteStockRecord(Long recordId, Integer recordType) { StockInRecord one = stockInRecordService.getOne(new QueryWrapper<StockInRecord>() .lambda().eq(StockInRecord::getRecordId, recordId) .eq(StockInRecord::getRecordType, recordType)); stockInRecordService.batchDelete(Collections.singletonList(one.getId())); } } src/main/java/com/ruoyi/production/controller/ProductBomController.java
@@ -8,14 +8,8 @@ import com.ruoyi.framework.web.domain.AjaxResult; import com.ruoyi.production.dto.ProductBomDto; import com.ruoyi.production.dto.ProductProcessDto; import com.ruoyi.production.pojo.ProcessRoute; import com.ruoyi.production.pojo.ProductBom; import com.ruoyi.production.pojo.ProductProcess; import com.ruoyi.production.pojo.ProductProcessRoute; import com.ruoyi.production.service.ProcessRouteService; import com.ruoyi.production.service.ProductBomService; import com.ruoyi.production.service.ProductProcessRouteService; import com.ruoyi.production.service.ProductProcessService; import com.ruoyi.production.pojo.*; import com.ruoyi.production.service.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiOperation; @@ -46,6 +40,9 @@ @Autowired private ProductProcessRouteService productProcessRouteService; @Autowired private ProductStructureService productStructureService; @GetMapping("/listPage") @Log(title = "BOM-å页æ¥è¯¢", businessType = BusinessType.OTHER) @@ -81,6 +78,8 @@ if(CollectionUtils.isEmpty(ids)){ return AjaxResult.error("è¯·éæ©è³å°ä¸æ¡æ°æ®"); } //å é¤bomå表 productStructureService.remove(Wrappers.<ProductStructure>lambdaQuery().in(ProductStructure::getBomId,ids)); return AjaxResult.success(productBomService.removeBatchByIds(ids)); } src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
@@ -2,8 +2,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -13,7 +11,8 @@ import com.ruoyi.basic.mapper.ProductModelMapper; import com.ruoyi.basic.pojo.Product; import com.ruoyi.basic.pojo.ProductModel; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.enums.StockQualifiedRecordTypeEnum; import com.ruoyi.common.enums.StockUnQualifiedRecordTypeEnum; import com.ruoyi.common.utils.bean.BeanUtils; import com.ruoyi.procurementrecord.mapper.ProcurementRecordOutMapper; import com.ruoyi.procurementrecord.pojo.ProcurementRecordOut; @@ -28,19 +27,15 @@ import com.ruoyi.project.system.mapper.SysUserMapper; import com.ruoyi.quality.mapper.*; import com.ruoyi.quality.pojo.*; import io.swagger.models.auth.In; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.ruoyi.production.mapper.ProductionProductMainMapper; import oshi.driver.mac.net.NetStat; import java.math.BigDecimal; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.time.format.DateTimeFormatter; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -272,6 +267,9 @@ salesLedgerProductionAccountingMapper.insert(salesLedgerProductionAccounting); } //妿æ¥åºæ°é>0,éè¦è¿å ¥æ¥åºçåºå if (dto.getScrapQty().compareTo(BigDecimal.ZERO) > 0) { stockUtils.addUnStock(productModel.getId(), dto.getScrapQty(), StockUnQualifiedRecordTypeEnum.PRODUCTION_SCRAP.getCode(), productionProductMain.getId()); } return true; } @@ -318,6 +316,8 @@ .eq(ProcurementRecordOut::getSalesLedgerProductId, productionProductMain.getId())); productionProductInputMapper.delete(new LambdaQueryWrapper<ProductionProductInput>() .eq(ProductionProductInput::getProductMainId, productionProductMain.getId())); //å 餿¥åºçå ¥åºè®°å½ stockUtils.deleteStockRecord(productionProductMain.getId(), StockUnQualifiedRecordTypeEnum.PRODUCTION_SCRAP.getCode()); // å é¤ä¸»è¡¨ productionProductMainMapper.deleteById(productionProductMain.getId()); return true; src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java
@@ -8,15 +8,11 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.deepoove.poi.XWPFTemplate; import com.deepoove.poi.config.Configure; import com.ruoyi.common.exception.base.BaseException; import com.ruoyi.common.enums.StockQualifiedRecordTypeEnum; import com.ruoyi.common.utils.HackLoopTableRenderPolicy; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.poi.ExcelUtil; 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.procurementrecord.utils.StockUtils; import com.ruoyi.quality.dto.QualityInspectDto; import com.ruoyi.quality.mapper.QualityInspectMapper; import com.ruoyi.quality.mapper.QualityTestStandardMapper; @@ -27,7 +23,6 @@ import com.ruoyi.quality.service.IQualityInspectParamService; import com.ruoyi.quality.service.IQualityInspectService; import com.ruoyi.sales.mapper.SalesLedgerProductMapper; import com.ruoyi.sales.pojo.SalesLedgerProduct; import lombok.AllArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -36,10 +31,7 @@ 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; import java.util.stream.Collectors; @@ -47,8 +39,9 @@ @AllArgsConstructor @Service @Transactional(rollbackFor = Exception.class) public class QualityInspectServiceImpl extends ServiceImpl<QualityInspectMapper, QualityInspect> implements IQualityInspectService { public class QualityInspectServiceImpl extends ServiceImpl<QualityInspectMapper, QualityInspect> implements IQualityInspectService { private final StockUtils stockUtils; private QualityInspectMapper qualityInspectMapper; private IQualityInspectParamService qualityInspectParamService; @@ -64,7 +57,7 @@ @Override public int add(QualityInspectDto qualityInspectDto) { QualityInspect qualityInspect = new QualityInspect(); BeanUtils.copyProperties(qualityInspectDto,qualityInspect); BeanUtils.copyProperties(qualityInspectDto, qualityInspect); qualityInspect.setInspectState(0);//é»è®¤æªæäº¤ qualityInspectMapper.insert(qualityInspect); for (QualityInspectParam qualityInspectParam : qualityInspectDto.getQualityInspectParams()) { @@ -79,7 +72,7 @@ QualityInspect qualityInspect = qualityInspectMapper.selectById(id); List<QualityInspectParam> qualityInspectParams = qualityInspectParamService.list(Wrappers.<QualityInspectParam>lambdaQuery().eq(QualityInspectParam::getInspectId, id)); QualityInspectDto qualityInspectDto = new QualityInspectDto(); BeanUtils.copyProperties(qualityInspect,qualityInspectDto); BeanUtils.copyProperties(qualityInspect, qualityInspectDto); qualityInspectDto.setQualityInspectParams(qualityInspectParams); return qualityInspectDto; } @@ -89,96 +82,18 @@ public int submit(QualityInspect inspect) { QualityInspect qualityInspect = qualityInspectMapper.selectById(inspect.getId()); /*夿ä¸åæ ¼*/ if (ObjectUtils.isNotNull(qualityInspect.getCheckResult()) && qualityInspect.getCheckResult().equals("ä¸åæ ¼")){ if (ObjectUtils.isNotNull(qualityInspect.getCheckResult()) && qualityInspect.getCheckResult().equals("ä¸åæ ¼")) { QualityUnqualified qualityUnqualified = new QualityUnqualified(); BeanUtils.copyProperties(qualityInspect,qualityUnqualified); BeanUtils.copyProperties(qualityInspect, qualityUnqualified); qualityUnqualified.setInspectState(0);//å¾ å¤ç List<QualityInspectParam> inspectParams = qualityInspectParamService.list(Wrappers.<QualityInspectParam>lambdaQuery().eq(QualityInspectParam::getInspectId, inspect.getId())); String text = inspectParams.stream().map(QualityInspectParam::getParameterItem).collect(Collectors.joining(",")); qualityUnqualified.setDefectivePhenomena(text+"è¿äºææ ä¸åå¨ä¸åæ ¼");//ä¸åæ ¼ç°è±¡ qualityUnqualified.setDefectivePhenomena(text + "è¿äºææ ä¸åå¨ä¸åæ ¼");//ä¸åæ ¼ç°è±¡ qualityUnqualified.setInspectId(qualityInspect.getId()); qualityUnqualifiedMapper.insert(qualityUnqualified); } LoginUser loginUser = SecurityUtils.getLoginUser(); if (qualityInspect.getInspectType() == 0) { if ("åæ ¼".equals(qualityInspect.getCheckResult())) { ProcurementAddDto procurementRecordOutAdd = new ProcurementAddDto(); procurementRecordOutAdd.setType(1); procurementRecordOutAdd.setTypeName("éè´åæææ£éªåæ ¼å ¥åº"); procurementRecordOutAdd.setNickName(loginUser.getNickName()); procurementRecordOutAdd.setPurchaseLedgerId(Math.toIntExact(qualityInspect.getPurchaseLedgerId())); if (qualityInspect.getPurchaseLedgerId() == null) { throw new BaseException("è¯·éæ©éè´å"); } SalesLedgerProduct salesLedgerProduct = salesLedgerProductMapper.selectById(qualityInspect.getProductId()); ArrayList<Details> detailss = new ArrayList<>(); Details details = new Details(); 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); procurementRecordOutAdd.setQualityInspectId(qualityInspect.getId()); 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(0) .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()) .qualityInspectId(qualityInspect.getId()); procurementRecordService.save(procurementRecordBuilder.build()); }else if (qualityInspect.getInspectType() == 2) { //æ¥è¯¢UnitPrice/TotalPrice if (ObjectUtils.isNull(qualityInspect.getProductMainId())){ //å¦ææ¯æå¨æ°å¢çåºåæ£ }else { SalesLedgerProduct salesLedgerProduct = salesLedgerProductMapper.selectSalesLedgerProductByMainId(qualityInspect.getProductMainId()); 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.setId(Math.toIntExact(salesLedgerProduct.getId())); details1.setUnitPrice(salesLedgerProduct.getTaxInclusiveUnitPrice()); details1.setTotalPrice(salesLedgerProduct.getTaxInclusiveTotalPrice()); details1.setProductModelId(salesLedgerProduct.getProductModelId()); details.add(details1); procurementRecordOutAdd.setDetails(details); procurementRecordOutAdd.setQualityInspectId(qualityInspect.getId()); procurementRecordService.add(procurementRecordOutAdd); } } else { //åæ ¼ç´æ¥å ¥åº stockUtils.addStock(inspect.getProductModelId(), inspect.getQuantity(), StockQualifiedRecordTypeEnum.QUALITYINSPECT_STOCK_IN.getCode(), inspect.getId()); } qualityInspect.setInspectState(1);//å·²æäº¤ return qualityInspectMapper.updateById(qualityInspect); @@ -188,16 +103,16 @@ @Override public void down(HttpServletResponse response, QualityInspect qualityInspect) { QualityInspect inspect = qualityInspectMapper.selectById(qualityInspect.getId()); String inspectType=""; switch (inspect.getInspectType()){ String inspectType = ""; switch (inspect.getInspectType()) { case 0: inspectType="åæææ£éª"; inspectType = "åæææ£éª"; break; case 1: inspectType="è¿ç¨æ£éª"; inspectType = "è¿ç¨æ£éª"; break; case 2: inspectType="åºåæ£éª"; inspectType = "åºåæ£éª"; break; } List<QualityInspectParam> paramList = qualityInspectParamService.list(Wrappers.<QualityInspectParam>lambdaQuery().eq(QualityInspectParam::getInspectId, inspect.getId())); @@ -239,31 +154,31 @@ @Override public int updateQualityInspect(QualityInspectDto qualityInspectDto) { if (ObjectUtils.isNotNull(qualityInspectDto.getQualityInspectParams())) { qualityInspectParamService.remove(Wrappers.<QualityInspectParam>lambdaQuery().eq(QualityInspectParam::getInspectId,qualityInspectDto.getId())); qualityInspectParamService.remove(Wrappers.<QualityInspectParam>lambdaQuery().eq(QualityInspectParam::getInspectId, qualityInspectDto.getId())); for (QualityInspectParam qualityInspectParam : qualityInspectDto.getQualityInspectParams()) { qualityInspectParam.setInspectId(qualityInspectDto.getId()); } qualityInspectParamService.saveBatch(qualityInspectDto.getQualityInspectParams()); } QualityInspect qualityInspect = new QualityInspect(); BeanUtils.copyProperties(qualityInspectDto,qualityInspect); BeanUtils.copyProperties(qualityInspectDto, qualityInspect); return qualityInspectMapper.updateById(qualityInspect); } @Override public IPage<QualityInspect> qualityInspectListPage(Page page, QualityInspect qualityInspect) { return qualityInspectMapper.qualityInspectListPage(page,qualityInspect); return qualityInspectMapper.qualityInspectListPage(page, qualityInspect); } @Override public void qualityInspectExport(HttpServletResponse response, QualityInspect qualityInspect) { List<QualityInspect> qualityInspects =qualityInspectMapper.qualityInspectExport(qualityInspect); List<QualityInspect> qualityInspects = qualityInspectMapper.qualityInspectExport(qualityInspect); ExcelUtil<QualityInspect> util = new ExcelUtil<QualityInspect>(QualityInspect.class); switch (qualityInspect.getInspectType()){ switch (qualityInspect.getInspectType()) { case 0: util.exportExcel(response, qualityInspects, "åæææ£éªå¯¼åº"); break; case 1: case 1: util.exportExcel(response, qualityInspects, "è¿ç¨æ£éªå¯¼åº"); break; case 2: src/main/java/com/ruoyi/quality/service/impl/QualityUnqualifiedServiceImpl.java
@@ -7,21 +7,23 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.enums.StockQualifiedRecordTypeEnum; import com.ruoyi.common.enums.StockUnQualifiedRecordTypeEnum; import com.ruoyi.common.utils.bean.BeanUtils; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.procurementrecord.utils.StockUtils; import com.ruoyi.production.mapper.ProductProcessRouteItemMapper; import com.ruoyi.production.mapper.ProductProcessRouteMapper; import com.ruoyi.production.mapper.ProductWorkOrderMapper; import com.ruoyi.production.mapper.ProductionProductMainMapper; import com.ruoyi.production.pojo.*; import com.ruoyi.production.service.ProductOrderService; import com.ruoyi.quality.mapper.QualityInspectMapper; import com.ruoyi.quality.mapper.QualityUnqualifiedMapper; import com.ruoyi.quality.pojo.QualityInspect; import com.ruoyi.quality.pojo.QualityTestStandard; import com.ruoyi.quality.pojo.QualityUnqualified; import com.ruoyi.quality.service.IQualityInspectService; import com.ruoyi.quality.service.IQualityUnqualifiedService; import com.ruoyi.stock.service.StockUninventoryService; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; @@ -33,8 +35,9 @@ @AllArgsConstructor @Service public class QualityUnqualifiedServiceImpl extends ServiceImpl<QualityUnqualifiedMapper, QualityUnqualified> implements IQualityUnqualifiedService { public class QualityUnqualifiedServiceImpl extends ServiceImpl<QualityUnqualifiedMapper, QualityUnqualified> implements IQualityUnqualifiedService { private final StockUtils stockUtils; private QualityUnqualifiedMapper qualityUnqualifiedMapper; private IQualityInspectService qualityInspectService; private ProductOrderService productOrderService; @@ -42,16 +45,16 @@ private ProductProcessRouteMapper productProcessRouteMapper; private ProductProcessRouteItemMapper productProcessRouteItemMapper; private ProductWorkOrderMapper productWorkOrderMapper; private StockUninventoryService stockUninventoryService; @Override public IPage<QualityUnqualified> qualityUnqualifiedListPage(Page page, QualityUnqualified qualityUnqualified) { return qualityUnqualifiedMapper.qualityUnqualifiedListPage(page,qualityUnqualified); return qualityUnqualifiedMapper.qualityUnqualifiedListPage(page, qualityUnqualified); } @Override public void qualityUnqualifiedExport(HttpServletResponse response, QualityUnqualified qualityUnqualified) { List<QualityUnqualified> qualityUnqualifieds =qualityUnqualifiedMapper.qualityUnqualifiedExport(qualityUnqualified); List<QualityUnqualified> qualityUnqualifieds = qualityUnqualifiedMapper.qualityUnqualifiedExport(qualityUnqualified); ExcelUtil<QualityUnqualified> util = new ExcelUtil<QualityUnqualified>(QualityUnqualified.class); util.exportExcel(response, qualityUnqualifieds, "ä¸åæ ¼ç®¡ç导åº"); } @@ -64,7 +67,7 @@ case "è¿ä¿®": case "è¿å·¥": //å¤æè´¨æ£è¡¨æ¯å¦æç¸å ³çæ¥å·¥id,å¦æææ¥å·¥id,é£ä¹è¿å·¥éè¦éæ°å建ç产订åéæ°ç产 if (ObjectUtils.isNotNull(qualityInspect.getProductMainId())){ if (ObjectUtils.isNotNull(qualityInspect.getProductMainId())) { //è¿å·¥éè¦éæ°å建ç产订åéæ°ç产 ProductOrder productOrder = productionProductMainMapper.getOrderByMainId(qualityInspect.getProductMainId()); ProductOrder order = new ProductOrder(); @@ -76,7 +79,7 @@ order.setEndTime(null); productOrderService.save(order); //æ°å¢ç产订åä¸çå·¥èºè·¯çº¿ä¸»è¡¨ ProductProcessRoute productProcessRoute = productProcessRouteMapper.selectList(Wrappers.<ProductProcessRoute>lambdaQuery().eq(ProductProcessRoute::getProductOrderId,productOrder.getId()).orderByDesc(ProductProcessRoute::getId)).get(0); ProductProcessRoute productProcessRoute = productProcessRouteMapper.selectList(Wrappers.<ProductProcessRoute>lambdaQuery().eq(ProductProcessRoute::getProductOrderId, productOrder.getId()).orderByDesc(ProductProcessRoute::getId)).get(0); ProductProcessRoute newProcessRoute = new ProductProcessRoute(); BeanUtils.copyProperties(productProcessRoute, newProcessRoute); newProcessRoute.setId(null); @@ -125,9 +128,12 @@ } break; case "æ¥åº": //è°ç¨ä¸åæ ¼åºåæ¥å£ å ¥ä¸åæ ¼åº stockUtils.addUnStock(qualityInspect.getProductModelId(), unqualified.getQuantity(), StockUnQualifiedRecordTypeEnum.DEFECTIVE_SCRAP.getCode(),unqualified.getId()); break; case "è®©æ¥æ¾è¡": //è°ç¨æäº¤åæ ¼çæ¥å£ stockUtils.addStock(qualityInspect.getProductModelId(), unqualified.getQuantity(), StockQualifiedRecordTypeEnum.DEFECTIVE_PASS.getCode(),unqualified.getId()); qualityInspect.setCheckResult("åæ ¼"); qualityInspectService.submit(qualityInspect); break; src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java
@@ -207,7 +207,7 @@ * å货审æ¹ç¶æ */ // @TableField(exist = false) @ApiModelProperty(value = "审æ¹ç¶æï¼0æªç产,1å·²ç产,2å·²åè´§") @ApiModelProperty(value = "审æ¹ç¶æï¼0æªç产,1å·²ç产,2审æ¹ä¸(å¾ å®¡æ¹),3审æ¹éè¿ï¼4审æ¹å¤±è´¥") private Integer approveStatus; @ApiModelProperty(value = "å¾ åæ¬¾æ»éé¢") src/main/java/com/ruoyi/stock/controller/StockInventoryController.java
@@ -2,10 +2,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.enums.StockRecordTypeEnum; import com.ruoyi.common.enums.StockQualifiedRecordTypeEnum; import com.ruoyi.framework.web.domain.R; import com.ruoyi.stock.dto.StockInventoryDto; import com.ruoyi.stock.pojo.StockInventory; import com.ruoyi.stock.service.StockInventoryService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -39,7 +38,7 @@ @PostMapping("/addstockInventory") @ApiOperation("æ°å¢åºå") public R addstockInventory(@RequestBody StockInventoryDto stockInventoryDto) { stockInventoryDto.setRecordType(String.valueOf(StockRecordTypeEnum.CUSTOMIZATION_STOCK_IN.getCode())); stockInventoryDto.setRecordType(String.valueOf(StockQualifiedRecordTypeEnum.CUSTOMIZATION_STOCK_IN.getCode())); stockInventoryDto.setRecordId(0L); return R.ok(stockInventoryService.addstockInventory(stockInventoryDto)); } @@ -48,7 +47,7 @@ @PostMapping("/subtractStockInventory") @ApiOperation("æ£ååºå") public R subtractStockInventory(@RequestBody StockInventoryDto stockInventoryDto) { stockInventoryDto.setRecordType(String.valueOf(StockRecordTypeEnum.CUSTOMIZATION_STOCK_OUT.getCode())); stockInventoryDto.setRecordType(String.valueOf(StockQualifiedRecordTypeEnum.CUSTOMIZATION_STOCK_OUT.getCode())); stockInventoryDto.setRecordId(0L); return R.ok(stockInventoryService.subtractStockInventory(stockInventoryDto)); } src/main/java/com/ruoyi/stock/controller/StockUninventoryController.java
@@ -2,11 +2,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.enums.StockRecordTypeEnum; import com.ruoyi.common.enums.StockQualifiedRecordTypeEnum; import com.ruoyi.common.enums.StockUnQualifiedRecordTypeEnum; import com.ruoyi.framework.web.domain.R; import com.ruoyi.stock.dto.StockInventoryDto; import com.ruoyi.stock.dto.StockUninventoryDto; import com.ruoyi.stock.service.StockInventoryService; import com.ruoyi.stock.service.StockUninventoryService; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; @@ -36,7 +35,7 @@ @PostMapping("/addstockUninventory") @ApiOperation("æ°å¢åºå") public R addstockUninventory(@RequestBody StockUninventoryDto stockUninventoryDto) { stockUninventoryDto.setRecordType(String.valueOf(StockRecordTypeEnum.CUSTOMIZATION_UNSTOCK_IN.getCode())); stockUninventoryDto.setRecordType(String.valueOf(StockUnQualifiedRecordTypeEnum.CUSTOMIZATION_UNSTOCK_IN.getCode())); stockUninventoryDto.setRecordId(0L); return R.ok(stockUninventoryService.addStockUninventory(stockUninventoryDto)); } @@ -45,7 +44,7 @@ @PostMapping("/subtractstockUninventory") @ApiOperation("æ£ååºå") public R subtractstockUninventory(@RequestBody StockUninventoryDto stockUninventoryDto) { stockUninventoryDto.setRecordType(String.valueOf(StockRecordTypeEnum.CUSTOMIZATION_UNSTOCK_OUT.getCode())); stockUninventoryDto.setRecordType(String.valueOf(StockUnQualifiedRecordTypeEnum.CUSTOMIZATION_UNSTOCK_OUT.getCode())); stockUninventoryDto.setRecordId(0L); return R.ok(stockUninventoryService.subtractStockUninventory(stockUninventoryDto)); } src/main/java/com/ruoyi/stock/pojo/StockInRecord.java
@@ -28,10 +28,10 @@ @ApiModelProperty(value = "å ¥åºæ°é") private BigDecimal stockInNum; @ApiModelProperty(value = "è®°å½ç±»å éè´å ¥åº/çäº§å ¥åº/è´¨éå ¥åº/èªå®ä¹å ¥åº") @ApiModelProperty(value = "è®°å½ç±»å æä¸¾") private String recordType; @ApiModelProperty(value = "è®°å½ID salesProductId/ProductrMainId/qualityInspectId/0") @ApiModelProperty(value = "è®°å½ID ") private Long recordId; @ApiModelProperty(value = "产åè§æ ¼ID") src/main/java/com/ruoyi/stock/pojo/StockInventory.java
@@ -62,4 +62,7 @@ @ApiModelProperty("é¢è¦æ°é") private Integer warnNum; @ApiModelProperty("夿³¨") private String remark; } src/main/java/com/ruoyi/stock/pojo/StockUninventory.java
@@ -46,4 +46,7 @@ @ApiModelProperty("çæ¬å·") private Integer version; @ApiModelProperty("夿³¨") private String remark; } src/main/java/com/ruoyi/stock/service/impl/StockInventoryServiceImpl.java
@@ -72,6 +72,7 @@ newStockInventory.setProductModelId(stockInventoryDto.getProductModelId()); newStockInventory.setQualitity(stockInventoryDto.getQualitity()); newStockInventory.setVersion(1); newStockInventory.setRemark(stockInventoryDto.getRemark()); stockInventoryMapper.insert(newStockInventory); }else { stockInventoryMapper.updateAddStockInventory(stockInventoryDto); src/main/java/com/ruoyi/stock/service/impl/StockUninventoryServiceImpl.java
@@ -58,6 +58,7 @@ newStockUnInventory.setProductModelId(stockUninventoryDto.getProductModelId()); newStockUnInventory.setQualitity(stockUninventoryDto.getQualitity()); newStockUnInventory.setVersion(1); newStockUnInventory.setRemark(stockUninventoryDto.getRemark()); stockUninventoryMapper.insert(newStockUnInventory); }else { stockUninventoryMapper.updateAddStockUnInventory(stockUninventoryDto); src/main/resources/mapper/stock/StockInRecordMapper.xml
@@ -23,6 +23,9 @@ <if test="params.type != null and params.type != ''"> and sir.type = #{params.type} </if> <if test="params.recordType != null and params.recordType != ''"> and sir.record_type = #{params.recordType} </if> </where> order by sir.id desc </select> src/main/resources/mapper/stock/StockInventoryMapper.xml
@@ -22,6 +22,9 @@ <if test="ew.version != null"> version = version + 1, </if> <if test="ew.remark != null and ew.remark !=''"> remark = #{ew.remark}, </if> update_time = now() </set> where product_model_id = #{ew.productModelId} @@ -35,6 +38,9 @@ <if test="ew.version != null"> version = version + 1, </if> <if test="ew.remark != null and ew.remark !=''"> remark = #{ew.remark}, </if> update_time = now() </set> where product_model_id = #{ew.productModelId} and qualitity >= #{ew.qualitity} src/main/resources/mapper/stock/StockOutRecordMapper.xml
@@ -38,6 +38,9 @@ <if test="params.type != null and params.type != ''"> and sor.type = #{params.type} </if> <if test="params.recordType != null and params.recordType != ''"> and sor.record_type = #{params.recordType} </if> </where> order by sor.id desc </select> src/main/resources/mapper/stock/StockUninventoryMapper.xml
@@ -20,6 +20,9 @@ <if test="ew.version != null"> version = version + 1, </if> <if test="ew.remark != null and ew.remark !=''"> remark = #{ew.remark}, </if> update_time = now() </set> where product_model_id = #{ew.productModelId} and qualitity >= #{ew.qualitity} @@ -33,6 +36,9 @@ <if test="ew.version != null"> version = version + 1, </if> <if test="ew.remark != null and ew.remark !=''"> remark = #{ew.remark}, </if> update_time = now() </set> where product_model_id = #{ew.productModelId}