erp单据同步wms单据
This commit is contained in:
@@ -60,6 +60,6 @@ public class ToErpApiController {
|
||||
@PostMapping("/qqq")
|
||||
public AjaxResult qqq() {
|
||||
ErpStockinParam p=new ErpStockinParam();
|
||||
return toErpService.getStockinList(p);
|
||||
return toErpService.getErpStockinList(p);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,6 +6,8 @@ import com.ruoyi.bas.BasCustomer.domain.BasCustomer;
|
||||
import com.ruoyi.bas.BasProduct.domain.BasProduct;
|
||||
import com.ruoyi.bas.BasSupplier.domain.BasSupplier;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.in.ErpInStockin.domain.ErpInStockin;
|
||||
import com.ruoyi.in.ErpInStockinDetail.domain.ErpInStockinDetail;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@@ -32,5 +34,9 @@ public interface IToErpService {
|
||||
AjaxResult receiveOutStockList();
|
||||
|
||||
|
||||
AjaxResult getStockinList(ErpStockinParam erpStockinParam);
|
||||
AjaxResult getErpStockinList(ErpStockinParam erpStockinParam);
|
||||
|
||||
void AddStockinByErpStockin(ErpInStockin erpInStockin);
|
||||
|
||||
void AddStockinDetailByErpStockinDetail(ErpInStockinDetail erpInStockinetail);
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.ruoyi.api.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.ObjUtil;
|
||||
import cn.hutool.http.HttpRequest;
|
||||
import cn.hutool.http.HttpResponse;
|
||||
@@ -23,6 +24,10 @@ import com.ruoyi.in.ErpInStockin.domain.ErpInStockin;
|
||||
import com.ruoyi.in.ErpInStockin.service.IErpInStockinService;
|
||||
import com.ruoyi.in.ErpInStockinDetail.domain.ErpInStockinDetail;
|
||||
import com.ruoyi.in.ErpInStockinDetail.service.IErpInStockinDetailService;
|
||||
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.out.ErpOutStock.domain.ErpOutStock;
|
||||
import com.ruoyi.out.OutStockMiddle.domain.OutStockMiddle;
|
||||
import com.ruoyi.out.ErpOutStockDetail.domain.ErpOutStockDetail;
|
||||
@@ -40,6 +45,7 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
@@ -71,12 +77,22 @@ public class ToErpServiceImpl implements IToErpService {
|
||||
@Autowired
|
||||
private IOutStockoutDetailService outStockoutDetailService;
|
||||
|
||||
//erp入库主单
|
||||
@Autowired
|
||||
private IErpInStockinService erpInStockinService;
|
||||
|
||||
//erp入库子单
|
||||
@Autowired
|
||||
private IErpInStockinDetailService erpInStockinDetailService;
|
||||
|
||||
//wms入库主单
|
||||
@Autowired
|
||||
private IInStockinService inStockinService;
|
||||
|
||||
//wms入库子单
|
||||
@Autowired
|
||||
private IInStockinDetailService inStockinDetailService;
|
||||
|
||||
@Autowired
|
||||
private IBasJobIdService basJobIdService;
|
||||
|
||||
@@ -421,7 +437,7 @@ public class ToErpServiceImpl implements IToErpService {
|
||||
* @param erpStockinParam
|
||||
* @return
|
||||
*/
|
||||
public AjaxResult getStockinList(ErpStockinParam erpStockinParam){
|
||||
public AjaxResult getErpStockinList(ErpStockinParam erpStockinParam){
|
||||
|
||||
erpStockinParam = new ErpStockinParam();
|
||||
|
||||
@@ -463,7 +479,9 @@ public class ToErpServiceImpl implements IToErpService {
|
||||
erpInStockin.setSysIcusIInheritIdIidI413(Convert.toStr(list.get(16)));
|
||||
erpInStockin.setSysIcusIInheritIdIidI414(Convert.toStr(list.get(17)));
|
||||
erpInStockin.setSysIcusIInheritIdIidI415(Convert.toStr(list.get(18)));
|
||||
erpInStockin.setStockinGuid(UUID.randomUUID().toString());
|
||||
|
||||
String id = "RK" + DateUtil.date().toString("yyyyMMdd") + erpInStockin.getKuin();
|
||||
erpInStockin.setStockinGuid(id);
|
||||
|
||||
//校验单据是否已经在表中 - 新增/更新
|
||||
if (ObjUtil.isNotNull(erpInStockinService.selectErpInStockinByKuin(erpInStockin.getKuin()))) {
|
||||
@@ -472,6 +490,9 @@ public class ToErpServiceImpl implements IToErpService {
|
||||
erpInStockinService.insertErpInStockin(erpInStockin);
|
||||
}
|
||||
|
||||
//更新wms主单
|
||||
AddStockinByErpStockin(erpInStockin);
|
||||
|
||||
//========================================================================================================================================
|
||||
|
||||
//根据主单【kuinlist】字段获取子单信息
|
||||
@@ -493,17 +514,18 @@ public class ToErpServiceImpl implements IToErpService {
|
||||
erpInStockinDetail.setWarehousePositionID(0L);//货位
|
||||
erpInStockinDetail.setKu(0L);//库区
|
||||
erpInStockinDetail.setPh(Convert.toStr(details.get(17)));//批号
|
||||
erpInStockinDetail.setPh(Convert.toStr(details.get(18)));//序列号
|
||||
erpInStockinDetail.setPh(Convert.toStr(details.get(19)));//生产日期
|
||||
erpInStockinDetail.setPh(Convert.toStr(details.get(20)));//有效日期
|
||||
erpInStockinDetail.setPh(Convert.toStr(details.get(21)));//到货日期
|
||||
erpInStockinDetail.setPh(Convert.toStr(details.get(29)));//装卸工
|
||||
erpInStockinDetail.setXlh(Convert.toStr(details.get(18)));//序列号
|
||||
erpInStockinDetail.setDatesc(Convert.toStr(details.get(19)));//生产日期
|
||||
erpInStockinDetail.setDateyx(Convert.toStr(details.get(20)));//有效日期
|
||||
erpInStockinDetail.setDate2(Convert.toStr(details.get(21)));//到货日期
|
||||
erpInStockinDetail.setSysIcusIInheritIdIidI1(Convert.toStr(details.get(29)));//装卸工
|
||||
erpInStockinDetail.setSpare1(Convert.toStr(details.get(1)));//产品名称 - product_name
|
||||
erpInStockinDetail.setSpare2(Convert.toStr(details.get(2)));//产品型号 - product_id
|
||||
|
||||
//关联主单
|
||||
erpInStockinDetail.setKuin(erpInStockin.getKuin());//入库id
|
||||
erpInStockinDetail.setRkbh(erpInStockin.getRkbh());//入库编号
|
||||
erpInStockinDetail.setSpare3(erpInStockin.getStockinGuid());//入库单guid
|
||||
|
||||
//校验数据是否已经在表中 - 新增/更新
|
||||
if (ObjUtil.isNotNull(erpInStockinDetailService.selectErpInStockinDetailById(erpInStockinDetail.getId()))) {
|
||||
@@ -511,6 +533,9 @@ public class ToErpServiceImpl implements IToErpService {
|
||||
}else{
|
||||
erpInStockinDetailService.insertErpInStockinDetail(erpInStockinDetail);
|
||||
}
|
||||
|
||||
//更新wms子单
|
||||
AddStockinDetailByErpStockinDetail(erpInStockinDetail);
|
||||
}
|
||||
}else {
|
||||
log.info("请求未获取子单详情【needList:0】");
|
||||
@@ -525,8 +550,65 @@ public class ToErpServiceImpl implements IToErpService {
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据erp入库单更新wms入库主单
|
||||
* @param erpInStockin erp入库主单
|
||||
*/
|
||||
public void AddStockinByErpStockin(ErpInStockin erpInStockin) {
|
||||
|
||||
InStockin inStockin = new InStockin();
|
||||
|
||||
inStockin.setStockinGuid(erpInStockin.getStockinGuid());//guid
|
||||
inStockin.setStockinId(erpInStockin.getKuin());//入库单据id
|
||||
inStockin.setStatus(erpInStockin.getComplete1());//入库状态(区别erpInStockin.getStatus() - 审批状态)
|
||||
inStockin.setCreateDate(DateUtil.now());//生成时间
|
||||
inStockin.setErpBill(erpInStockin.getRkbh());//入库编号 RK_2025082107
|
||||
inStockin.setInType(erpInStockin.getSort1());//入库类别
|
||||
inStockin.setWarehouseId("0");//库区
|
||||
inStockin.setStockSource("Erp");//单据来源
|
||||
inStockin.setCustomerNo(erpInStockin.getSysIcusIInheritIdIidI413());//客户编码
|
||||
inStockin.setRemark(erpInStockin.getIntro());//入库备注
|
||||
|
||||
try {
|
||||
if (ObjUtil.isNotNull(inStockinService.selectInStockinByStockinGuid(erpInStockin.getStockinGuid()))) {
|
||||
inStockinService.updateInStockin(inStockin);
|
||||
}else{
|
||||
inStockinService.insertInStockin(inStockin);
|
||||
}
|
||||
}catch(Exception e){
|
||||
log.error("生成/更新主单据失败,主单据号:" + inStockin.getStockinId() + ",异常信息:" + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据erp入库子单更新wms入库子单明细
|
||||
* @param erpInStockinetail
|
||||
*/
|
||||
public void AddStockinDetailByErpStockinDetail(ErpInStockinDetail erpInStockinetail) {
|
||||
|
||||
InStockinDetail inStockinDetail = new InStockinDetail();
|
||||
|
||||
inStockinDetail.setStockinDetailId(erpInStockinetail.getId().toString());//明细id
|
||||
inStockinDetail.setStockinGuid(erpInStockinetail.getSpare3());//入库主单guid
|
||||
inStockinDetail.setStockinId(erpInStockinetail.getKuin());//主单id
|
||||
inStockinDetail.setLotNo(erpInStockinetail.getPh());//批次
|
||||
inStockinDetail.setProductId(erpInStockinetail.getSpare2());//物料编号
|
||||
inStockinDetail.setAssignNum(erpInStockinetail.getQuantity().toString());//入库数量
|
||||
inStockinDetail.setWarehouseId("0");//库区
|
||||
inStockinDetail.setPrintDate(DateUtil.now());//库区
|
||||
inStockinDetail.setStatus("");//单据状态
|
||||
inStockinDetail.setRemark("");//入库备注
|
||||
|
||||
try {
|
||||
if (ObjUtil.isNotNull(inStockinDetailService.selectInStockinDetailByStockinDetailId(inStockinDetail.getStockinGuid()))) {
|
||||
inStockinDetailService.updateInStockinDetail(inStockinDetail);
|
||||
}else{
|
||||
inStockinDetailService.insertInStockinDetail(inStockinDetail);
|
||||
}
|
||||
}catch(Exception e){
|
||||
log.error("生成/更新单据明细失败,主单据号:" + inStockinDetail.getStockinId() + ",异常信息:" + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -81,6 +81,10 @@ public class ErpInStockinDetail extends BaseEntity
|
||||
* 产品型号 - product_id
|
||||
*/
|
||||
private String spare2;
|
||||
|
||||
/**
|
||||
* 主单guid
|
||||
*/
|
||||
private String spare3;
|
||||
private String spare4;
|
||||
private String spare5;
|
||||
|
||||
@@ -75,10 +75,10 @@ public class InStockinController extends BaseController
|
||||
* 获取入库单据详细信息
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('in:stockIn:query')")
|
||||
@GetMapping(value = "/{stockinGuid}")
|
||||
public AjaxResult getInfo(@PathVariable("stockinGuid") String stockinGuid)
|
||||
@GetMapping(value = "/{StockinGuid}")
|
||||
public AjaxResult getInfo(@PathVariable("StockinGuid") String StockinGuid)
|
||||
{
|
||||
return success(inStockinService.selectInStockinByStockinGuid(stockinGuid));
|
||||
return success(inStockinService.selectInStockinByStockinGuid(StockinGuid));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -108,9 +108,9 @@ public class InStockinController extends BaseController
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('in:stockIn:remove')")
|
||||
@Log(title = "入库单据", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{stockinGuids}")
|
||||
public AjaxResult remove(@PathVariable String[] stockinGuids)
|
||||
@DeleteMapping("/{StockinGuids}")
|
||||
public AjaxResult remove(@PathVariable String[] StockinGuids)
|
||||
{
|
||||
return toAjax(inStockinService.deleteInStockinByStockinGuids(stockinGuids));
|
||||
return toAjax(inStockinService.deleteInStockinByStockinGuids(StockinGuids));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,10 +16,10 @@ public interface IInStockinService
|
||||
/**
|
||||
* 查询入库单据
|
||||
*
|
||||
* @param stockinGuid 入库单据主键
|
||||
* @param StockinGuid 入库单据主键
|
||||
* @return 入库单据
|
||||
*/
|
||||
public InStockin selectInStockinByStockinGuid(String stockinGuid);
|
||||
public InStockin selectInStockinByStockinGuid(String StockinGuid);
|
||||
|
||||
/**
|
||||
* 查询入库单据列表
|
||||
@@ -48,18 +48,18 @@ public interface IInStockinService
|
||||
/**
|
||||
* 批量删除入库单据
|
||||
*
|
||||
* @param stockinGuids 需要删除的入库单据主键集合
|
||||
* @param StockinGuids 需要删除的入库单据主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteInStockinByStockinGuids(String[] stockinGuids);
|
||||
public int deleteInStockinByStockinGuids(String[] StockinGuids);
|
||||
|
||||
/**
|
||||
* 删除入库单据信息
|
||||
*
|
||||
* @param stockinGuid 入库单据主键
|
||||
* @param StockinGuid 入库单据主键
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteInStockinByStockinGuid(String stockinGuid);
|
||||
public int deleteInStockinByStockinGuid(String StockinGuid);
|
||||
|
||||
public List<InStockin> selectStockinByDetail(String stockinDetailId);
|
||||
}
|
||||
|
||||
@@ -134,6 +134,18 @@ public class InStockinDetail extends BaseEntity
|
||||
@Excel(name = "备用字段6")
|
||||
private String spare6;
|
||||
|
||||
/** 备用字段7 */
|
||||
@Excel(name = "备用字段7")
|
||||
private String spare7;
|
||||
|
||||
/** 备用字段8 */
|
||||
@Excel(name = "备用字段8")
|
||||
private String spare8;
|
||||
|
||||
/** 备用字段9 */
|
||||
@Excel(name = "备用字段9")
|
||||
private String spare9;
|
||||
|
||||
private String status;
|
||||
|
||||
private ExtraField extraField;
|
||||
|
||||
Reference in New Issue
Block a user