入库部分和接口
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -17,6 +17,8 @@ public class DeliveryNoticeItemVo {
|
||||
|
||||
/** 行号 */
|
||||
private String lineNo;
|
||||
/** 对应通知行号 */
|
||||
private String notelineNo;
|
||||
/** 单据号 */
|
||||
private String billNo;
|
||||
/** 存货编码 */
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -12,7 +12,9 @@ public interface IToErpService {
|
||||
AjaxResult receiveDeliveryNotice(DeliveryNoticeVo deliveryNoticeVo);
|
||||
|
||||
|
||||
AjaxResult callbackDeliveryNotice(String billNo);
|
||||
void callbackInDeliveryNotice();
|
||||
|
||||
void callbackoutDeliveryNotice();
|
||||
|
||||
AjaxResult createWorkshopInboundOrder(BasProduct basProduct);
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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不能为空");
|
||||
}
|
||||
//入库
|
||||
|
||||
@@ -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);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除入库单据
|
||||
*
|
||||
|
||||
@@ -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<InStockinBack> 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<InStockinBack> list = inStockinBackService.selectInStockinBackList(inStockinBack);
|
||||
ExcelUtil<InStockinBack> util = new ExcelUtil<InStockinBack>(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));
|
||||
}
|
||||
}
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
@@ -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<InStockinBack> 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);
|
||||
}
|
||||
@@ -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<InStockinBack> 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);
|
||||
}
|
||||
@@ -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<InStockinBack> 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);
|
||||
}
|
||||
}
|
||||
@@ -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<InStockinDetailBack> 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<InStockinDetailBack> list = inStockinDetailBackService.selectInStockinDetailBackList(inStockinDetailBack);
|
||||
ExcelUtil<InStockinDetailBack> util = new ExcelUtil<InStockinDetailBack>(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));
|
||||
}
|
||||
}
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
@@ -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<InStockinDetailBack> 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);
|
||||
}
|
||||
@@ -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<InStockinDetailBack> 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);
|
||||
}
|
||||
@@ -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<InStockinDetailBack> 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);
|
||||
}
|
||||
}
|
||||
@@ -76,4 +76,6 @@ public interface MydoJobMapper
|
||||
MydoJob selectMydoJobByEntranceId(MydoJob mydoJob);
|
||||
|
||||
List<MydoJob> getInJobBySerial(String trayCode);
|
||||
|
||||
void manualCompleted(HashMap<String, Object> map);
|
||||
}
|
||||
|
||||
@@ -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<String, Object> 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<MydoJobDetail> mydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(param);
|
||||
BasCargoSpace basCargoSpace = basCargoSpaceService.selectBasCargoSpaceByCargoSpaceId(mydoJob.getCargoSpaceId());
|
||||
if (CollUtil.isNotEmpty(mydoJobDetails)) {
|
||||
List<BasStock> list = new ArrayList<>();
|
||||
|
||||
|
||||
//查询盘点信息中的异常信息
|
||||
CheckDifferenceRecord checkDifferenceRecordParam = new CheckDifferenceRecord();
|
||||
checkDifferenceRecordParam.setTrayCode(mydoJob.getTrayCode());
|
||||
checkDifferenceRecordParam.setWarehouseId(mydoJob.getWarehouseId());
|
||||
List<CheckDifferenceRecord> checkDifferenceRecords = checkDifferenceRecordService.selectCheckDifferenceRecordList(checkDifferenceRecordParam);
|
||||
for (MydoJobDetail mydoJobDetail : mydoJobDetails) {
|
||||
//如果存在盘点异常信息 根据托盘条码和物料id 筛选异常信息
|
||||
Optional<CheckDifferenceRecord> 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<MydoJobDetail> mydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(param);
|
||||
BasCargoSpace basCargoSpace = basCargoSpaceService.selectBasCargoSpaceByCargoSpaceId(mydoJob.getCargoSpaceId());
|
||||
if (CollUtil.isNotEmpty(mydoJobDetails)) {
|
||||
List<BasStock> 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<MydoJobDetail> mydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(param);
|
||||
// BasCargoSpace basCargoSpace = basCargoSpaceService.selectBasCargoSpaceByCargoSpaceId(mydoJob.getCargoSpaceId());
|
||||
// if (CollUtil.isNotEmpty(mydoJobDetails)) {
|
||||
// List<BasStock> list = new ArrayList<>();
|
||||
//
|
||||
//
|
||||
// //查询盘点信息中的异常信息
|
||||
// CheckDifferenceRecord checkDifferenceRecordParam = new CheckDifferenceRecord();
|
||||
// checkDifferenceRecordParam.setTrayCode(mydoJob.getTrayCode());
|
||||
// checkDifferenceRecordParam.setWarehouseId(mydoJob.getWarehouseId());
|
||||
// List<CheckDifferenceRecord> checkDifferenceRecords = checkDifferenceRecordService.selectCheckDifferenceRecordList(checkDifferenceRecordParam);
|
||||
// for (MydoJobDetail mydoJobDetail : mydoJobDetails) {
|
||||
// //如果存在盘点异常信息 根据托盘条码和物料id 筛选异常信息
|
||||
// Optional<CheckDifferenceRecord> 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<MydoJobDetail> mydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(param);
|
||||
// BasCargoSpace basCargoSpace = basCargoSpaceService.selectBasCargoSpaceByCargoSpaceId(mydoJob.getCargoSpaceId());
|
||||
// if (CollUtil.isNotEmpty(mydoJobDetails)) {
|
||||
// List<BasStock> 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) {
|
||||
|
||||
@@ -150,6 +150,8 @@ public class MydoJobDetail extends BaseEntity
|
||||
private String unit;
|
||||
private String trayCode;
|
||||
|
||||
private String stockinDetailId;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -38,8 +38,9 @@ public class PdaController extends BaseController {
|
||||
*/
|
||||
@RequestMapping("/selectHasHalfTray")
|
||||
@ResponseBody
|
||||
public List<BasStock> selectHasHalfTray(String inStockinDetailId) {
|
||||
return pdaService.selectHasHalfTray(inStockinDetailId);
|
||||
public AjaxResult selectHasHalfTray(String inStockinDetailId) {
|
||||
List<BasStock> 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);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
|
||||
@@ -21,6 +21,7 @@ public class TrayCodeMakeSure {
|
||||
private String warehouseId;
|
||||
|
||||
private String exitId;
|
||||
private String isFull;
|
||||
//拣选详情列表
|
||||
private List<MydoJobDetail> mydoJobDetailList;
|
||||
//盘点详情列表
|
||||
|
||||
@@ -6,6 +6,11 @@ public interface PdaMapper {
|
||||
|
||||
void bindTray(HashMap<String, Object> map);
|
||||
|
||||
void tpIn(HashMap<String, Object> map);
|
||||
|
||||
void halfTrayOut(HashMap<String, Object> map);
|
||||
|
||||
void tpOut(HashMap<String, Object> map);
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -22,13 +22,17 @@ public interface PdaService {
|
||||
*/
|
||||
List<BasStock> 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);
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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<BasStock> selectHasHalfTray(String inStockinDetailId) {
|
||||
InStockinDetail inStockinDetail = inStockinDetailService.selectInStockinDetailByStockinDetailId(inStockinDetailId);
|
||||
InStockin inStockin = inStockinService.selectInStockinByStockinId(inStockinDetail.getStockinId());
|
||||
inStockinDetail.setSpare4(inStockin.getDepartmentNo());
|
||||
List<BasStock> 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<BasStock> hasHalfTray = basStockMapper.selectHasHalfTray(inStockinDetail);
|
||||
HashMap<String, Object> 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<MydoJobDetail> mydoJobDetails = mydoJobDetailService.selectMydoJobDetailListByTrayCode(mydoJob);
|
||||
if(mydoJobDetails.size()==0){
|
||||
if (mydoJobDetails.size() == 0) {
|
||||
TrayMsg trayMsg = new TrayMsg();
|
||||
trayMsg.setTrayCode(trayCodeMsg.getTrayCode());
|
||||
List<TrayMsg> 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<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> 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<MydoJobDetail> 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<MydoJobDetail> mydoJobDetails = mydoJobDetailService.selectMydoJobDetailListByExit(mydoJob);
|
||||
// if(mydoJobDetails.size()==0){
|
||||
// return AjaxResult.error("该物料没有出库作业,请检查");
|
||||
// }
|
||||
HashMap<String, Object> 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<MydoJobDetail> mydoJobDetails = mydoJobDetailService.selectPdMydoJobDetailListByExit(mydoJob);
|
||||
if(mydoJobDetails.isEmpty()){
|
||||
if (mydoJobDetails.isEmpty()) {
|
||||
return AjaxResult.error("该物料没有盘点出库作业,请检查");
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user