diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToErpApiController.java b/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToErpApiController.java index 7f42882..3b0e3f0 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToErpApiController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToErpApiController.java @@ -36,12 +36,22 @@ public class ToErpApiController { /** - * 回传其他出入库单 + * 回传其他入库单 */ // @Scheduled(fixedDelay = 1500) - @RequestMapping("/callbackDeliveryNotice") + @RequestMapping("/callbackInDeliveryNotice") @ResponseBody - public AjaxResult callbackDeliveryNotice(String billNo) { - return toErpService.callbackDeliveryNotice(billNo); + public void callbackInDeliveryNotice() { + toErpService.callbackInDeliveryNotice(); } + + /** + * 回传其他出库单 + */ + @RequestMapping("/callbackOutDeliveryNotice") + @ResponseBody + public void callbackDeliveryOutNotice() { + toErpService.callbackoutDeliveryNotice(); + } + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/domain/DeliveryNoticeItemVo.java b/ruoyi-admin/src/main/java/com/ruoyi/api/domain/DeliveryNoticeItemVo.java index 52bb862..9273d2f 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/domain/DeliveryNoticeItemVo.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/domain/DeliveryNoticeItemVo.java @@ -17,6 +17,8 @@ public class DeliveryNoticeItemVo { /** 行号 */ private String lineNo; + /** 对应通知行号 */ + private String notelineNo; /** 单据号 */ private String billNo; /** 存货编码 */ diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/domain/DeliveryNoticeVo.java b/ruoyi-admin/src/main/java/com/ruoyi/api/domain/DeliveryNoticeVo.java index 1f88938..f11d15f 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/domain/DeliveryNoticeVo.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/domain/DeliveryNoticeVo.java @@ -25,6 +25,8 @@ public class DeliveryNoticeVo { private String isProjectOut; /** 单据号 */ private String billNo; + /** 原通知单号 */ + private String noteBillNo; /** 单据时间,格式:yyyy-MM-dd HH:mm:ss */ private String billDate; /** 审核时间,格式:yyyy-MM-dd HH:mm:ss */ diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/service/IToErpService.java b/ruoyi-admin/src/main/java/com/ruoyi/api/service/IToErpService.java index 8859608..f140fc6 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/service/IToErpService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/service/IToErpService.java @@ -12,7 +12,9 @@ public interface IToErpService { AjaxResult receiveDeliveryNotice(DeliveryNoticeVo deliveryNoticeVo); - AjaxResult callbackDeliveryNotice(String billNo); + void callbackInDeliveryNotice(); + + void callbackoutDeliveryNotice(); AjaxResult createWorkshopInboundOrder(BasProduct basProduct); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToErpServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToErpServiceImpl.java index bec31b8..af7678b 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToErpServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToErpServiceImpl.java @@ -12,6 +12,8 @@ import com.ruoyi.in.erp.domain.TransferBillCallback; import com.ruoyi.in.erp.service.ITransferBillCallbackService; import com.ruoyi.in.stockin.domain.InStockin; import com.ruoyi.in.stockin.service.IInStockinService; +import com.ruoyi.in.stockinback.service.IInStockinBackService; +import com.ruoyi.in.stockindeatilback.service.IInStockinDetailBackService; import com.ruoyi.in.stockindetail.domain.InStockinDetail; import com.ruoyi.in.stockindetail.service.IInStockinDetailService; import com.ruoyi.in.stockinfinish.domain.InStockinFinish; @@ -71,6 +73,10 @@ public class ToErpServiceImpl implements IToErpService { @Autowired private IInStockinFinishService inStockinFinishService; + @Autowired + private IInStockinBackService inStockinBackService; + @Autowired + private IInStockinDetailBackService inStockinDetailBackService; private static final String TO_ERP_URL = "http://192.168.1.100:8080/api/"; @@ -293,24 +299,15 @@ public class ToErpServiceImpl implements IToErpService { @Override - public AjaxResult callbackDeliveryNotice(String billNo) { + public void callbackInDeliveryNotice() { InStockin inStockin = null; - inStockin = inStockinService.selectInStockinByStockinId(billNo); - if(inStockin==null) { - InStockinFinish inStockinFinish = inStockinFinishService.selectInStockinFinishByStockinId(billNo); +// inStockin = inStockinService.selectInStockinByStockinId(billNo); - if (inStockinFinish == null) { - return AjaxResult.error("单据不存在"); - }else{ - //将inStockinFinish对象中的所有值赋给inStockin - inStockin = new InStockin(); - BeanUtils.copyProperties(inStockinFinish, inStockin); - } - } - + String billNo=""; DeliveryNoticeVo deliveryNoticeVo = new DeliveryNoticeVo(); deliveryNoticeVo.setBillNo(inStockin.getStockinId()); + deliveryNoticeVo.setNoteBillNo(inStockin.getStockinId()); deliveryNoticeVo.setBillType(inStockin.getInType()); deliveryNoticeVo.setBillDate(inStockin.getCreateDate()); deliveryNoticeVo.setCreateMan(inStockin.getCreateManId()); @@ -333,6 +330,7 @@ public class ToErpServiceImpl implements IToErpService { for (InStockinDetail detail : inStockinDetails) { DeliveryNoticeItemVo item = new DeliveryNoticeItemVo(); item.setLineNo(detail.getStockinDetailId()); + item.setNotelineNo(detail.getStockinDetailId()); item.setBillNo(detail.getStockinId()); item.setInventoryCode(detail.getProductId()); item.setInventoryName(detail.getProductName()); @@ -349,7 +347,13 @@ public class ToErpServiceImpl implements IToErpService { } deliveryNoticeVo.setDetailList(detailList); - return AjaxResult.success(deliveryNoticeVo); +// return AjaxResult.success(deliveryNoticeVo); + } + + + @Override + public void callbackoutDeliveryNotice() { + } @Override diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWmsServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWmsServiceImpl.java index 8360120..4ad9d43 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWmsServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWmsServiceImpl.java @@ -349,7 +349,7 @@ public class ToWmsServiceImpl implements IToWmsService { if (StrUtil.isEmpty(wmsJobRequest.getTaskNo())) { return AjaxResult.error("任务号不能为空"); } - if (StrUtil.isEmpty(wmsJobRequest.getJobId())) { + if (StrUtil.isEmpty(wmsJobRequest.getJobId())) { return AjaxResult.error("任务Id不能为空"); } //入库 diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/service/impl/InStockinServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/service/impl/InStockinServiceImpl.java index 9418000..68fc1b5 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/service/impl/InStockinServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/service/impl/InStockinServiceImpl.java @@ -14,8 +14,14 @@ import com.ruoyi.in.stockin.domain.InStockin; import com.ruoyi.in.stockin.domain.vo.InstockInVo; import com.ruoyi.in.stockin.mapper.InStockinMapper; import com.ruoyi.in.stockin.service.IInStockinService; +import com.ruoyi.in.stockinback.domain.InStockinBack; +import com.ruoyi.in.stockinback.mapper.InStockinBackMapper; +import com.ruoyi.in.stockinback.service.IInStockinBackService; +import com.ruoyi.in.stockindeatilback.mapper.InStockinDetailBackMapper; +import com.ruoyi.in.stockindeatilback.service.IInStockinDetailBackService; import com.ruoyi.in.stockindetail.domain.InStockinDetail; import com.ruoyi.in.stockindetail.service.IInStockinDetailService; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -37,6 +43,10 @@ public class InStockinServiceImpl implements IInStockinService private IInStockinDetailService iInStockinDetailService; @Autowired private IBasJobIdService iBasJobIdService; + @Autowired + private InStockinBackMapper inStockinBackMapper; + @Autowired + private InStockinDetailBackMapper inStockinDetailBackMapper; /** * 查询入库单据 @@ -176,7 +186,9 @@ public class InStockinServiceImpl implements IInStockinService } inStockin.setFinishDate(DateUtil.formatDateTime(DateUtil.date())); inStockinMapper.updateInStockin(inStockin); + insertInStockinBack(inStockin); insertInStockinHistory(inStockin); + } return AjaxResult.success(); } @@ -196,6 +208,13 @@ public class InStockinServiceImpl implements IInStockinService iInStockinDetailService.deleteInStockinDetailByStockinGuid(inStockin.getStockinGuid()); } + private void insertInStockinBack(InStockin inStockin){ + + inStockinBackMapper.insertInStockinBackById(inStockin); + inStockinDetailBackMapper.insertInStockinDetailBackById(inStockin); + + } + /** * 批量删除入库单据 * diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/stockinback/controller/InStockinBackController.java b/ruoyi-admin/src/main/java/com/ruoyi/in/stockinback/controller/InStockinBackController.java new file mode 100644 index 0000000..ce10386 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/stockinback/controller/InStockinBackController.java @@ -0,0 +1,104 @@ +package com.ruoyi.in.stockinback.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.in.stockinback.domain.InStockinBack; +import com.ruoyi.in.stockinback.service.IInStockinBackService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 入库单据主信息Controller + * + * @author ruoyi + * @date 2026-01-27 + */ +@RestController +@RequestMapping("/in/stockinback") +public class InStockinBackController extends BaseController +{ + @Autowired + private IInStockinBackService inStockinBackService; + + /** + * 查询入库单据主信息列表 + */ + @PreAuthorize("@ss.hasPermi('in:stockinback:list')") + @GetMapping("/list") + public TableDataInfo list(InStockinBack inStockinBack) + { + startPage(); + List list = inStockinBackService.selectInStockinBackList(inStockinBack); + return getDataTable(list); + } + + /** + * 导出入库单据主信息列表 + */ + @PreAuthorize("@ss.hasPermi('in:stockinback:export')") + @Log(title = "入库单据主信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, InStockinBack inStockinBack) + { + List list = inStockinBackService.selectInStockinBackList(inStockinBack); + ExcelUtil util = new ExcelUtil(InStockinBack.class); + util.exportExcel(response, list, "入库单据主信息数据"); + } + + /** + * 获取入库单据主信息详细信息 + */ + @PreAuthorize("@ss.hasPermi('in:stockinback:query')") + @GetMapping(value = "/{stockinGuid}") + public AjaxResult getInfo(@PathVariable("stockinGuid") String stockinGuid) + { + return success(inStockinBackService.selectInStockinBackByStockinGuid(stockinGuid)); + } + + /** + * 新增入库单据主信息 + */ + @PreAuthorize("@ss.hasPermi('in:stockinback:add')") + @Log(title = "入库单据主信息", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody InStockinBack inStockinBack) + { + return toAjax(inStockinBackService.insertInStockinBack(inStockinBack)); + } + + /** + * 修改入库单据主信息 + */ + @PreAuthorize("@ss.hasPermi('in:stockinback:edit')") + @Log(title = "入库单据主信息", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody InStockinBack inStockinBack) + { + return toAjax(inStockinBackService.updateInStockinBack(inStockinBack)); + } + + /** + * 删除入库单据主信息 + */ + @PreAuthorize("@ss.hasPermi('in:stockinback:remove')") + @Log(title = "入库单据主信息", businessType = BusinessType.DELETE) + @DeleteMapping("/{stockinGuids}") + public AjaxResult remove(@PathVariable String[] stockinGuids) + { + return toAjax(inStockinBackService.deleteInStockinBackByStockinGuids(stockinGuids)); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/stockinback/domain/InStockinBack.java b/ruoyi-admin/src/main/java/com/ruoyi/in/stockinback/domain/InStockinBack.java new file mode 100644 index 0000000..4a5c313 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/stockinback/domain/InStockinBack.java @@ -0,0 +1,307 @@ +package com.ruoyi.in.stockinback.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; + +/** + * 入库单据主信息对象 in_stockin_back + * + * @author ruoyi + * @date 2026-01-27 + */ +public class InStockinBack extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** GUID */ + private String stockinGuid; + + /** 入库订单ID */ + @Excel(name = "入库订单ID") + private String stockinId; + + /** 入库类型546 */ + @Excel(name = "入库类型546") + private String inType; + + /** 单据时间546 */ + @Excel(name = "单据时间546") + private String createDate; + + /** 制单人546 */ + @Excel(name = "制单人546") + private String createManId; + + /** 单据状态 */ + @Excel(name = "单据状态") + private String status; + + /** 仓库ID546 */ + @Excel(name = "仓库ID546") + private String warehouseId; + + /** 备注546 */ + @Excel(name = "备注546") + private String spare5; + + /** 审核人546 */ + @Excel(name = "审核人546") + private String spare4; + + /** 审核时间546 */ + @Excel(name = "审核时间546") + private String spare3; + + /** 完成日期 */ + @Excel(name = " 完成日期") + private String finishDate; + + /** 销售订单号546 */ + @Excel(name = "销售订单号546") + private String spare2; + + /** 合同号546 */ + @Excel(name = "合同号546") + private String spare1; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String erpBill; + + /** 单据来源 */ + @Excel(name = "单据来源") + private String stockSource; + + /** 项目号546 */ + @Excel(name = "项目号546") + private String departmentNo; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String customerNo; + + /** 供应商名称546 */ + @Excel(name = "供应商名称546") + private String classNo; + + /** 供应商编码546 */ + @Excel(name = "供应商编码546") + private String supplierNo; + + public void setStockinGuid(String stockinGuid) + { + this.stockinGuid = stockinGuid; + } + + public String getStockinGuid() + { + return stockinGuid; + } + + public void setStockinId(String stockinId) + { + this.stockinId = stockinId; + } + + public String getStockinId() + { + return stockinId; + } + + public void setInType(String inType) + { + this.inType = inType; + } + + public String getInType() + { + return inType; + } + + public void setCreateDate(String createDate) + { + this.createDate = createDate; + } + + public String getCreateDate() + { + return createDate; + } + + public void setCreateManId(String createManId) + { + this.createManId = createManId; + } + + public String getCreateManId() + { + return createManId; + } + + public void setStatus(String status) + { + this.status = status; + } + + public String getStatus() + { + return status; + } + + public void setWarehouseId(String warehouseId) + { + this.warehouseId = warehouseId; + } + + public String getWarehouseId() + { + return warehouseId; + } + + public void setSpare5(String spare5) + { + this.spare5 = spare5; + } + + public String getSpare5() + { + return spare5; + } + + public void setSpare4(String spare4) + { + this.spare4 = spare4; + } + + public String getSpare4() + { + return spare4; + } + + public void setSpare3(String spare3) + { + this.spare3 = spare3; + } + + public String getSpare3() + { + return spare3; + } + + public void setFinishDate(String finishDate) + { + this.finishDate = finishDate; + } + + public String getFinishDate() + { + return finishDate; + } + + public void setSpare2(String spare2) + { + this.spare2 = spare2; + } + + public String getSpare2() + { + return spare2; + } + + public void setSpare1(String spare1) + { + this.spare1 = spare1; + } + + public String getSpare1() + { + return spare1; + } + + public void setErpBill(String erpBill) + { + this.erpBill = erpBill; + } + + public String getErpBill() + { + return erpBill; + } + + public void setStockSource(String stockSource) + { + this.stockSource = stockSource; + } + + public String getStockSource() + { + return stockSource; + } + + public void setDepartmentNo(String departmentNo) + { + this.departmentNo = departmentNo; + } + + public String getDepartmentNo() + { + return departmentNo; + } + + public void setCustomerNo(String customerNo) + { + this.customerNo = customerNo; + } + + public String getCustomerNo() + { + return customerNo; + } + + public void setClassNo(String classNo) + { + this.classNo = classNo; + } + + public String getClassNo() + { + return classNo; + } + + public void setSupplierNo(String supplierNo) + { + this.supplierNo = supplierNo; + } + + public String getSupplierNo() + { + return supplierNo; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("stockinGuid", getStockinGuid()) + .append("stockinId", getStockinId()) + .append("inType", getInType()) + .append("createDate", getCreateDate()) + .append("createManId", getCreateManId()) + .append("status", getStatus()) + .append("warehouseId", getWarehouseId()) + .append("spare5", getSpare5()) + .append("spare4", getSpare4()) + .append("spare3", getSpare3()) + .append("finishDate", getFinishDate()) + .append("spare2", getSpare2()) + .append("spare1", getSpare1()) + .append("erpBill", getErpBill()) + .append("stockSource", getStockSource()) + .append("departmentNo", getDepartmentNo()) + .append("customerNo", getCustomerNo()) + .append("classNo", getClassNo()) + .append("supplierNo", getSupplierNo()) + .toString(); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/stockinback/mapper/InStockinBackMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/in/stockinback/mapper/InStockinBackMapper.java new file mode 100644 index 0000000..f3bded8 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/stockinback/mapper/InStockinBackMapper.java @@ -0,0 +1,65 @@ +package com.ruoyi.in.stockinback.mapper; + +import java.util.List; + +import com.ruoyi.in.stockin.domain.InStockin; +import com.ruoyi.in.stockinback.domain.InStockinBack; + +/** + * 入库单据主信息Mapper接口 + * + * @author ruoyi + * @date 2026-01-27 + */ +public interface InStockinBackMapper +{ + /** + * 查询入库单据主信息 + * + * @param stockinGuid 入库单据主信息主键 + * @return 入库单据主信息 + */ + public InStockinBack selectInStockinBackByStockinGuid(String stockinGuid); + + /** + * 查询入库单据主信息列表 + * + * @param inStockinBack 入库单据主信息 + * @return 入库单据主信息集合 + */ + public List selectInStockinBackList(InStockinBack inStockinBack); + + /** + * 新增入库单据主信息 + * + * @param inStockinBack 入库单据主信息 + * @return 结果 + */ + public int insertInStockinBack(InStockinBack inStockinBack); + + public int insertInStockinBackById(InStockin inStockin); + + /** + * 修改入库单据主信息 + * + * @param inStockinBack 入库单据主信息 + * @return 结果 + */ + public int updateInStockinBack(InStockinBack inStockinBack); + + /** + * 删除入库单据主信息 + * + * @param stockinGuid 入库单据主信息主键 + * @return 结果 + */ + public int deleteInStockinBackByStockinGuid(String stockinGuid); + + /** + * 批量删除入库单据主信息 + * + * @param stockinGuids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteInStockinBackByStockinGuids(String[] stockinGuids); +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/stockinback/service/IInStockinBackService.java b/ruoyi-admin/src/main/java/com/ruoyi/in/stockinback/service/IInStockinBackService.java new file mode 100644 index 0000000..d42f27d --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/stockinback/service/IInStockinBackService.java @@ -0,0 +1,61 @@ +package com.ruoyi.in.stockinback.service; + +import java.util.List; +import com.ruoyi.in.stockinback.domain.InStockinBack; + +/** + * 入库单据主信息Service接口 + * + * @author ruoyi + * @date 2026-01-27 + */ +public interface IInStockinBackService +{ + /** + * 查询入库单据主信息 + * + * @param stockinGuid 入库单据主信息主键 + * @return 入库单据主信息 + */ + public InStockinBack selectInStockinBackByStockinGuid(String stockinGuid); + + /** + * 查询入库单据主信息列表 + * + * @param inStockinBack 入库单据主信息 + * @return 入库单据主信息集合 + */ + public List selectInStockinBackList(InStockinBack inStockinBack); + + /** + * 新增入库单据主信息 + * + * @param inStockinBack 入库单据主信息 + * @return 结果 + */ + public int insertInStockinBack(InStockinBack inStockinBack); + + /** + * 修改入库单据主信息 + * + * @param inStockinBack 入库单据主信息 + * @return 结果 + */ + public int updateInStockinBack(InStockinBack inStockinBack); + + /** + * 批量删除入库单据主信息 + * + * @param stockinGuids 需要删除的入库单据主信息主键集合 + * @return 结果 + */ + public int deleteInStockinBackByStockinGuids(String[] stockinGuids); + + /** + * 删除入库单据主信息信息 + * + * @param stockinGuid 入库单据主信息主键 + * @return 结果 + */ + public int deleteInStockinBackByStockinGuid(String stockinGuid); +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/stockinback/service/impl/InStockinBackServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/in/stockinback/service/impl/InStockinBackServiceImpl.java new file mode 100644 index 0000000..abeee0c --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/stockinback/service/impl/InStockinBackServiceImpl.java @@ -0,0 +1,93 @@ +package com.ruoyi.in.stockinback.service.impl; + +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.in.stockinback.mapper.InStockinBackMapper; +import com.ruoyi.in.stockinback.domain.InStockinBack; +import com.ruoyi.in.stockinback.service.IInStockinBackService; + +/** + * 入库单据主信息Service业务层处理 + * + * @author ruoyi + * @date 2026-01-27 + */ +@Service +public class InStockinBackServiceImpl implements IInStockinBackService +{ + @Autowired + private InStockinBackMapper inStockinBackMapper; + + /** + * 查询入库单据主信息 + * + * @param stockinGuid 入库单据主信息主键 + * @return 入库单据主信息 + */ + @Override + public InStockinBack selectInStockinBackByStockinGuid(String stockinGuid) + { + return inStockinBackMapper.selectInStockinBackByStockinGuid(stockinGuid); + } + + /** + * 查询入库单据主信息列表 + * + * @param inStockinBack 入库单据主信息 + * @return 入库单据主信息 + */ + @Override + public List selectInStockinBackList(InStockinBack inStockinBack) + { + return inStockinBackMapper.selectInStockinBackList(inStockinBack); + } + + /** + * 新增入库单据主信息 + * + * @param inStockinBack 入库单据主信息 + * @return 结果 + */ + @Override + public int insertInStockinBack(InStockinBack inStockinBack) + { + return inStockinBackMapper.insertInStockinBack(inStockinBack); + } + + /** + * 修改入库单据主信息 + * + * @param inStockinBack 入库单据主信息 + * @return 结果 + */ + @Override + public int updateInStockinBack(InStockinBack inStockinBack) + { + return inStockinBackMapper.updateInStockinBack(inStockinBack); + } + + /** + * 批量删除入库单据主信息 + * + * @param stockinGuids 需要删除的入库单据主信息主键 + * @return 结果 + */ + @Override + public int deleteInStockinBackByStockinGuids(String[] stockinGuids) + { + return inStockinBackMapper.deleteInStockinBackByStockinGuids(stockinGuids); + } + + /** + * 删除入库单据主信息信息 + * + * @param stockinGuid 入库单据主信息主键 + * @return 结果 + */ + @Override + public int deleteInStockinBackByStockinGuid(String stockinGuid) + { + return inStockinBackMapper.deleteInStockinBackByStockinGuid(stockinGuid); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/stockindeatilback/controller/InStockinDetailBackController.java b/ruoyi-admin/src/main/java/com/ruoyi/in/stockindeatilback/controller/InStockinDetailBackController.java new file mode 100644 index 0000000..ad61180 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/stockindeatilback/controller/InStockinDetailBackController.java @@ -0,0 +1,104 @@ +package com.ruoyi.in.stockindeatilback.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.in.stockindeatilback.domain.InStockinDetailBack; +import com.ruoyi.in.stockindeatilback.service.IInStockinDetailBackService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 入库单据子信息Controller + * + * @author ruoyi + * @date 2026-01-27 + */ +@RestController +@RequestMapping("/in/stockindeatilback") +public class InStockinDetailBackController extends BaseController +{ + @Autowired + private IInStockinDetailBackService inStockinDetailBackService; + + /** + * 查询入库单据子信息列表 + */ + @PreAuthorize("@ss.hasPermi('in:stockindeatilback:list')") + @GetMapping("/list") + public TableDataInfo list(InStockinDetailBack inStockinDetailBack) + { + startPage(); + List list = inStockinDetailBackService.selectInStockinDetailBackList(inStockinDetailBack); + return getDataTable(list); + } + + /** + * 导出入库单据子信息列表 + */ + @PreAuthorize("@ss.hasPermi('in:stockindeatilback:export')") + @Log(title = "入库单据子信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, InStockinDetailBack inStockinDetailBack) + { + List list = inStockinDetailBackService.selectInStockinDetailBackList(inStockinDetailBack); + ExcelUtil util = new ExcelUtil(InStockinDetailBack.class); + util.exportExcel(response, list, "入库单据子信息数据"); + } + + /** + * 获取入库单据子信息详细信息 + */ + @PreAuthorize("@ss.hasPermi('in:stockindeatilback:query')") + @GetMapping(value = "/{stockinDetailId}") + public AjaxResult getInfo(@PathVariable("stockinDetailId") String stockinDetailId) + { + return success(inStockinDetailBackService.selectInStockinDetailBackByStockinDetailId(stockinDetailId)); + } + + /** + * 新增入库单据子信息 + */ + @PreAuthorize("@ss.hasPermi('in:stockindeatilback:add')") + @Log(title = "入库单据子信息", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody InStockinDetailBack inStockinDetailBack) + { + return toAjax(inStockinDetailBackService.insertInStockinDetailBack(inStockinDetailBack)); + } + + /** + * 修改入库单据子信息 + */ + @PreAuthorize("@ss.hasPermi('in:stockindeatilback:edit')") + @Log(title = "入库单据子信息", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody InStockinDetailBack inStockinDetailBack) + { + return toAjax(inStockinDetailBackService.updateInStockinDetailBack(inStockinDetailBack)); + } + + /** + * 删除入库单据子信息 + */ + @PreAuthorize("@ss.hasPermi('in:stockindeatilback:remove')") + @Log(title = "入库单据子信息", businessType = BusinessType.DELETE) + @DeleteMapping("/{stockinDetailIds}") + public AjaxResult remove(@PathVariable String[] stockinDetailIds) + { + return toAjax(inStockinDetailBackService.deleteInStockinDetailBackByStockinDetailIds(stockinDetailIds)); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/stockindeatilback/domain/InStockinDetailBack.java b/ruoyi-admin/src/main/java/com/ruoyi/in/stockindeatilback/domain/InStockinDetailBack.java new file mode 100644 index 0000000..47f347c --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/stockindeatilback/domain/InStockinDetailBack.java @@ -0,0 +1,518 @@ +package com.ruoyi.in.stockindeatilback.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; + +/** + * 入库单据子信息对象 in_stockin_detail_back + * + * @author ruoyi + * @date 2026-01-27 + */ +public class InStockinDetailBack extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 子单ID */ + private String stockinDetailId; + + /** 主单GUID */ + @Excel(name = "主单GUID") + private String stockinGuid; + + /** 主单ID */ + @Excel(name = "主单ID") + private String stockinId; + + /** 批次号546 */ + @Excel(name = "批次号546") + private String lotNo; + + /** 物料ID */ + @Excel(name = "物料ID") + private String productGuid; + + /** 物料编码 */ + @Excel(name = "物料编码") + private String productId; + + /** 计划数量 */ + @Excel(name = "计划数量") + private String quantity; + + /** 计划数量(箱) */ + @Excel(name = "计划数量(箱)") + private String quantityX; + + /** 计划数量(件) */ + @Excel(name = "计划数量(件)") + private String quantityJ; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String price; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String cargoNo; + + /** 实际数量 */ + @Excel(name = "实际数量") + private String assignNum; + + /** 实际数量(箱) */ + @Excel(name = "实际数量(箱)") + private String assignNumX; + + /** 实际数量(件) */ + @Excel(name = "实际数量(件)") + private String assignNumJ; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String printDate; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String stockStatus; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String supplierId; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String customerId; + + /** 计量单位546 */ + @Excel(name = "计量单位546") + private String unit; + + /** 规格型号546 */ + @Excel(name = "规格型号546") + private String spec; + + /** 层级关系546 */ + @Excel(name = "层级关系546") + private String spare1; + + /** 上层物料546 */ + @Excel(name = "上层物料546") + private String spare2; + + /** 顶层物料546 */ + @Excel(name = "顶层物料546") + private String spare3; + + /** 项目号546 */ + @Excel(name = "项目号546") + private String spare4; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String spare5; + + /** 行号546 */ + @Excel(name = "行号546") + private String spare6; + + /** 扫码数量 */ + @Excel(name = "扫码数量") + private String scanNum; + + /** 扫码数量(箱) */ + @Excel(name = "扫码数量(箱)") + private String scanNumX; + + /** 扫码数量(件) */ + @Excel(name = "扫码数量(件)") + private String scanNumJ; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String spare7; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String spare8; + + /** 货位,托盘加数量按逗号分开 */ + @Excel(name = "货位,托盘加数量按逗号分开") + private String spare9; + + /** 物料名称546 */ + @Excel(name = "物料名称546") + private String productName; + + public void setStockinDetailId(String stockinDetailId) + { + this.stockinDetailId = stockinDetailId; + } + + public String getStockinDetailId() + { + return stockinDetailId; + } + + public void setStockinGuid(String stockinGuid) + { + this.stockinGuid = stockinGuid; + } + + public String getStockinGuid() + { + return stockinGuid; + } + + public void setStockinId(String stockinId) + { + this.stockinId = stockinId; + } + + public String getStockinId() + { + return stockinId; + } + + public void setLotNo(String lotNo) + { + this.lotNo = lotNo; + } + + public String getLotNo() + { + return lotNo; + } + + public void setProductGuid(String productGuid) + { + this.productGuid = productGuid; + } + + public String getProductGuid() + { + return productGuid; + } + + public void setProductId(String productId) + { + this.productId = productId; + } + + public String getProductId() + { + return productId; + } + + public void setQuantity(String quantity) + { + this.quantity = quantity; + } + + public String getQuantity() + { + return quantity; + } + + public void setQuantityX(String quantityX) + { + this.quantityX = quantityX; + } + + public String getQuantityX() + { + return quantityX; + } + + public void setQuantityJ(String quantityJ) + { + this.quantityJ = quantityJ; + } + + public String getQuantityJ() + { + return quantityJ; + } + + 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 setAssignNum(String assignNum) + { + this.assignNum = assignNum; + } + + public String getAssignNum() + { + return assignNum; + } + + public void setAssignNumX(String assignNumX) + { + this.assignNumX = assignNumX; + } + + public String getAssignNumX() + { + return assignNumX; + } + + public void setAssignNumJ(String assignNumJ) + { + this.assignNumJ = assignNumJ; + } + + public String getAssignNumJ() + { + return assignNumJ; + } + + public void setPrintDate(String printDate) + { + this.printDate = printDate; + } + + public String getPrintDate() + { + return printDate; + } + + public void setStockStatus(String stockStatus) + { + this.stockStatus = stockStatus; + } + + public String getStockStatus() + { + return stockStatus; + } + + public void setSupplierId(String supplierId) + { + this.supplierId = supplierId; + } + + public String getSupplierId() + { + return supplierId; + } + + public void setCustomerId(String customerId) + { + this.customerId = customerId; + } + + public String getCustomerId() + { + return customerId; + } + + public void setUnit(String unit) + { + this.unit = unit; + } + + public String getUnit() + { + return unit; + } + + public void setSpec(String spec) + { + this.spec = spec; + } + + public String getSpec() + { + return spec; + } + + public void setSpare1(String spare1) + { + this.spare1 = spare1; + } + + public String getSpare1() + { + return spare1; + } + + public void setSpare2(String spare2) + { + this.spare2 = spare2; + } + + public String getSpare2() + { + return spare2; + } + + 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 setScanNum(String scanNum) + { + this.scanNum = scanNum; + } + + public String getScanNum() + { + return scanNum; + } + + public void setScanNumX(String scanNumX) + { + this.scanNumX = scanNumX; + } + + public String getScanNumX() + { + return scanNumX; + } + + public void setScanNumJ(String scanNumJ) + { + this.scanNumJ = scanNumJ; + } + + public String getScanNumJ() + { + return scanNumJ; + } + + public void setSpare7(String spare7) + { + this.spare7 = spare7; + } + + public String getSpare7() + { + return spare7; + } + + public void setSpare8(String spare8) + { + this.spare8 = spare8; + } + + public String getSpare8() + { + return spare8; + } + + public void setSpare9(String spare9) + { + this.spare9 = spare9; + } + + public String getSpare9() + { + return spare9; + } + + public void setProductName(String productName) + { + this.productName = productName; + } + + public String getProductName() + { + return productName; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("stockinDetailId", getStockinDetailId()) + .append("stockinGuid", getStockinGuid()) + .append("stockinId", getStockinId()) + .append("lotNo", getLotNo()) + .append("productGuid", getProductGuid()) + .append("productId", getProductId()) + .append("quantity", getQuantity()) + .append("quantityX", getQuantityX()) + .append("quantityJ", getQuantityJ()) + .append("price", getPrice()) + .append("cargoNo", getCargoNo()) + .append("remark", getRemark()) + .append("assignNum", getAssignNum()) + .append("assignNumX", getAssignNumX()) + .append("assignNumJ", getAssignNumJ()) + .append("printDate", getPrintDate()) + .append("stockStatus", getStockStatus()) + .append("supplierId", getSupplierId()) + .append("customerId", getCustomerId()) + .append("unit", getUnit()) + .append("spec", getSpec()) + .append("spare1", getSpare1()) + .append("spare2", getSpare2()) + .append("spare3", getSpare3()) + .append("spare4", getSpare4()) + .append("spare5", getSpare5()) + .append("spare6", getSpare6()) + .append("scanNum", getScanNum()) + .append("scanNumX", getScanNumX()) + .append("scanNumJ", getScanNumJ()) + .append("spare7", getSpare7()) + .append("spare8", getSpare8()) + .append("spare9", getSpare9()) + .append("productName", getProductName()) + .toString(); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/stockindeatilback/mapper/InStockinDetailBackMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/in/stockindeatilback/mapper/InStockinDetailBackMapper.java new file mode 100644 index 0000000..ede4f51 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/stockindeatilback/mapper/InStockinDetailBackMapper.java @@ -0,0 +1,64 @@ +package com.ruoyi.in.stockindeatilback.mapper; + +import java.util.List; + +import com.ruoyi.in.stockin.domain.InStockin; +import com.ruoyi.in.stockindeatilback.domain.InStockinDetailBack; + +/** + * 入库单据子信息Mapper接口 + * + * @author ruoyi + * @date 2026-01-27 + */ +public interface InStockinDetailBackMapper +{ + /** + * 查询入库单据子信息 + * + * @param stockinDetailId 入库单据子信息主键 + * @return 入库单据子信息 + */ + public InStockinDetailBack selectInStockinDetailBackByStockinDetailId(String stockinDetailId); + + /** + * 查询入库单据子信息列表 + * + * @param inStockinDetailBack 入库单据子信息 + * @return 入库单据子信息集合 + */ + public List selectInStockinDetailBackList(InStockinDetailBack inStockinDetailBack); + + /** + * 新增入库单据子信息 + * + * @param inStockinDetailBack 入库单据子信息 + * @return 结果 + */ + public int insertInStockinDetailBack(InStockinDetailBack inStockinDetailBack); + public int insertInStockinDetailBackById(InStockin inStockin); + + /** + * 修改入库单据子信息 + * + * @param inStockinDetailBack 入库单据子信息 + * @return 结果 + */ + public int updateInStockinDetailBack(InStockinDetailBack inStockinDetailBack); + + /** + * 删除入库单据子信息 + * + * @param stockinDetailId 入库单据子信息主键 + * @return 结果 + */ + public int deleteInStockinDetailBackByStockinDetailId(String stockinDetailId); + + /** + * 批量删除入库单据子信息 + * + * @param stockinDetailIds 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteInStockinDetailBackByStockinDetailIds(String[] stockinDetailIds); +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/stockindeatilback/service/IInStockinDetailBackService.java b/ruoyi-admin/src/main/java/com/ruoyi/in/stockindeatilback/service/IInStockinDetailBackService.java new file mode 100644 index 0000000..c511d79 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/stockindeatilback/service/IInStockinDetailBackService.java @@ -0,0 +1,61 @@ +package com.ruoyi.in.stockindeatilback.service; + +import java.util.List; +import com.ruoyi.in.stockindeatilback.domain.InStockinDetailBack; + +/** + * 入库单据子信息Service接口 + * + * @author ruoyi + * @date 2026-01-27 + */ +public interface IInStockinDetailBackService +{ + /** + * 查询入库单据子信息 + * + * @param stockinDetailId 入库单据子信息主键 + * @return 入库单据子信息 + */ + public InStockinDetailBack selectInStockinDetailBackByStockinDetailId(String stockinDetailId); + + /** + * 查询入库单据子信息列表 + * + * @param inStockinDetailBack 入库单据子信息 + * @return 入库单据子信息集合 + */ + public List selectInStockinDetailBackList(InStockinDetailBack inStockinDetailBack); + + /** + * 新增入库单据子信息 + * + * @param inStockinDetailBack 入库单据子信息 + * @return 结果 + */ + public int insertInStockinDetailBack(InStockinDetailBack inStockinDetailBack); + + /** + * 修改入库单据子信息 + * + * @param inStockinDetailBack 入库单据子信息 + * @return 结果 + */ + public int updateInStockinDetailBack(InStockinDetailBack inStockinDetailBack); + + /** + * 批量删除入库单据子信息 + * + * @param stockinDetailIds 需要删除的入库单据子信息主键集合 + * @return 结果 + */ + public int deleteInStockinDetailBackByStockinDetailIds(String[] stockinDetailIds); + + /** + * 删除入库单据子信息信息 + * + * @param stockinDetailId 入库单据子信息主键 + * @return 结果 + */ + public int deleteInStockinDetailBackByStockinDetailId(String stockinDetailId); +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/stockindeatilback/service/impl/InStockinDetailBackServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/in/stockindeatilback/service/impl/InStockinDetailBackServiceImpl.java new file mode 100644 index 0000000..0821f61 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/stockindeatilback/service/impl/InStockinDetailBackServiceImpl.java @@ -0,0 +1,93 @@ +package com.ruoyi.in.stockindeatilback.service.impl; + +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.in.stockindeatilback.mapper.InStockinDetailBackMapper; +import com.ruoyi.in.stockindeatilback.domain.InStockinDetailBack; +import com.ruoyi.in.stockindeatilback.service.IInStockinDetailBackService; + +/** + * 入库单据子信息Service业务层处理 + * + * @author ruoyi + * @date 2026-01-27 + */ +@Service +public class InStockinDetailBackServiceImpl implements IInStockinDetailBackService +{ + @Autowired + private InStockinDetailBackMapper inStockinDetailBackMapper; + + /** + * 查询入库单据子信息 + * + * @param stockinDetailId 入库单据子信息主键 + * @return 入库单据子信息 + */ + @Override + public InStockinDetailBack selectInStockinDetailBackByStockinDetailId(String stockinDetailId) + { + return inStockinDetailBackMapper.selectInStockinDetailBackByStockinDetailId(stockinDetailId); + } + + /** + * 查询入库单据子信息列表 + * + * @param inStockinDetailBack 入库单据子信息 + * @return 入库单据子信息 + */ + @Override + public List selectInStockinDetailBackList(InStockinDetailBack inStockinDetailBack) + { + return inStockinDetailBackMapper.selectInStockinDetailBackList(inStockinDetailBack); + } + + /** + * 新增入库单据子信息 + * + * @param inStockinDetailBack 入库单据子信息 + * @return 结果 + */ + @Override + public int insertInStockinDetailBack(InStockinDetailBack inStockinDetailBack) + { + return inStockinDetailBackMapper.insertInStockinDetailBack(inStockinDetailBack); + } + + /** + * 修改入库单据子信息 + * + * @param inStockinDetailBack 入库单据子信息 + * @return 结果 + */ + @Override + public int updateInStockinDetailBack(InStockinDetailBack inStockinDetailBack) + { + return inStockinDetailBackMapper.updateInStockinDetailBack(inStockinDetailBack); + } + + /** + * 批量删除入库单据子信息 + * + * @param stockinDetailIds 需要删除的入库单据子信息主键 + * @return 结果 + */ + @Override + public int deleteInStockinDetailBackByStockinDetailIds(String[] stockinDetailIds) + { + return inStockinDetailBackMapper.deleteInStockinDetailBackByStockinDetailIds(stockinDetailIds); + } + + /** + * 删除入库单据子信息信息 + * + * @param stockinDetailId 入库单据子信息主键 + * @return 结果 + */ + @Override + public int deleteInStockinDetailBackByStockinDetailId(String stockinDetailId) + { + return inStockinDetailBackMapper.deleteInStockinDetailBackByStockinDetailId(stockinDetailId); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/mapper/MydoJobMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/mapper/MydoJobMapper.java index 9497638..60fade6 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/mapper/MydoJobMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/mapper/MydoJobMapper.java @@ -76,4 +76,6 @@ public interface MydoJobMapper MydoJob selectMydoJobByEntranceId(MydoJob mydoJob); List getInJobBySerial(String trayCode); + + void manualCompleted(HashMap map); } 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 d5ee8ca..ff1fdcb 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 @@ -73,10 +73,7 @@ public class MydoJobServiceImpl implements IMydoJobService { private IOutStockoutDetailService outStockoutDetailService; @Autowired private IBasCargoSpaceService basCargoSpaceService; - @Autowired - private PdaService pdaService; - @Autowired - private IBasWarehouseService basWarehouseService; + @Autowired private IToWcsService iToWcsService; @Autowired @@ -247,119 +244,129 @@ public class MydoJobServiceImpl implements IMydoJobService { @Override @Transactional(rollbackFor = Exception.class) public AjaxResult manualCompleted(MydoJob mydoJobParam, int type) { + HashMap map = new HashMap<>(); String jobId = mydoJobParam.getJobId(); - MydoJob mydoJob = selectMydoJobByJobId(jobId); - if (mydoJob == null) { - return AjaxResult.warn("任务不存在"); + map.put("v_job_id", jobId); + mydoJobMapper.manualCompleted(map); + if (!"10".equals(map.get("v_result").toString())) { + return AjaxResult.error(map.get("v_resultmsg").toString()); + }else{ + return AjaxResult.success(); } - if ("5".equals(mydoJob.getInOrOut())){ - //盘点入库 - //入库作业 - MydoJobDetail param = new MydoJobDetail(); - param.setJobId(jobId); - List mydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(param); - BasCargoSpace basCargoSpace = basCargoSpaceService.selectBasCargoSpaceByCargoSpaceId(mydoJob.getCargoSpaceId()); - if (CollUtil.isNotEmpty(mydoJobDetails)) { - List list = new ArrayList<>(); - - - //查询盘点信息中的异常信息 - CheckDifferenceRecord checkDifferenceRecordParam = new CheckDifferenceRecord(); - checkDifferenceRecordParam.setTrayCode(mydoJob.getTrayCode()); - checkDifferenceRecordParam.setWarehouseId(mydoJob.getWarehouseId()); - List checkDifferenceRecords = checkDifferenceRecordService.selectCheckDifferenceRecordList(checkDifferenceRecordParam); - for (MydoJobDetail mydoJobDetail : mydoJobDetails) { - //如果存在盘点异常信息 根据托盘条码和物料id 筛选异常信息 - Optional first = checkDifferenceRecords.stream().filter(x -> x.getTrayCode().equals(mydoJob.getTrayCode()) && x.getProductId().equals(mydoJobDetail.getProductId())).findFirst(); - if (first.isPresent()) { - //生成盘点待审批库存 - BasStock stockByInStockinDetail = getStockByInStockinDetail(mydoJobDetail, mydoJob, "2"); - stockByInStockinDetail.setSpare7("1"); - list.add(stockByInStockinDetail); - //修改异常记录中的库存id - CheckDifferenceRecord checkDifferenceRecord = first.get(); - checkDifferenceRecord.setStockId(stockByInStockinDetail.getStockId()); - checkDifferenceRecordService.updateCheckDifferenceRecord(checkDifferenceRecord); - - } else { - BasStock stockByInStockinDetail = getStockByInStockinDetail(mydoJobDetail, mydoJob, "1"); - stockByInStockinDetail.setSpare7("1"); - //正常库存 - list.add(stockByInStockinDetail); - } - - } - - //修改货位状态 - basCargoSpace.setStatus("2"); - basCargoSpace.setTrayCode(mydoJob.getTrayCode()); - basCargoSpace.setCargoSpaceId(mydoJob.getCargoSpaceId()); - basCargoSpaceService.updateBasCargoSpace(basCargoSpace); - - //插入库存信息 - basStockService.insertBasStockList(list); - - //结束任务 - mydoJob.setStatus("4"); - mydoJob.setFinishTime(DateUtil.formatDateTime(DateUtil.date())); - updateMydoJob(mydoJob); - // 插入任务历史表 删除任务 - insertHistory(mydoJob.getJobId()); - return AjaxResult.success(); - } else { - return AjaxResult.warn("不存在子作业"); - } - }else { - //正常入库任务 - MydoJobDetail param = new MydoJobDetail(); - param.setJobId(jobId); - List mydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(param); - BasCargoSpace basCargoSpace = basCargoSpaceService.selectBasCargoSpaceByCargoSpaceId(mydoJob.getCargoSpaceId()); - if (CollUtil.isNotEmpty(mydoJobDetails)) { - List list = new ArrayList<>(); - for (MydoJobDetail mydoJobDetail : mydoJobDetails) { -// if ("2".equals(mydoJob.getInOrOut()) || "3".equals(mydoJob.getInOrOut())) { -// //修改单据实际数量 2-退料入库 3-其它入库 -// String inOrOutDId = mydoJobDetail.getInOrOutDId(); -// InStockinDetail inStockinDetail = inStockinDetailService.selectInStockinDetailByStockinDetailId(inOrOutDId); -// inStockinDetail.setAssignNum(Convert.toStr(Convert.toBigDecimal(inStockinDetail.getAssignNum()).add(Convert.toBigDecimal(mydoJobDetail.getInQuantity())))); -// inStockinDetailService.updateInStockinDetail(inStockinDetail); +// String jobId = mydoJobParam.getJobId(); +// MydoJob mydoJob = selectMydoJobByJobId(jobId); +// if (mydoJob == null) { +// return AjaxResult.warn("任务不存在"); +// } +// if ("5".equals(mydoJob.getInOrOut())){ +// +// //盘点入库 +// //入库作业 +// MydoJobDetail param = new MydoJobDetail(); +// param.setJobId(jobId); +// List mydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(param); +// BasCargoSpace basCargoSpace = basCargoSpaceService.selectBasCargoSpaceByCargoSpaceId(mydoJob.getCargoSpaceId()); +// if (CollUtil.isNotEmpty(mydoJobDetails)) { +// List list = new ArrayList<>(); +// +// +// //查询盘点信息中的异常信息 +// CheckDifferenceRecord checkDifferenceRecordParam = new CheckDifferenceRecord(); +// checkDifferenceRecordParam.setTrayCode(mydoJob.getTrayCode()); +// checkDifferenceRecordParam.setWarehouseId(mydoJob.getWarehouseId()); +// List checkDifferenceRecords = checkDifferenceRecordService.selectCheckDifferenceRecordList(checkDifferenceRecordParam); +// for (MydoJobDetail mydoJobDetail : mydoJobDetails) { +// //如果存在盘点异常信息 根据托盘条码和物料id 筛选异常信息 +// Optional first = checkDifferenceRecords.stream().filter(x -> x.getTrayCode().equals(mydoJob.getTrayCode()) && x.getProductId().equals(mydoJobDetail.getProductId())).findFirst(); +// if (first.isPresent()) { +// //生成盘点待审批库存 +// BasStock stockByInStockinDetail = getStockByInStockinDetail(mydoJobDetail, mydoJob, "2"); +// stockByInStockinDetail.setSpare7("1"); +// list.add(stockByInStockinDetail); +// //修改异常记录中的库存id +// CheckDifferenceRecord checkDifferenceRecord = first.get(); +// checkDifferenceRecord.setStockId(stockByInStockinDetail.getStockId()); +// checkDifferenceRecordService.updateCheckDifferenceRecord(checkDifferenceRecord); +// +// } else { +// BasStock stockByInStockinDetail = getStockByInStockinDetail(mydoJobDetail, mydoJob, "1"); +// stockByInStockinDetail.setSpare7("1"); +// //正常库存 +// list.add(stockByInStockinDetail); // } - //正常库存 - BasStock stockByInStockinDetail = getStockByInStockinDetail(mydoJobDetail, mydoJob, "1"); - stockByInStockinDetail.setSpare7("0"); - list.add(stockByInStockinDetail); - } - - //修改货位状态 - basCargoSpace.setStatus("2"); - basCargoSpace.setTrayCode(mydoJob.getTrayCode()); - basCargoSpace.setCargoSpaceId(mydoJob.getCargoSpaceId()); - basCargoSpaceService.updateBasCargoSpace(basCargoSpace); - - //插入库存信息 - basStockService.insertBasStockList(list); - - //结束任务 - mydoJob.setStatus("4"); - mydoJob.setFinishTime(DateUtil.formatDateTime(DateUtil.date())); - updateMydoJob(mydoJob); - // 插入任务历史表 删除任务 - insertHistory(mydoJob.getJobId()); - - //其他出入库单据回传 - TransferBillCallback transferBillCallback = new TransferBillCallback(); - transferBillCallback.setJobId(mydoJob.getJobId()); - transferBillCallback.setErpBill(mydoJob.getLineId()); - transferBillCallback.setType("1"); - transferBillCallback.setStatus("0"); - transferBillCallbackService.insertTransferBillCallback(transferBillCallback); - return AjaxResult.success(); - } else { - return AjaxResult.warn("不存在子作业"); - } - } +// +// } +// +// //修改货位状态 +// basCargoSpace.setStatus("2"); +// basCargoSpace.setTrayCode(mydoJob.getTrayCode()); +// basCargoSpace.setCargoSpaceId(mydoJob.getCargoSpaceId()); +// basCargoSpaceService.updateBasCargoSpace(basCargoSpace); +// +// //插入库存信息 +// basStockService.insertBasStockList(list); +// +// //结束任务 +// mydoJob.setStatus("4"); +// mydoJob.setFinishTime(DateUtil.formatDateTime(DateUtil.date())); +// updateMydoJob(mydoJob); +// // 插入任务历史表 删除任务 +// insertHistory(mydoJob.getJobId()); +// return AjaxResult.success(); +// } else { +// return AjaxResult.warn("不存在子作业"); +// } +// }else { +// //正常入库任务 +// MydoJobDetail param = new MydoJobDetail(); +// param.setJobId(jobId); +// List mydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(param); +// BasCargoSpace basCargoSpace = basCargoSpaceService.selectBasCargoSpaceByCargoSpaceId(mydoJob.getCargoSpaceId()); +// if (CollUtil.isNotEmpty(mydoJobDetails)) { +// List list = new ArrayList<>(); +// for (MydoJobDetail mydoJobDetail : mydoJobDetails) { +//// if ("2".equals(mydoJob.getInOrOut()) || "3".equals(mydoJob.getInOrOut())) { +//// //修改单据实际数量 2-退料入库 3-其它入库 +//// String inOrOutDId = mydoJobDetail.getInOrOutDId(); +//// InStockinDetail inStockinDetail = inStockinDetailService.selectInStockinDetailByStockinDetailId(inOrOutDId); +//// inStockinDetail.setAssignNum(Convert.toStr(Convert.toBigDecimal(inStockinDetail.getAssignNum()).add(Convert.toBigDecimal(mydoJobDetail.getInQuantity())))); +//// inStockinDetailService.updateInStockinDetail(inStockinDetail); +//// } +// //正常库存 +// BasStock stockByInStockinDetail = getStockByInStockinDetail(mydoJobDetail, mydoJob, "1"); +// stockByInStockinDetail.setSpare7("0"); +// list.add(stockByInStockinDetail); +// } +// +// //修改货位状态 +// basCargoSpace.setStatus("2"); +// basCargoSpace.setTrayCode(mydoJob.getTrayCode()); +// basCargoSpace.setCargoSpaceId(mydoJob.getCargoSpaceId()); +// basCargoSpaceService.updateBasCargoSpace(basCargoSpace); +// +// //插入库存信息 +// basStockService.insertBasStockList(list); +// +// //结束任务 +// mydoJob.setStatus("4"); +// mydoJob.setFinishTime(DateUtil.formatDateTime(DateUtil.date())); +// updateMydoJob(mydoJob); +// // 插入任务历史表 删除任务 +// insertHistory(mydoJob.getJobId()); +// +// //其他出入库单据回传 +// TransferBillCallback transferBillCallback = new TransferBillCallback(); +// transferBillCallback.setJobId(mydoJob.getJobId()); +// transferBillCallback.setErpBill(mydoJob.getLineId()); +// transferBillCallback.setType("1"); +// transferBillCallback.setStatus("0"); +// transferBillCallbackService.insertTransferBillCallback(transferBillCallback); +// return AjaxResult.success(); +// } else { +// return AjaxResult.warn("不存在子作业"); +// } +// } } private BasStock getStockByInStockinDetail(MydoJobDetail mydoJobDetail, MydoJob mydoJob, String productStatus) { diff --git a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojobdetail/domain/MydoJobDetail.java b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojobdetail/domain/MydoJobDetail.java index 3f258c2..9d38be8 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojobdetail/domain/MydoJobDetail.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojobdetail/domain/MydoJobDetail.java @@ -150,6 +150,8 @@ public class MydoJobDetail extends BaseEntity private String unit; private String trayCode; + private String stockinDetailId; + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pda/controller/PdaController.java b/ruoyi-admin/src/main/java/com/ruoyi/pda/controller/PdaController.java index f43fd4a..2c2cb57 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/pda/controller/PdaController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/pda/controller/PdaController.java @@ -38,8 +38,9 @@ public class PdaController extends BaseController { */ @RequestMapping("/selectHasHalfTray") @ResponseBody - public List selectHasHalfTray(String inStockinDetailId) { - return pdaService.selectHasHalfTray(inStockinDetailId); + public AjaxResult selectHasHalfTray(String inStockinDetailId) { + List basStocks = pdaService.selectHasHalfTray(inStockinDetailId); + return AjaxResult.success(basStocks); } /** @@ -49,6 +50,9 @@ public class PdaController extends BaseController { @ResponseBody public AjaxResult selectDetailById(String inStockinDetailId) { InStockinDetail inStockinDetail = iInStockinDetailService.selectInStockinDetailByStockinDetailId(inStockinDetailId); + if(inStockinDetail != null) { + inStockinDetail.setQuantity(String.valueOf(Integer.valueOf(inStockinDetail.getQuantity()) - Integer.valueOf(inStockinDetail.getScanNum()))); + } return AjaxResult.success(inStockinDetail); } @@ -58,8 +62,8 @@ public class PdaController extends BaseController { @RequestMapping("/halfTrayOut") @ResponseBody - public AjaxResult halfTrayOut(String trayCode) { - return pdaService.halfTrayOut(trayCode); + public AjaxResult halfTrayOut(@RequestBody TrayCodeMsg trayCodeMsg) { + return pdaService.halfTrayOut(trayCodeMsg); } @@ -77,19 +81,54 @@ public class PdaController extends BaseController { */ @RequestMapping("/bindTray") @ResponseBody - public AjaxResult bindTray(@RequestBody TrayCodeMsg trayCodeMsg) { - return pdaService.bindTray(trayCodeMsg); + public AjaxResult bindTray(@RequestBody TrayCodeMakeSure trayCodeMakeSure) { + return pdaService.bindTray(trayCodeMakeSure); } /** - * 确认入库 + * 空托盘入库 */ - @RequestMapping("/confirmIn") + @RequestMapping("/tpIn") @ResponseBody - public AjaxResult confirmIn(String trayCode) { - return pdaService.confirmIn(trayCode); + public AjaxResult tpIn(@RequestBody TrayCodeMsg trayCodeMsg) { + return pdaService.tpIn(trayCodeMsg.getTrayCode()); } + /** + * 空托盘出库 + */ + @RequestMapping("/tpOut") + @ResponseBody + public AjaxResult tpOut(@RequestBody TrayCodeMsg trayCodeMsg) { + return pdaService.tpOut(trayCodeMsg); + } + + /** + * 出库确认查询子作业信息 + * @param trayCodeMsg + * @return + */ + @RequestMapping("/selectJobDetailByTray") + @ResponseBody + public AjaxResult selectJobDetailByTray(@RequestBody TrayCodeMsg trayCodeMsg){ + return pdaService.selectJobDetailByTray(trayCodeMsg); + } + + /** + * 出库确认 + * + * @param trayCodeMakeSure 托盘信息 + * @return + */ + @PreAuthorize("@ss.hasPermi('pda:out:outMakeSure')") + @PostMapping("/outMakeSure") + @Log(title = "手持机出库确认", businessType = BusinessType.INSERT) + @ResponseBody + public AjaxResult outMakeSure(@RequestBody TrayCodeMakeSure trayCodeMakeSure) { + return pdaService.outMakeSure(trayCodeMakeSure); + } + + @@ -111,19 +150,7 @@ public class PdaController extends BaseController { } - /** - * 出库确认 - * - * @param trayCodeMakeSure 托盘信息 - * @return - */ - @PreAuthorize("@ss.hasPermi('pda:out:outMakeSure')") - @PostMapping("/outMakeSure") - @Log(title = "手持机出库确认", businessType = BusinessType.INSERT) - @ResponseBody - public AjaxResult outMakeSure(@RequestBody TrayCodeMakeSure trayCodeMakeSure) { - return pdaService.outMakeSure(trayCodeMakeSure); - } + /** diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pda/domain/TrayCodeMakeSure.java b/ruoyi-admin/src/main/java/com/ruoyi/pda/domain/TrayCodeMakeSure.java index 6131d3a..3e30ebe 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/pda/domain/TrayCodeMakeSure.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/pda/domain/TrayCodeMakeSure.java @@ -21,6 +21,7 @@ public class TrayCodeMakeSure { private String warehouseId; private String exitId; + private String isFull; //拣选详情列表 private List mydoJobDetailList; //盘点详情列表 diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pda/mapper/PdaMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/pda/mapper/PdaMapper.java index 0808393..64290a8 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/pda/mapper/PdaMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/pda/mapper/PdaMapper.java @@ -6,6 +6,11 @@ public interface PdaMapper { void bindTray(HashMap map); + void tpIn(HashMap map); + + void halfTrayOut(HashMap map); + + void tpOut(HashMap map); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaService.java b/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaService.java index c258a52..767242a 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaService.java @@ -22,13 +22,17 @@ public interface PdaService { */ List selectHasHalfTray(String inStockinDetailId); - AjaxResult halfTrayOut(String trayCode); + AjaxResult halfTrayOut(TrayCodeMsg trayCodeMsg); Object selectMsgByTray(TrayCodeMsg trayCodeMsg); - AjaxResult bindTray(TrayCodeMsg trayCodeMsg); + AjaxResult bindTray(TrayCodeMakeSure trayCodeMakeSure); - AjaxResult confirmIn(String trayCode); + AjaxResult tpIn(String trayCode); + + AjaxResult tpOut(TrayCodeMsg trayCodeMsg); + + AjaxResult selectJobDetailByTray(TrayCodeMsg trayCodeMsg); 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 1a34114..ba4607b 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 @@ -11,6 +11,8 @@ import com.ruoyi.check.commit.service.ICheckCommitRecordService; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.utils.MessageUtils; +import com.ruoyi.in.stockin.domain.InStockin; +import com.ruoyi.in.stockin.service.IInStockinService; import com.ruoyi.in.stockindetail.domain.InStockinDetail; import com.ruoyi.in.stockindetail.service.IInStockinDetailService; import com.ruoyi.job.mydojob.domain.MydoJob; @@ -56,20 +58,37 @@ public class PdaServiceImp implements PdaService { private IToWcsService toWcsService; @Autowired private BasStockMapper basStockMapper; - + @Autowired + private IInStockinService inStockinService; @Override public List selectHasHalfTray(String inStockinDetailId) { InStockinDetail inStockinDetail = inStockinDetailService.selectInStockinDetailByStockinDetailId(inStockinDetailId); + InStockin inStockin = inStockinService.selectInStockinByStockinId(inStockinDetail.getStockinId()); + inStockinDetail.setSpare4(inStockin.getDepartmentNo()); List hasHalfTray = basStockMapper.selectHasHalfTray(inStockinDetail); return hasHalfTray; } @Override - public AjaxResult halfTrayOut(String trayCode) { - return null; + public AjaxResult halfTrayOut(TrayCodeMsg trayCodeMsg) { + InStockinDetail inStockinDetail = inStockinDetailService.selectInStockinDetailByStockinDetailId(trayCodeMsg.getStockinDetailId()); + InStockin inStockin = inStockinService.selectInStockinByStockinId(inStockinDetail.getStockinId()); + inStockinDetail.setSpare4(inStockin.getDepartmentNo()); + List hasHalfTray = basStockMapper.selectHasHalfTray(inStockinDetail); + HashMap map = new HashMap<>(); + map.put("v_tray_code", hasHalfTray.get(0).getTrayCode()); + map.put("v_exit_id",trayCodeMsg.getExitId()); + pdaMapper.halfTrayOut(map); + if(!"10".equals(map.get("v_result").toString())){ + return AjaxResult.error(map.get("v_resultmsg").toString()); + }else{ + return AjaxResult.success(); + } + + } @Override @@ -79,70 +98,102 @@ public class PdaServiceImp implements PdaService { //todo 半盘出库作业类型 mydoJob.setInOrOut(""); List mydoJobDetails = mydoJobDetailService.selectMydoJobDetailListByTrayCode(mydoJob); - if(mydoJobDetails.size()==0){ + if (mydoJobDetails.size() == 0) { TrayMsg trayMsg = new TrayMsg(); trayMsg.setTrayCode(trayCodeMsg.getTrayCode()); List trayMsgList = trayMsgService.selectTrayMsgList(trayMsg); return trayMsgList; - }else{ + } else { return mydoJobDetails; } } @Override - public AjaxResult bindTray(TrayCodeMsg trayCodeMsg) { + @Transactional(rollbackFor = Exception.class) + public AjaxResult bindTray(TrayCodeMakeSure trayCodeMakeSure) { + StringBuilder errorbulider = new StringBuilder(); + + + for (MydoJobDetail mydoJobDetail : trayCodeMakeSure.getMydoJobDetailList()) { + HashMap map = new HashMap<>(); + map.put("v_tray_code", trayCodeMakeSure.getTrayCode()); + map.put("v_stockin_detail_id", mydoJobDetail.getStockinDetailId()); + map.put("v_quantity", Integer.valueOf(mydoJobDetail.getInQuantity())); + pdaMapper.bindTray(map); + if (!"10".equals(map.get("v_result").toString())) { + errorbulider.append(mydoJobDetail.getStockinDetailId() + map.get("v_resultmsg").toString()); + return AjaxResult.error(errorbulider.toString()); + } + + } HashMap map = new HashMap<>(); - map.put("v_tray_code", trayCodeMsg.getTrayCode()); - map.put("v_stockin_detail_id", trayCodeMsg.getStockinDetailId()); - map.put("v_quantity", Integer.valueOf(trayCodeMsg.getInQuantity())); - pdaMapper.bindTray(map); - if("10".equals(map.get("v_result").toString())){ - return AjaxResult.success(); - }else{ + map.put("v_tray_code", trayCodeMakeSure.getTrayCode()); + map.put("v_is_full", trayCodeMakeSure.getIsFull()); + pdaMapper.addInJob(map); + if (!"10".equals(map.get("v_result").toString())) { + return AjaxResult.error(errorbulider.toString()); + } + + return AjaxResult.success(); + } + + @Override + public AjaxResult tpIn(String trayCode) { + HashMap map = new HashMap<>(); + map.put("v_tray_code", trayCode); + pdaMapper.tpIn(map); + if(!"10".equals(map.get("v_result").toString())){ return AjaxResult.error(map.get("v_resultmsg").toString()); + }else{ + return AjaxResult.success(); } } @Override - public AjaxResult confirmIn(String trayCode) { - //如果有出库作业,修改作业类型改为合盘入库类型,合盘出库放历史表 + public AjaxResult tpOut(TrayCodeMsg trayCodeMsg) { - - - //如果没有出库作业,正常生成入库作业 - return null; + HashMap map = new HashMap<>(); + map.put("v_exit_id", trayCodeMsg.getExitId()); + pdaMapper.tpOut(map); + if(!"10".equals(map.get("v_result").toString())){ + return AjaxResult.error(map.get("v_resultmsg").toString()); + }else{ + return AjaxResult.success(); + } } + @Override + public AjaxResult selectJobDetailByTray(TrayCodeMsg trayCodeMsg) { + MydoJob mydoJob = new MydoJob(); + mydoJob.setTrayCode(trayCodeMsg.getTrayCode()); + List mydoJobDetails = mydoJobDetailService.selectMydoJobDetailListByTrayCode(mydoJob); + return AjaxResult.success(mydoJobDetails); - - - + } @Override public AjaxResult addInJob(RequestEnter requestEnter) { - if(requestEnter.getEntranceId()!=null){ - MydoJob mydoJob = new MydoJob(); - mydoJob.setEntranceId(requestEnter.getEntranceId()); - mydoJob.setStatus("1"); - MydoJob mydoJob1 = mydoJobService.selectMydoJobByEntranceId(mydoJob); - if(mydoJob1!=null){ - return AjaxResult.error("该入口已有作业"); - } - }else{ - return AjaxResult.error("请选择出口"); - } - requestEnter.setFlag("1"); + if (requestEnter.getEntranceId() != null) { + MydoJob mydoJob = new MydoJob(); + mydoJob.setEntranceId(requestEnter.getEntranceId()); + mydoJob.setStatus("1"); + MydoJob mydoJob1 = mydoJobService.selectMydoJobByEntranceId(mydoJob); + if (mydoJob1 != null) { + return AjaxResult.error("该入口已有作业"); + } + } else { + return AjaxResult.error("请选择出口"); + } + requestEnter.setFlag("1"); AjaxResult ajaxResult = iToWmsService.requestEnterByTrayCode(requestEnter); return ajaxResult; } - - @Override public AjaxResult selectDetailByPDTray(TrayCodeMakeSure trayCodeMakeSure) { MydoJob mydoJob = new MydoJob(); @@ -156,25 +207,25 @@ 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"); +// 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){ // return AjaxResult.error("该物料没有出库作业,请检查"); // } HashMap map = new HashMap<>(); -// map.put("v_tray_code", mydoJobDetails.get(0).getTrayCode()); + map.put("v_tray_code", trayCode); pdaMapper.outMakeSure(map); String result = map.get("v_result").toString(); if ("10".equals(result)) { return AjaxResult.success(); } else { - return AjaxResult.error( map.get("v_resultmsg").toString()); + return AjaxResult.error(map.get("v_resultmsg").toString()); } @@ -190,7 +241,7 @@ public class PdaServiceImp implements PdaService { mydoJob.setStatus("3"); mydoJob.setInOrOut("26"); List mydoJobDetails = mydoJobDetailService.selectPdMydoJobDetailListByExit(mydoJob); - if(mydoJobDetails.isEmpty()){ + if (mydoJobDetails.isEmpty()) { return AjaxResult.error("该物料没有盘点出库作业,请检查"); } diff --git a/ruoyi-admin/src/main/resources/mapper/in/InStockinBackMapper.xml b/ruoyi-admin/src/main/resources/mapper/in/InStockinBackMapper.xml new file mode 100644 index 0000000..cf4d654 --- /dev/null +++ b/ruoyi-admin/src/main/resources/mapper/in/InStockinBackMapper.xml @@ -0,0 +1,148 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + select stockin_guid, stockin_id, in_type, create_date, create_man_id, status, warehouse_id, spare5, spare4, spare3, finish_date, spare2, spare1, erp_bill, stock_source, department_no, customer_no, class_no, supplier_no from in_stockin_back + + + + + + + + insert into in_stockin_back + + stockin_guid, + stockin_id, + in_type, + create_date, + create_man_id, + status, + warehouse_id, + spare5, + spare4, + spare3, + finish_date, + spare2, + spare1, + erp_bill, + stock_source, + department_no, + customer_no, + class_no, + supplier_no, + + + #{stockinGuid}, + #{stockinId}, + #{inType}, + #{createDate}, + #{createManId}, + #{status}, + #{warehouseId}, + #{spare5}, + #{spare4}, + #{spare3}, + #{finishDate}, + #{spare2}, + #{spare1}, + #{erpBill}, + #{stockSource}, + #{departmentNo}, + #{customerNo}, + #{classNo}, + #{supplierNo}, + + + + + insert into in_stockin_back + select * from in_stockin where stockin_guid = #{stockinGuid} + + + + update in_stockin_back + + stockin_id = #{stockinId}, + in_type = #{inType}, + create_date = #{createDate}, + create_man_id = #{createManId}, + status = #{status}, + warehouse_id = #{warehouseId}, + spare5 = #{spare5}, + spare4 = #{spare4}, + spare3 = #{spare3}, + finish_date = #{finishDate}, + spare2 = #{spare2}, + spare1 = #{spare1}, + erp_bill = #{erpBill}, + stock_source = #{stockSource}, + department_no = #{departmentNo}, + customer_no = #{customerNo}, + class_no = #{classNo}, + supplier_no = #{supplierNo}, + + where stockin_guid = #{stockinGuid} + + + + delete from in_stockin_back where stockin_guid = #{stockinGuid} + + + + delete from in_stockin_back where stockin_guid in + + #{stockinGuid} + + + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/mapper/in/InStockinDetailBackMapper.xml b/ruoyi-admin/src/main/resources/mapper/in/InStockinDetailBackMapper.xml new file mode 100644 index 0000000..51d7dc6 --- /dev/null +++ b/ruoyi-admin/src/main/resources/mapper/in/InStockinDetailBackMapper.xml @@ -0,0 +1,223 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select stockin_detail_id, stockin_guid, stockin_id, lot_no, product_guid, product_id, quantity, quantity_x, quantity_j, price, cargo_no, remark, assign_num, assign_num_x, assign_num_j, print_date, stock_status, supplier_id, customer_id, unit, spec, spare1, spare2, spare3, spare4, spare5, spare6, scan_num, scan_num_x, scan_num_j, spare7, spare8, spare9, product_name from in_stockin_detail_back + + + + + + + + insert into in_stockin_detail_back + + stockin_detail_id, + stockin_guid, + stockin_id, + lot_no, + product_guid, + product_id, + quantity, + quantity_x, + quantity_j, + price, + cargo_no, + remark, + assign_num, + assign_num_x, + assign_num_j, + print_date, + stock_status, + supplier_id, + customer_id, + unit, + spec, + spare1, + spare2, + spare3, + spare4, + spare5, + spare6, + scan_num, + scan_num_x, + scan_num_j, + spare7, + spare8, + spare9, + product_name, + + + #{stockinDetailId}, + #{stockinGuid}, + #{stockinId}, + #{lotNo}, + #{productGuid}, + #{productId}, + #{quantity}, + #{quantityX}, + #{quantityJ}, + #{price}, + #{cargoNo}, + #{remark}, + #{assignNum}, + #{assignNumX}, + #{assignNumJ}, + #{printDate}, + #{stockStatus}, + #{supplierId}, + #{customerId}, + #{unit}, + #{spec}, + #{spare1}, + #{spare2}, + #{spare3}, + #{spare4}, + #{spare5}, + #{spare6}, + #{scanNum}, + #{scanNumX}, + #{scanNumJ}, + #{spare7}, + #{spare8}, + #{spare9}, + #{productName}, + + + + + + insert into in_stockin_detail_back + select * from in_stockin_detail where stockin_guid = #{stockinGuid} + + + + update in_stockin_detail_back + + stockin_guid = #{stockinGuid}, + stockin_id = #{stockinId}, + lot_no = #{lotNo}, + product_guid = #{productGuid}, + product_id = #{productId}, + quantity = #{quantity}, + quantity_x = #{quantityX}, + quantity_j = #{quantityJ}, + price = #{price}, + cargo_no = #{cargoNo}, + remark = #{remark}, + assign_num = #{assignNum}, + assign_num_x = #{assignNumX}, + assign_num_j = #{assignNumJ}, + print_date = #{printDate}, + stock_status = #{stockStatus}, + supplier_id = #{supplierId}, + customer_id = #{customerId}, + unit = #{unit}, + spec = #{spec}, + spare1 = #{spare1}, + spare2 = #{spare2}, + spare3 = #{spare3}, + spare4 = #{spare4}, + spare5 = #{spare5}, + spare6 = #{spare6}, + scan_num = #{scanNum}, + scan_num_x = #{scanNumX}, + scan_num_j = #{scanNumJ}, + spare7 = #{spare7}, + spare8 = #{spare8}, + spare9 = #{spare9}, + product_name = #{productName}, + + where stockin_detail_id = #{stockinDetailId} + + + + delete from in_stockin_detail_back where stockin_detail_id = #{stockinDetailId} + + + + delete from in_stockin_detail_back where stockin_detail_id in + + #{stockinDetailId} + + + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/mapper/job/MydoJobDetailFinishMapper.xml b/ruoyi-admin/src/main/resources/mapper/job/MydoJobDetailFinishMapper.xml index af5d578..dd402f1 100644 --- a/ruoyi-admin/src/main/resources/mapper/job/MydoJobDetailFinishMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/job/MydoJobDetailFinishMapper.xml @@ -22,6 +22,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -70,6 +71,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" mjd.spare2, mjd.spare3, mjd.spare4, + mjd.stockin_detail_id, mjd.pick_quantity, bp.product_name, mjd.spare5, @@ -138,6 +140,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" mjd.spare2, mjd.spare3, mjd.spare4, + mjd.stockin_detail_id, mjd.pick_quantity, mjd.product_name, mjd.spare5, diff --git a/ruoyi-admin/src/main/resources/mapper/job/MydoJobDetailMapper.xml b/ruoyi-admin/src/main/resources/mapper/job/MydoJobDetailMapper.xml index 283e3e2..1222e25 100644 --- a/ruoyi-admin/src/main/resources/mapper/job/MydoJobDetailMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/job/MydoJobDetailMapper.xml @@ -22,6 +22,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -71,6 +72,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" mjd.spare2, mjd.spare3, mjd.spare4, + mjd.stockin_detail_id, mjd.pick_quantity, mjd.out_quantity-mjd.pick_quantity as pick_quantity_real, mjd.product_name, @@ -355,7 +357,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" mjd.spare4, mjd.pick_quantity, mjd.out_quantity-mjd.pick_quantity as pick_quantity_real, - bp.product_name, + mjd.product_name, mjd.spare5, mjd.spare6, mjd.spare7, @@ -370,7 +372,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" left join mydo_job mj on mjd.job_id = mj.job_id where mj.tray_code=#{trayCode} and mj.status='3' - and mj.in_or_out=#{inOrOut} + select * from mydo_job where tray_code=#{trayCode} + + diff --git a/ruoyi-admin/src/main/resources/mapper/pda/PdaMapper.xml b/ruoyi-admin/src/main/resources/mapper/pda/PdaMapper.xml index 4a37422..19d6112 100644 --- a/ruoyi-admin/src/main/resources/mapper/pda/PdaMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/pda/PdaMapper.xml @@ -5,7 +5,7 @@ + + + + + + @@ -79,7 +105,7 @@ {call proc_pk_out( - #{v_stockout_detail_id,mode=IN,jdbcType=VARCHAR}, + #{v_job_id,mode=IN,jdbcType=VARCHAR}, #{v_result,mode=OUT,jdbcType=INTEGER}, #{v_resultmsg,mode=OUT,jdbcType=VARCHAR} )} diff --git a/ruoyi-admin/src/main/resources/mapper/stock/BasStockMapper.xml b/ruoyi-admin/src/main/resources/mapper/stock/BasStockMapper.xml index 6533b7b..b24b53c 100644 --- a/ruoyi-admin/src/main/resources/mapper/stock/BasStockMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/stock/BasStockMapper.xml @@ -250,10 +250,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" diff --git a/ruoyi-ui/src/views/in/job/index.vue b/ruoyi-ui/src/views/in/job/index.vue index 1095c2d..b5dc325 100644 --- a/ruoyi-ui/src/views/in/job/index.vue +++ b/ruoyi-ui/src/views/in/job/index.vue @@ -183,8 +183,8 @@ - - + + diff --git a/ruoyi-ui/src/views/in/stockIn/add/index_new.vue b/ruoyi-ui/src/views/in/stockIn/add/index_new.vue index 318b2bf..b8f897e 100644 --- a/ruoyi-ui/src/views/in/stockIn/add/index_new.vue +++ b/ruoyi-ui/src/views/in/stockIn/add/index_new.vue @@ -69,7 +69,7 @@ - + @@ -78,8 +78,7 @@ - - + - +