diff --git a/ruoyi-admin/src/main/java/com/ruoyi/check/productAndStock/controller/ViewProductAndStockPdController.java b/ruoyi-admin/src/main/java/com/ruoyi/check/productAndStock/controller/ViewProductAndStockPdController.java new file mode 100644 index 0000000..7eb8d48 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/check/productAndStock/controller/ViewProductAndStockPdController.java @@ -0,0 +1,104 @@ +package com.ruoyi.check.productAndStock.controller; + +import java.util.List; +import jakarta.servlet.http.HttpServletResponse; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.check.productAndStock.domain.ViewProductAndStockPd; +import com.ruoyi.check.productAndStock.service.IViewProductAndStockPdService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * productAndStockController + * + * @author ruoyi + * @date 2025-10-22 + */ +@RestController +@RequestMapping("/check/ProductAndStockPd") +public class ViewProductAndStockPdController extends BaseController +{ + @Autowired + private IViewProductAndStockPdService viewProductAndStockPdService; + + /** + * 查询productAndStock列表 + */ + @PreAuthorize("@ss.hasPermi('check:check:list')") + @GetMapping("/list") + public TableDataInfo list(ViewProductAndStockPd viewProductAndStockPd) + { + startPage(); + List list = viewProductAndStockPdService.selectViewProductAndStockPdList(viewProductAndStockPd); + return getDataTable(list); + } + + /** + * 导出productAndStock列表 + */ + @PreAuthorize("@ss.hasPermi('check:check:export')") + @Log(title = "productAndStock", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, ViewProductAndStockPd viewProductAndStockPd) + { + List list = viewProductAndStockPdService.selectViewProductAndStockPdList(viewProductAndStockPd); + ExcelUtil util = new ExcelUtil(ViewProductAndStockPd.class); + util.exportExcel(response, list, "productAndStock数据"); + } + + /** + * 获取productAndStock详细信息 + */ + @PreAuthorize("@ss.hasPermi('check:check:query')") + @GetMapping(value = "/{productId}") + public AjaxResult getInfo(@PathVariable("productId") String productId) + { + return success(viewProductAndStockPdService.selectViewProductAndStockPdByProductId(productId)); + } + + /** + * 新增productAndStock + */ + @PreAuthorize("@ss.hasPermi('check:check:add')") + @Log(title = "productAndStock", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody ViewProductAndStockPd viewProductAndStockPd) + { + return toAjax(viewProductAndStockPdService.insertViewProductAndStockPd(viewProductAndStockPd)); + } + + /** + * 修改productAndStock + */ + @PreAuthorize("@ss.hasPermi('check:check:edit')") + @Log(title = "productAndStock", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody ViewProductAndStockPd viewProductAndStockPd) + { + return toAjax(viewProductAndStockPdService.updateViewProductAndStockPd(viewProductAndStockPd)); + } + + /** + * 删除productAndStock + */ + @PreAuthorize("@ss.hasPermi('check:check:remove')") + @Log(title = "productAndStock", businessType = BusinessType.DELETE) + @DeleteMapping("/{productIds}") + public AjaxResult remove(@PathVariable String[] productIds) + { + return toAjax(viewProductAndStockPdService.deleteViewProductAndStockPdByProductIds(productIds)); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/check/productAndStock/domain/ViewProductAndStockPd.java b/ruoyi-admin/src/main/java/com/ruoyi/check/productAndStock/domain/ViewProductAndStockPd.java new file mode 100644 index 0000000..e3d49bd --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/check/productAndStock/domain/ViewProductAndStockPd.java @@ -0,0 +1,429 @@ +package com.ruoyi.check.productAndStock.domain; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * productAndStock对象 view_product_and_stock_pd + * + * @author ruoyi + * @date 2025-10-22 + */ +public class ViewProductAndStockPd extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private Long onlyIdentity; + + /** */ + @Excel(name = "") + private String productId; + + /** */ + @Excel(name = "") + private String lotNo; + + /** */ + @Excel(name = "") + private String productName; + + /** */ + @Excel(name = "") + private String quantity; + + /** */ + @Excel(name = "") + private String warehouseId; + + /** */ + @Excel(name = "") + private String spare1; + + /** */ + @Excel(name = "") + private String spare3; + + /** */ + @Excel(name = "") + private String spare4; + + /** */ + @Excel(name = "") + private String spare5; + + /** */ + @Excel(name = "") + private String spare6; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String voltage; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String power; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String phase; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String distribution; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String orderId; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String spare8; + + /** */ + @Excel(name = "") + private String price; + + /** */ + @Excel(name = "") + private String cargoNo; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String productStatus; + + /** */ + @Excel(name = "") + private String parentId; + + /** */ + @Excel(name = "") + private String spare7; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String createSys; + + /** */ + @Excel(name = "") + private String spec; + + /** */ + @Excel(name = "") + private String unit; + + /** */ + @Excel(name = "") + private String supplierName; + + /** */ + @Excel(name = "") + private String checkFlag; + + public void setOnlyIdentity(Long onlyIdentity) + { + this.onlyIdentity = onlyIdentity; + } + + public Long getOnlyIdentity() + { + return onlyIdentity; + } + + public void setProductId(String productId) + { + this.productId = productId; + } + + public String getProductId() + { + return productId; + } + + public void setLotNo(String lotNo) + { + this.lotNo = lotNo; + } + + public String getLotNo() + { + return lotNo; + } + + public void setProductName(String productName) + { + this.productName = productName; + } + + public String getProductName() + { + return productName; + } + + public void setQuantity(String quantity) + { + this.quantity = quantity; + } + + public String getQuantity() + { + return quantity; + } + + public void setWarehouseId(String warehouseId) + { + this.warehouseId = warehouseId; + } + + public String getWarehouseId() + { + return warehouseId; + } + + public void setSpare1(String spare1) + { + this.spare1 = spare1; + } + + public String getSpare1() + { + return spare1; + } + + public void setSpare3(String spare3) + { + this.spare3 = spare3; + } + + public String getSpare3() + { + return spare3; + } + + public void setSpare4(String spare4) + { + this.spare4 = spare4; + } + + public String getSpare4() + { + return spare4; + } + + public void setSpare5(String spare5) + { + this.spare5 = spare5; + } + + public String getSpare5() + { + return spare5; + } + + public void setSpare6(String spare6) + { + this.spare6 = spare6; + } + + public String getSpare6() + { + return spare6; + } + + public void setVoltage(String voltage) + { + this.voltage = voltage; + } + + public String getVoltage() + { + return voltage; + } + + public void setPower(String power) + { + this.power = power; + } + + public String getPower() + { + return power; + } + + public void setPhase(String phase) + { + this.phase = phase; + } + + public String getPhase() + { + return phase; + } + + public void setDistribution(String distribution) + { + this.distribution = distribution; + } + + public String getDistribution() + { + return distribution; + } + + public void setOrderId(String orderId) + { + this.orderId = orderId; + } + + public String getOrderId() + { + return orderId; + } + + public void setSpare8(String spare8) + { + this.spare8 = spare8; + } + + public String getSpare8() + { + return spare8; + } + + public void setPrice(String price) + { + this.price = price; + } + + public String getPrice() + { + return price; + } + + public void setCargoNo(String cargoNo) + { + this.cargoNo = cargoNo; + } + + public String getCargoNo() + { + return cargoNo; + } + + public void setProductStatus(String productStatus) + { + this.productStatus = productStatus; + } + + public String getProductStatus() + { + return productStatus; + } + + public void setParentId(String parentId) + { + this.parentId = parentId; + } + + public String getParentId() + { + return parentId; + } + + public void setSpare7(String spare7) + { + this.spare7 = spare7; + } + + public String getSpare7() + { + return spare7; + } + + public void setCreateSys(String createSys) + { + this.createSys = createSys; + } + + public String getCreateSys() + { + return createSys; + } + + public void setSpec(String spec) + { + this.spec = spec; + } + + public String getSpec() + { + return spec; + } + + public void setUnit(String unit) + { + this.unit = unit; + } + + public String getUnit() + { + return unit; + } + + public void setSupplierName(String supplierName) + { + this.supplierName = supplierName; + } + + public String getSupplierName() + { + return supplierName; + } + + public void setCheckFlag(String checkFlag) + { + this.checkFlag = checkFlag; + } + + public String getCheckFlag() + { + return checkFlag; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("onlyIdentity", getOnlyIdentity()) + .append("productId", getProductId()) + .append("lotNo", getLotNo()) + .append("productName", getProductName()) + .append("quantity", getQuantity()) + .append("warehouseId", getWarehouseId()) + .append("spare1", getSpare1()) + .append("spare3", getSpare3()) + .append("spare4", getSpare4()) + .append("spare5", getSpare5()) + .append("spare6", getSpare6()) + .append("voltage", getVoltage()) + .append("power", getPower()) + .append("phase", getPhase()) + .append("distribution", getDistribution()) + .append("orderId", getOrderId()) + .append("spare8", getSpare8()) + .append("price", getPrice()) + .append("cargoNo", getCargoNo()) + .append("productStatus", getProductStatus()) + .append("parentId", getParentId()) + .append("spare7", getSpare7()) + .append("createTime", getCreateTime()) + .append("createSys", getCreateSys()) + .append("spec", getSpec()) + .append("unit", getUnit()) + .append("supplierName", getSupplierName()) + .append("checkFlag", getCheckFlag()) + .toString(); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/check/productAndStock/mapper/ViewProductAndStockPdMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/check/productAndStock/mapper/ViewProductAndStockPdMapper.java new file mode 100644 index 0000000..a7dec87 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/check/productAndStock/mapper/ViewProductAndStockPdMapper.java @@ -0,0 +1,61 @@ +package com.ruoyi.check.productAndStock.mapper; + +import java.util.List; +import com.ruoyi.check.productAndStock.domain.ViewProductAndStockPd; + +/** + * productAndStockMapper接口 + * + * @author ruoyi + * @date 2025-10-22 + */ +public interface ViewProductAndStockPdMapper +{ + /** + * 查询productAndStock + * + * @param productId productAndStock主键 + * @return productAndStock + */ + public ViewProductAndStockPd selectViewProductAndStockPdByProductId(String productId); + + /** + * 查询productAndStock列表 + * + * @param viewProductAndStockPd productAndStock + * @return productAndStock集合 + */ + public List selectViewProductAndStockPdList(ViewProductAndStockPd viewProductAndStockPd); + + /** + * 新增productAndStock + * + * @param viewProductAndStockPd productAndStock + * @return 结果 + */ + public int insertViewProductAndStockPd(ViewProductAndStockPd viewProductAndStockPd); + + /** + * 修改productAndStock + * + * @param viewProductAndStockPd productAndStock + * @return 结果 + */ + public int updateViewProductAndStockPd(ViewProductAndStockPd viewProductAndStockPd); + + /** + * 删除productAndStock + * + * @param productId productAndStock主键 + * @return 结果 + */ + public int deleteViewProductAndStockPdByProductId(String productId); + + /** + * 批量删除productAndStock + * + * @param productIds 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteViewProductAndStockPdByProductIds(String[] productIds); +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/check/productAndStock/service/IViewProductAndStockPdService.java b/ruoyi-admin/src/main/java/com/ruoyi/check/productAndStock/service/IViewProductAndStockPdService.java new file mode 100644 index 0000000..c40ad64 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/check/productAndStock/service/IViewProductAndStockPdService.java @@ -0,0 +1,61 @@ +package com.ruoyi.check.productAndStock.service; + +import java.util.List; +import com.ruoyi.check.productAndStock.domain.ViewProductAndStockPd; + +/** + * productAndStockService接口 + * + * @author ruoyi + * @date 2025-10-22 + */ +public interface IViewProductAndStockPdService +{ + /** + * 查询productAndStock + * + * @param productId productAndStock主键 + * @return productAndStock + */ + public ViewProductAndStockPd selectViewProductAndStockPdByProductId(String productId); + + /** + * 查询productAndStock列表 + * + * @param viewProductAndStockPd productAndStock + * @return productAndStock集合 + */ + public List selectViewProductAndStockPdList(ViewProductAndStockPd viewProductAndStockPd); + + /** + * 新增productAndStock + * + * @param viewProductAndStockPd productAndStock + * @return 结果 + */ + public int insertViewProductAndStockPd(ViewProductAndStockPd viewProductAndStockPd); + + /** + * 修改productAndStock + * + * @param viewProductAndStockPd productAndStock + * @return 结果 + */ + public int updateViewProductAndStockPd(ViewProductAndStockPd viewProductAndStockPd); + + /** + * 批量删除productAndStock + * + * @param productIds 需要删除的productAndStock主键集合 + * @return 结果 + */ + public int deleteViewProductAndStockPdByProductIds(String[] productIds); + + /** + * 删除productAndStock信息 + * + * @param productId productAndStock主键 + * @return 结果 + */ + public int deleteViewProductAndStockPdByProductId(String productId); +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/check/productAndStock/service/impl/ViewProductAndStockPdServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/check/productAndStock/service/impl/ViewProductAndStockPdServiceImpl.java new file mode 100644 index 0000000..f73c651 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/check/productAndStock/service/impl/ViewProductAndStockPdServiceImpl.java @@ -0,0 +1,93 @@ +package com.ruoyi.check.productAndStock.service.impl; + +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.check.productAndStock.mapper.ViewProductAndStockPdMapper; +import com.ruoyi.check.productAndStock.domain.ViewProductAndStockPd; +import com.ruoyi.check.productAndStock.service.IViewProductAndStockPdService; + +/** + * productAndStockService业务层处理 + * + * @author ruoyi + * @date 2025-10-22 + */ +@Service +public class ViewProductAndStockPdServiceImpl implements IViewProductAndStockPdService +{ + @Autowired + private ViewProductAndStockPdMapper viewProductAndStockPdMapper; + + /** + * 查询productAndStock + * + * @param productId productAndStock主键 + * @return productAndStock + */ + @Override + public ViewProductAndStockPd selectViewProductAndStockPdByProductId(String productId) + { + return viewProductAndStockPdMapper.selectViewProductAndStockPdByProductId(productId); + } + + /** + * 查询productAndStock列表 + * + * @param viewProductAndStockPd productAndStock + * @return productAndStock + */ + @Override + public List selectViewProductAndStockPdList(ViewProductAndStockPd viewProductAndStockPd) + { + return viewProductAndStockPdMapper.selectViewProductAndStockPdList(viewProductAndStockPd); + } + + /** + * 新增productAndStock + * + * @param viewProductAndStockPd productAndStock + * @return 结果 + */ + @Override + public int insertViewProductAndStockPd(ViewProductAndStockPd viewProductAndStockPd) + { + return viewProductAndStockPdMapper.insertViewProductAndStockPd(viewProductAndStockPd); + } + + /** + * 修改productAndStock + * + * @param viewProductAndStockPd productAndStock + * @return 结果 + */ + @Override + public int updateViewProductAndStockPd(ViewProductAndStockPd viewProductAndStockPd) + { + return viewProductAndStockPdMapper.updateViewProductAndStockPd(viewProductAndStockPd); + } + + /** + * 批量删除productAndStock + * + * @param productIds 需要删除的productAndStock主键 + * @return 结果 + */ + @Override + public int deleteViewProductAndStockPdByProductIds(String[] productIds) + { + return viewProductAndStockPdMapper.deleteViewProductAndStockPdByProductIds(productIds); + } + + /** + * 删除productAndStock信息 + * + * @param productId productAndStock主键 + * @return 结果 + */ + @Override + public int deleteViewProductAndStockPdByProductId(String productId) + { + return viewProductAndStockPdMapper.deleteViewProductAndStockPdByProductId(productId); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/check/stockcheckdetail/domain/CheckStockinDetail.java b/ruoyi-admin/src/main/java/com/ruoyi/check/stockcheckdetail/domain/CheckStockinDetail.java index 4383399..28a6274 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/check/stockcheckdetail/domain/CheckStockinDetail.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/check/stockcheckdetail/domain/CheckStockinDetail.java @@ -166,5 +166,7 @@ public class CheckStockinDetail extends BaseEntity private ExtraField extraField; + private String supplierName; + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/controller/CheckMydoJobController.java b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/controller/CheckMydoJobController.java new file mode 100644 index 0000000..149a63c --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/controller/CheckMydoJobController.java @@ -0,0 +1,34 @@ +package com.ruoyi.job.mydojob.controller; + +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.job.mydojob.domain.MydoJob; +import com.ruoyi.job.mydojob.service.IMydoJobService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/job/checkMydoJob") +public class CheckMydoJobController { + + @Autowired + private IMydoJobService mydoJobService; + + /** + * 盘出作业手动作废任务表 + */ + @PreAuthorize("@ss.hasAnyPermi('job:checkMydoJob:OuthandFinish')") + @Log(title = "任务表", businessType = BusinessType.DELETE) + @PostMapping("/manualInvalidation") + public AjaxResult manualInvalidation(@RequestBody MydoJob mydoJob) + { + return mydoJobService.manualInvalidationCheckMydoJob(mydoJob); + } + + +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/service/IMydoJobService.java b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/service/IMydoJobService.java index 51619d0..e61b6f7 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/service/IMydoJobService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/service/IMydoJobService.java @@ -107,4 +107,8 @@ public interface IMydoJobService MydoJob selectMydoJobByTrayCode(String trayCode); MydoJob selectMydoJobByEntranceId(MydoJob mydoJob); + + AjaxResult manualInvalidationCheckMydoJob(MydoJob mydoJob); + + AjaxResult manualCompletedCheckMydoJob(MydoJob mydoJob, int i); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/service/impl/MydoJobServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/service/impl/MydoJobServiceImpl.java index 552e0fd..56ff6d9 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/service/impl/MydoJobServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/service/impl/MydoJobServiceImpl.java @@ -13,6 +13,8 @@ import com.ruoyi.bas.warehouse.domain.BasWarehouse; import com.ruoyi.bas.warehouse.service.IBasWarehouseService; import com.ruoyi.check.difference.domain.CheckDifferenceRecord; import com.ruoyi.check.difference.service.ICheckDifferenceRecordService; +import com.ruoyi.check.stockcheckdetail.domain.CheckStockinDetail; +import com.ruoyi.check.stockcheckdetail.service.ICheckStockinDetailService; import com.ruoyi.common.annotation.DataScope; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.utils.DateUtils; @@ -66,6 +68,8 @@ public class MydoJobServiceImpl implements IMydoJobService { @Autowired private IInStockinDetailService inStockinDetailService; @Autowired + private ICheckStockinDetailService checkStockinDetailService; + @Autowired private IBasStockService basStockService; @Autowired private IOutStockoutDetailService outStockoutDetailService; @@ -270,6 +274,7 @@ public class MydoJobServiceImpl implements IMydoJobService { //生成盘点待审批库存 BasStock stockByInStockinDetail = getStockByInStockinDetail(mydoJobDetail, mydoJob, "2"); stockByInStockinDetail.setSpare7("1"); + stockByInStockinDetail.setBackDate(DateUtil.formatDateTime(DateUtil.date())); list.add(stockByInStockinDetail); //修改异常记录中的库存id CheckDifferenceRecord checkDifferenceRecord = first.get(); @@ -279,6 +284,7 @@ public class MydoJobServiceImpl implements IMydoJobService { } else { BasStock stockByInStockinDetail = getStockByInStockinDetail(mydoJobDetail, mydoJob, "1"); stockByInStockinDetail.setSpare7("1"); + stockByInStockinDetail.setBackDate(DateUtil.formatDateTime(DateUtil.date())); //正常库存 list.add(stockByInStockinDetail); } @@ -392,8 +398,6 @@ public class MydoJobServiceImpl implements IMydoJobService { stock.setVoltage(mydoJobDetail.getSpare2()); stock.setPower(mydoJobDetail.getSpare7()); stock.setPhase(mydoJobDetail.getSupplierId()); - stock.setNetWeight(mydoJobDetail.getSpec()); - stock.setGrossWeight(mydoJobDetail.getStackingId()); stock.setDistribution(mydoJobDetail.getSpare9()); stock.setModel(mydoJobDetail.getUnit()); stock.setOrderId(mydoJobDetail.getSpare6()); @@ -511,4 +515,48 @@ public class MydoJobServiceImpl implements IMydoJobService { public MydoJob selectMydoJobByEntranceId(MydoJob mydoJob) { return mydoJobMapper.selectMydoJobByEntranceId(mydoJob); } + + @Override + public AjaxResult manualInvalidationCheckMydoJob(MydoJob mydoJob) { + String jobId = mydoJob.getJobId(); + MydoJob job = selectMydoJobByJobId(jobId); + if (job == null) { + return AjaxResult.warn("任务不存在"); + } + if (!"1".equals(job.getStatus())) { + return AjaxResult.warn("只能作废未开始的任务"); + } + MydoJobDetail param = new MydoJobDetail(); + param.setJobId(jobId); + List mydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(param); + + for (MydoJobDetail mydoJobDetail : mydoJobDetails) { + String inOrOutDId = mydoJobDetail.getInOrOutDId(); + CheckStockinDetail checkStockinDetail = checkStockinDetailService.selectCheckStockinDetailByStockCheckDetailId(inOrOutDId); + BigDecimal stockInNum = Convert.toBigDecimal(checkStockinDetail.getScanNum()); + BigDecimal jobOutNum = Convert.toBigDecimal(mydoJobDetail.getOutQuantity()); + BigDecimal subtract = stockInNum.subtract(jobOutNum); + checkStockinDetail.setScanNum(Convert.toStr(subtract)); + checkStockinDetailService.updateCheckStockinDetail(checkStockinDetail); + } + //修改货位状态 + BasCargoSpace basCargoSpace = basCargoSpaceService.selectBasCargoSpaceByCargoSpaceId(job.getCargoSpaceId()); + basCargoSpace.setStatus("1"); + basCargoSpaceService.updateBasCargoSpace(basCargoSpace); + + mydoJob.setStatus("5"); + mydoJob.setFinishTime(DateUtil.formatDateTime(new Date())); + updateMydoJob(mydoJob); + //插入历史表 + insertHistory(mydoJob.getJobId()); + //通知wcs + AjaxResult ajaxResult = iToWcsService.cancelTaskByTaskNo(job.getTaskNo()); + log.info("取消任务结果:{}", ajaxResult); + return AjaxResult.success(); + } + + @Override + public AjaxResult manualCompletedCheckMydoJob(MydoJob mydoJob, int i) { + return null; + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaServiceImp.java b/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaServiceImp.java index 20a3f2f..a88b9e6 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaServiceImp.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaServiceImp.java @@ -89,20 +89,17 @@ public class PdaServiceImp implements PdaService { @Override public AjaxResult outMakeSure(TrayCodeMakeSure trayCodeMakeSure) { - String trayCode = trayCodeMakeSure.getTrayCode(); - String[] split = trayCode.split(" "); - String productId = split[8].substring(10); - MydoJob mydoJob = new MydoJob(); - mydoJob.setExitId(trayCodeMakeSure.getExitId()); - mydoJob.setProductId(productId); - mydoJob.setStatus("3"); - mydoJob.setInOrOut("21"); - List mydoJobDetails = mydoJobDetailService.selectMydoJobDetailListByExit(mydoJob); - if(mydoJobDetails.size()==0){ + MydoJob mydoJobParam = new MydoJob(); + //mydoJobParam.setExitId(trayCodeMakeSure.getExitId()); + mydoJobParam.setTrayCode(trayCodeMakeSure.getTrayCode()); + mydoJobParam.setStatus("3"); + mydoJobParam.setInOrOut("21"); + List mydoJobDetails = mydoJobDetailService.selectMydoJobDetailListByExit(mydoJobParam); + if(mydoJobDetails.isEmpty()){ return AjaxResult.error("该物料没有出库作业,请检查"); } HashMap map = new HashMap<>(); - map.put("v_tray_code", mydoJobDetails.get(0).getTrayCode()); + map.put("v_tray_code", trayCodeMakeSure.getTrayCode()); pdaMapper.outMakeSure(map); String result = map.get("v_result").toString(); if ("10".equals(result)) { diff --git a/ruoyi-admin/src/main/resources/mapper/check/CheckStockinDetailMapper.xml b/ruoyi-admin/src/main/resources/mapper/check/CheckStockinDetailMapper.xml index 6a16215..1c8f97c 100644 --- a/ruoyi-admin/src/main/resources/mapper/check/CheckStockinDetailMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/check/CheckStockinDetailMapper.xml @@ -41,23 +41,30 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + select csd.stock_check_detail_id, csd.stock_check_guid, csd.stock_check_id, csd.lot_no, csd.product_guid, csd.product_id, - csd.quantity, csd.quantity_x, csd.quantity_j, csd.price, csd.cargo_no, csd.remark, csd.assign_num, csd.assign_num_x, - csd.assign_num_j, csd.print_date, csd.stock_status, csd.supplier_id, csd.customer_id, csd.unit, csd.spec, + csd.quantity, csd.quantity_x, csd.quantity_j, csd.remark, csd.assign_num, csd.assign_num_x, + csd.assign_num_j, csd.print_date, csd.stock_status, csd.supplier_id, csd.customer_id, csd.scan_num, csd.scan_num_x, csd.scan_num_j, csd.spare1, csd.spare2, csd.spare3, csd.spare4,csd.spare5, csd.spare6, bp.product_name, bcs.cargo_space_name, csd.spare7, csd.spare8, csd.spare9, - csd.order_id + csd.order_id, + bp.price , + bp.unit , + bp.cargo_no, + bp.spec, + bs.supplier_name from check_stockin_detail csd left join bas_product bp on csd.product_id = bp.product_id left join bas_cargo_space bcs on csd.cargo_space_id = bcs.cargo_space_id + left join bas_supplier bs on csd.supplier_id = bs.supplier_no + + + and only_identity = #{onlyIdentity} + and product_id = #{productId} + and lot_no = #{lotNo} + and product_name like concat('%', #{productName}, '%') + and quantity = #{quantity} + and warehouse_id = #{warehouseId} + and spare1 = #{spare1} + and spare3 = #{spare3} + and spare4 = #{spare4} + and spare5 = #{spare5} + and spare6 = #{spare6} + and voltage = #{voltage} + and power = #{power} + and phase = #{phase} + and distribution = #{distribution} + and order_id = #{orderId} + and spare8 = #{spare8} + and price = #{price} + and cargo_no = #{cargoNo} + and product_status = #{productStatus} + and parent_id = #{parentId} + and spare7 = #{spare7} + and create_sys = #{createSys} + and spec = #{spec} + and unit = #{unit} + and supplier_name like concat('%', #{supplierName}, '%') + and check_flag = #{checkFlag} + + + + + + + insert into view_product_and_stock_pd + + only_identity, + product_id, + lot_no, + product_name, + quantity, + warehouse_id, + spare1, + spare3, + spare4, + spare5, + spare6, + voltage, + power, + phase, + distribution, + order_id, + spare8, + price, + cargo_no, + product_status, + parent_id, + spare7, + create_time, + create_sys, + spec, + unit, + supplier_name, + check_flag, + + + #{onlyIdentity}, + #{productId}, + #{lotNo}, + #{productName}, + #{quantity}, + #{warehouseId}, + #{spare1}, + #{spare3}, + #{spare4}, + #{spare5}, + #{spare6}, + #{voltage}, + #{power}, + #{phase}, + #{distribution}, + #{orderId}, + #{spare8}, + #{price}, + #{cargoNo}, + #{productStatus}, + #{parentId}, + #{spare7}, + #{createTime}, + #{createSys}, + #{spec}, + #{unit}, + #{supplierName}, + #{checkFlag}, + + + + + update view_product_and_stock_pd + + product_id = #{productId}, + lot_no = #{lotNo}, + product_name = #{productName}, + quantity = #{quantity}, + warehouse_id = #{warehouseId}, + spare1 = #{spare1}, + spare3 = #{spare3}, + spare4 = #{spare4}, + spare5 = #{spare5}, + spare6 = #{spare6}, + voltage = #{voltage}, + power = #{power}, + phase = #{phase}, + distribution = #{distribution}, + order_id = #{orderId}, + spare8 = #{spare8}, + price = #{price}, + cargo_no = #{cargoNo}, + product_status = #{productStatus}, + parent_id = #{parentId}, + spare7 = #{spare7}, + create_time = #{createTime}, + create_sys = #{createSys}, + spec = #{spec}, + unit = #{unit}, + supplier_name = #{supplierName}, + check_flag = #{checkFlag}, + + where only_identity = #{onlyIdentity} + + + + delete from view_product_and_stock_pd where only_identity = #{onlyIdentity} + + + + delete from view_product_and_stock_pd where only_identity in + + #{onlyIdentity} + + + diff --git a/ruoyi-ui/src/api/job/OutmydoJob.js b/ruoyi-ui/src/api/job/OutmydoJob.js index 7fa2cbe..ef56bc6 100644 --- a/ruoyi-ui/src/api/job/OutmydoJob.js +++ b/ruoyi-ui/src/api/job/OutmydoJob.js @@ -27,6 +27,13 @@ export function hangInvalidJob(jobIds) { params: { jobIds: jobIds } }) } +export function hangInvalidCheckJob(data) { + return request({ + url: '/job/checkMydoJob/manualInvalidation', + method: 'POST', + data: data + }) +} export function pointOut(stockIds,exitId) { return request({ diff --git a/ruoyi-ui/src/api/stock/management.js b/ruoyi-ui/src/api/stock/management.js index 3a14c3b..d782e65 100644 --- a/ruoyi-ui/src/api/stock/management.js +++ b/ruoyi-ui/src/api/stock/management.js @@ -20,7 +20,7 @@ export function getManagement(stockId) { // 查询可出库的库存物资信息列表 export function listProductAndStockPd(query) { return request({ - url: '/out/productAndStock/pd/list', + url: '/check/ProductAndStockPd/list', method: 'get', params: query }) diff --git a/ruoyi-ui/src/views/check/create/index.vue b/ruoyi-ui/src/views/check/create/index.vue index 1d8df4b..70a2416 100644 --- a/ruoyi-ui/src/views/check/create/index.vue +++ b/ruoyi-ui/src/views/check/create/index.vue @@ -2,16 +2,16 @@
- - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +