Compare commits
8 Commits
005be7233a
...
89b03eb93b
Author | SHA1 | Date | |
---|---|---|---|
89b03eb93b | |||
7a518435b4 | |||
5e391eca1d | |||
9c9e637002 | |||
b33f19488d | |||
96792d32c0 | |||
aaf54b032e | |||
f52b014aa0 |
@ -38,7 +38,6 @@ import com.ktg.common.enums.BusinessType;
|
||||
import com.ktg.common.utils.poi.ExcelUtil;
|
||||
import com.ktg.common.core.page.TableDataInfo;
|
||||
|
||||
import static com.ktg.common.utils.SecurityUtils.getUsername;
|
||||
import static com.ktg.generator.util.MultiModuleCodeGenerator.generateTaskCode;
|
||||
|
||||
/**
|
||||
@ -1094,30 +1093,30 @@ public class BaseKnifeController extends BaseController {
|
||||
wmsInPlanTemp.setCreateTime(DateUtils.getNowDate());
|
||||
|
||||
// 入库任务明细
|
||||
List<WmsInPlanDetails> wmsInPlanDetailsList = new ArrayList<>();
|
||||
WmsInPlanDetails wmsInPlanDetails = new WmsInPlanDetails();
|
||||
wmsInPlanDetails.setMaterialId(zdTask.getmProductId().toString());
|
||||
wmsInPlanDetails.setBatch(batchNum);
|
||||
wmsInPlanDetails.setCellId(1L);
|
||||
wmsInPlanDetails.setQuantity(zdTask.getProductIdQty().toString());
|
||||
wmsInPlanDetails.setQuantityIn(zdTask.getProductIdQty().toString());
|
||||
wmsInPlanDetails.setPlanInStatus("0");
|
||||
wmsInPlanDetailsList.add(wmsInPlanDetails);
|
||||
wmsInPlanTemp.setWmsInPlanDetailsList(wmsInPlanDetailsList);
|
||||
List<WmsInPlanDetail> wmsInPlanDetailList = new ArrayList<>();
|
||||
WmsInPlanDetail wmsInPlanDetail = new WmsInPlanDetail();
|
||||
wmsInPlanDetail.setMaterialId(zdTask.getmProductId().toString());
|
||||
wmsInPlanDetail.setBatch(batchNum);
|
||||
wmsInPlanDetail.setCellId(1L);
|
||||
wmsInPlanDetail.setQuantity(zdTask.getProductIdQty().toString());
|
||||
wmsInPlanDetail.setQuantityIn(zdTask.getProductIdQty().toString());
|
||||
wmsInPlanDetail.setPlanInStatus("0");
|
||||
wmsInPlanDetailList.add(wmsInPlanDetail);
|
||||
wmsInPlanTemp.setWmsInPlanDetailsList(wmsInPlanDetailList);
|
||||
wmsInPlanService.insertWmsInPlan(wmsInPlanTemp);
|
||||
wmsInPlan = wmsInPlanTemp;
|
||||
} else {
|
||||
// 入库任务明细
|
||||
List<WmsInPlanDetails> wmsInPlanDetailsList = wmsInPlan.getWmsInPlanDetailsList();
|
||||
WmsInPlanDetails wmsInPlanDetails = new WmsInPlanDetails();
|
||||
wmsInPlanDetails.setMaterialId(zdTask.getmProductId().toString());
|
||||
wmsInPlanDetails.setBatch(batchNum);
|
||||
wmsInPlanDetails.setCellId(1L);
|
||||
wmsInPlanDetails.setQuantity(zdTask.getProductIdQty().toString());
|
||||
wmsInPlanDetails.setQuantityIn(zdTask.getProductIdQty().toString());
|
||||
wmsInPlanDetails.setPlanInStatus("0");
|
||||
wmsInPlanDetailsList.add(wmsInPlanDetails);
|
||||
wmsInPlan.setWmsInPlanDetailsList(wmsInPlanDetailsList);
|
||||
List<WmsInPlanDetail> wmsInPlanDetailList = wmsInPlan.getWmsInPlanDetailsList();
|
||||
WmsInPlanDetail wmsInPlanDetail = new WmsInPlanDetail();
|
||||
wmsInPlanDetail.setMaterialId(zdTask.getmProductId().toString());
|
||||
wmsInPlanDetail.setBatch(batchNum);
|
||||
wmsInPlanDetail.setCellId(1L);
|
||||
wmsInPlanDetail.setQuantity(zdTask.getProductIdQty().toString());
|
||||
wmsInPlanDetail.setQuantityIn(zdTask.getProductIdQty().toString());
|
||||
wmsInPlanDetail.setPlanInStatus("0");
|
||||
wmsInPlanDetailList.add(wmsInPlanDetail);
|
||||
wmsInPlan.setWmsInPlanDetailsList(wmsInPlanDetailList);
|
||||
wmsInPlanService.updateWmsInPlan(wmsInPlan);
|
||||
}
|
||||
|
||||
|
@ -64,7 +64,11 @@ public class WmsOutTaskController extends BaseController {
|
||||
|
||||
@PutMapping("/open/run/{wmsOutTaskIds}")
|
||||
public AjaxResult openRun(@PathVariable Long[] wmsOutTaskIds) throws JAXBException {
|
||||
try {
|
||||
return toAjax(wmsOutTaskService.runWmsOutTask(wmsOutTaskIds));
|
||||
} catch (JAXBException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -15,10 +15,18 @@ public interface IBaseKnifeService
|
||||
* 查询工具台账
|
||||
*
|
||||
* @param baseKnifeId 工具台账主键
|
||||
* @return 工具台账
|
||||
* @return 工具台账 包含基础物料信息(BOM清单)
|
||||
*/
|
||||
public BaseKnife selectBaseKnifeByBaseKnifeId(Long baseKnifeId);
|
||||
|
||||
/**
|
||||
* 查询工具台账
|
||||
*
|
||||
* @param rfid 工具台账主键
|
||||
* @return 工具台账 包含物料基础信息
|
||||
*/
|
||||
public BaseKnife selectBaseKnifeByRfid(String rfid);
|
||||
|
||||
/**
|
||||
* 查询工具台账列表
|
||||
*
|
||||
|
@ -1,27 +1,15 @@
|
||||
package com.ktg.mes.md.service.impl;
|
||||
|
||||
import com.ktg.common.annotation.DataSource;
|
||||
import com.ktg.common.enums.DataSourceType;
|
||||
import com.ktg.generator.util.MultiModuleCodeGenerator;
|
||||
import com.ktg.mes.md.domain.AP0AE;
|
||||
import com.ktg.mes.md.domain.MdItem;
|
||||
import com.ktg.mes.md.mapper.AP0AEMapper;
|
||||
import com.ktg.mes.md.service.IAP0AEService;
|
||||
import com.ktg.mes.md.service.IMdItemService;
|
||||
import com.ktg.mes.wm.domain.WmStorageArea;
|
||||
import com.ktg.mes.wm.domain.WmsInPlan;
|
||||
import com.ktg.mes.wm.domain.WmsInPlanDetails;
|
||||
import com.ktg.mes.wm.domain.WmsInTask;
|
||||
import com.ktg.mes.wm.service.IWmStorageAreaService;
|
||||
import com.ktg.mes.wm.service.IWmsInPlanService;
|
||||
import com.ktg.mes.wm.service.IWmsInTaskService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.lang.reflect.Array;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
|
@ -12,6 +12,7 @@ import com.ktg.mes.wm.service.impl.WmsInPlanDetailEntityServiceImpl;
|
||||
import jcifs.smb.NtlmPasswordAuthentication;
|
||||
import jcifs.smb.SmbFile;
|
||||
import jcifs.smb.SmbFileInputStream;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@ -36,37 +37,14 @@ import java.util.*;
|
||||
* @date 2024-10-31
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class BaseKnifeServiceImpl implements IBaseKnifeService {
|
||||
@Autowired
|
||||
private BaseKnifeMapper baseKnifeMapper;
|
||||
private final BaseKnifeMapper baseKnifeMapper;
|
||||
private final WmsOutPlanMapper wmsOutPlanMapper;
|
||||
private final WmsOutPlanDetailEntityMapper wmsOutPlanDetailEntityMapper;
|
||||
private final WmsBusinessTypeMapper wmsBusinessTypeMapper;
|
||||
private final WmsInPlanDetailEntityServiceImpl wmsInPlanDetailEntityService;
|
||||
|
||||
@Autowired
|
||||
private WmsOutPlanMapper wmsOutPlanMapper;
|
||||
|
||||
@Autowired
|
||||
private WmsOutPlanDetailEntityMapper wmsOutPlanDetailEntityMapper;
|
||||
|
||||
@Autowired
|
||||
private WmsOutTaskMapper wmsOutTaskMapper;
|
||||
|
||||
@Autowired
|
||||
private WmsBusinessTypeMapper wmsBusinessTypeMapper;
|
||||
|
||||
@Autowired
|
||||
private WmsInPlanDetailEntityMapper wmsInPlanDetailEntityMapper;
|
||||
|
||||
@Autowired
|
||||
private WmsInPlanDetailEntityServiceImpl wmsInPlanDetailEntityService;
|
||||
|
||||
@Autowired
|
||||
private MyConfig myConfig;
|
||||
|
||||
/**
|
||||
* 查询工具台账
|
||||
*
|
||||
* @param baseKnifeId 工具台账主键
|
||||
* @return 工具台账
|
||||
*/
|
||||
@Override
|
||||
public BaseKnife selectBaseKnifeByBaseKnifeId(Long baseKnifeId) {
|
||||
BaseKnife baseKnife = baseKnifeMapper.selectBaseKnifeByBaseKnifeId(baseKnifeId);
|
||||
@ -79,6 +57,17 @@ public class BaseKnifeServiceImpl implements IBaseKnifeService {
|
||||
return baseKnife;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询工具台账
|
||||
*
|
||||
* @param rfid 工具台账主键
|
||||
* @return 工具台账
|
||||
*/
|
||||
@Override
|
||||
public BaseKnife selectBaseKnifeByRfid(String rfid) {
|
||||
return baseKnifeMapper.selectBaseKnifeByRfid(rfid);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询工具台账列表
|
||||
*
|
||||
|
@ -88,22 +88,7 @@ public class WmsInPlanController extends BaseController {
|
||||
@Log(title = "入库计划", businessType = BusinessType.INSERT)
|
||||
@PostMapping
|
||||
public AjaxResult add(@RequestBody WmsInPlan wmsInPlan) {
|
||||
// 校验是否指定了库区
|
||||
if (wmsInPlan.getLocationCode() != null && !wmsInPlan.getLocationCode().isEmpty()) {
|
||||
wmsInPlan.getWmsInPlanDetailsList().forEach(wmsInPlanDetails -> {
|
||||
// 获得物料ID
|
||||
MdItem mdItemById = mdItemMapper.selectMdItemById(Long.parseLong(wmsInPlanDetails.getMaterialId()));
|
||||
if (mdItemById == null) throw new RuntimeException("操作失败,该物料不存在");
|
||||
|
||||
// 根据限定条件自动获取库位
|
||||
WmStorageArea wmStorageArea = wmStorageLocationService.queryOneAreaByLocationCode(wmsInPlan.getLocationCode(), mdItemById.getAttr3() == 1);
|
||||
if (wmStorageArea == null) throw new RuntimeException("操作失败,缺少空闲库位");
|
||||
|
||||
// 设定库位
|
||||
wmsInPlanDetails.setCellId(wmStorageArea.getAreaId());
|
||||
});
|
||||
}
|
||||
|
||||
wmsInPlanService.autoCell(wmsInPlan);
|
||||
return toAjax(wmsInPlanService.insertWmsInPlan(wmsInPlan));
|
||||
}
|
||||
|
||||
|
@ -167,7 +167,7 @@ public class WmsInPlan extends BaseEntity {
|
||||
/**
|
||||
* 入库计划明细信息
|
||||
*/
|
||||
private List<WmsInPlanDetails> wmsInPlanDetailsList;
|
||||
private List<WmsInPlanDetail> wmsInPlanDetailList;
|
||||
|
||||
public void setPlanId(Long planId) {
|
||||
this.planId = planId;
|
||||
@ -361,12 +361,12 @@ public class WmsInPlan extends BaseEntity {
|
||||
this.planTypeCode = planTypeCode;
|
||||
}
|
||||
|
||||
public List<WmsInPlanDetails> getWmsInPlanDetailsList() {
|
||||
return wmsInPlanDetailsList;
|
||||
public List<WmsInPlanDetail> getWmsInPlanDetailsList() {
|
||||
return wmsInPlanDetailList;
|
||||
}
|
||||
|
||||
public void setWmsInPlanDetailsList(List<WmsInPlanDetails> wmsInPlanDetailsList) {
|
||||
this.wmsInPlanDetailsList = wmsInPlanDetailsList;
|
||||
public void setWmsInPlanDetailsList(List<WmsInPlanDetail> wmsInPlanDetailList) {
|
||||
this.wmsInPlanDetailList = wmsInPlanDetailList;
|
||||
}
|
||||
|
||||
public String getLocationCode() {
|
||||
|
@ -1,5 +1,7 @@
|
||||
package com.ktg.mes.wm.domain;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
import com.ktg.common.annotation.Excel;
|
||||
@ -13,7 +15,9 @@ import java.util.List;
|
||||
* @author yinjinlu
|
||||
* @date 2024-10-31
|
||||
*/
|
||||
public class WmsInPlanDetails extends BaseEntity
|
||||
@Setter
|
||||
@Getter
|
||||
public class WmsInPlanDetail extends BaseEntity
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ -60,103 +64,6 @@ public class WmsInPlanDetails extends BaseEntity
|
||||
|
||||
private List<WmsInPlanDetailEntity> wmsInPlanDetailEntityList;
|
||||
|
||||
public void setDetailsId(Long detailsId) {
|
||||
this.detailsId = detailsId;
|
||||
}
|
||||
|
||||
public Long getDetailsId()
|
||||
{
|
||||
return detailsId;
|
||||
}
|
||||
|
||||
public void setPlanId(Long planId) {
|
||||
this.planId = planId;
|
||||
}
|
||||
|
||||
public Long getPlanId() {
|
||||
return planId;
|
||||
}
|
||||
public void setMaterialId(String materialId)
|
||||
{
|
||||
this.materialId = materialId;
|
||||
}
|
||||
|
||||
public String getMaterialId()
|
||||
{
|
||||
return materialId;
|
||||
}
|
||||
public void setBatch(String batch)
|
||||
{
|
||||
this.batch = batch;
|
||||
}
|
||||
|
||||
public String getBatch()
|
||||
{
|
||||
return batch;
|
||||
}
|
||||
public void setCellId(Long cellId)
|
||||
{
|
||||
this.cellId = cellId;
|
||||
}
|
||||
|
||||
public Long getCellId()
|
||||
{
|
||||
return cellId;
|
||||
}
|
||||
public void setQuantity(String quantity)
|
||||
{
|
||||
this.quantity = quantity;
|
||||
}
|
||||
|
||||
public String getQuantity()
|
||||
{
|
||||
return quantity;
|
||||
}
|
||||
public void setQuantityIn(String quantityIn)
|
||||
{
|
||||
this.quantityIn = quantityIn;
|
||||
}
|
||||
|
||||
public String getQuantityIn()
|
||||
{
|
||||
return quantityIn;
|
||||
}
|
||||
public void setPlanInStatus(String planInStatus)
|
||||
{
|
||||
this.planInStatus = planInStatus;
|
||||
}
|
||||
|
||||
public String getPlanInStatus()
|
||||
{
|
||||
return planInStatus;
|
||||
}
|
||||
public void setIsActivy(String isActivy)
|
||||
{
|
||||
this.isActivy = isActivy;
|
||||
}
|
||||
|
||||
public String getIsActivy()
|
||||
{
|
||||
return isActivy;
|
||||
}
|
||||
public void setIsDelete(String isDelete)
|
||||
{
|
||||
this.isDelete = isDelete;
|
||||
}
|
||||
|
||||
public String getIsDelete()
|
||||
{
|
||||
return isDelete;
|
||||
}
|
||||
|
||||
public List<WmsInPlanDetailEntity> getWmsInPlanDetailEntityList() {
|
||||
return wmsInPlanDetailEntityList;
|
||||
}
|
||||
|
||||
public void setWmsInPlanDetailEntityList(List<WmsInPlanDetailEntity> wmsInPlanDetailEntityList) {
|
||||
this.wmsInPlanDetailEntityList = wmsInPlanDetailEntityList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
|
@ -2,7 +2,7 @@ package com.ktg.mes.wm.mapper;
|
||||
|
||||
import java.util.List;
|
||||
import com.ktg.mes.wm.domain.WmsInPlan;
|
||||
import com.ktg.mes.wm.domain.WmsInPlanDetails;
|
||||
import com.ktg.mes.wm.domain.WmsInPlanDetail;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
@ -73,10 +73,10 @@ public interface WmsInPlanMapper
|
||||
/**
|
||||
* 批量新增入库计划明细
|
||||
*
|
||||
* @param wmsInPlanDetailsList 入库计划明细列表
|
||||
* @param wmsInPlanDetailList 入库计划明细列表
|
||||
* @return 结果
|
||||
*/
|
||||
public int batchWmsInPlanDetails(List<WmsInPlanDetails> wmsInPlanDetailsList);
|
||||
public int batchWmsInPlanDetails(List<WmsInPlanDetail> wmsInPlanDetailList);
|
||||
|
||||
|
||||
/**
|
||||
@ -96,5 +96,5 @@ public interface WmsInPlanMapper
|
||||
*/
|
||||
public Boolean isDuplicatePlanCode(String planCode);
|
||||
|
||||
WmsInPlanDetails selectWmsInPlanDetailById(Long planDetailsId);
|
||||
WmsInPlanDetail selectWmsInPlanDetailById(Long planDetailsId);
|
||||
}
|
||||
|
@ -72,8 +72,20 @@ public interface IWmsInPlanService
|
||||
|
||||
/**
|
||||
* 执行入库计划
|
||||
*
|
||||
* @param planId 入库计划ID
|
||||
* @return 结果
|
||||
*/
|
||||
public int issueWmsInPlan(Long planId);
|
||||
public void issueWmsInPlan(Long planId);
|
||||
|
||||
/**
|
||||
* 创建并执行入库计划
|
||||
* @param wmsInPlan 入库计划
|
||||
*/
|
||||
public void insertAndIssueWmsInPlan(WmsInPlan wmsInPlan);
|
||||
|
||||
/**
|
||||
* 分配库位
|
||||
* @param wmsInPlan 入库计划
|
||||
*/
|
||||
public void autoCell(WmsInPlan wmsInPlan);
|
||||
}
|
||||
|
@ -70,7 +70,7 @@ public class WmsInPlanDetailEntityServiceImpl implements IWmsInPlanDetailEntityS
|
||||
// 获取入库计划
|
||||
WmsBusinessType wmsBusinessType = wmsBusinessTypeMapper.selectWmsBusinessTypeByTypeId(wmsInPlan.getPlanTypeId().toString());
|
||||
|
||||
for (WmsInPlanDetails detail : wmsInPlan.getWmsInPlanDetailsList()) {
|
||||
for (WmsInPlanDetail detail : wmsInPlan.getWmsInPlanDetailsList()) {
|
||||
// 匹配入库明细
|
||||
if (detail.getDetailsId().equals(entity.getPlanDetailsId())) {
|
||||
System.out.println("---" + detail.getDetailsId() + "+测试+" + entity.getPlanDetailsId());
|
||||
|
@ -52,15 +52,15 @@ public class WmsInPlanServiceImpl implements IWmsInPlanService {
|
||||
@Override
|
||||
public WmsInPlan selectWmsInPlanByPlanId(Long planId) {
|
||||
WmsInPlan wmsInPlan = wmsInPlanMapper.selectWmsInPlanByPlanId(planId);
|
||||
List<WmsInPlanDetails> wmsInPlanDetailsList = new ArrayList<>();
|
||||
List<WmsInPlanDetail> wmsInPlanDetailList = new ArrayList<>();
|
||||
wmsInPlan.getWmsInPlanDetailsList().forEach(detail -> {
|
||||
WmsInPlanDetailEntity wmsInPlanDetailEntityQuery = new WmsInPlanDetailEntity();
|
||||
wmsInPlanDetailEntityQuery.setPlanDetailsId(detail.getDetailsId());
|
||||
List<WmsInPlanDetailEntity> wmsInPlanDetailEntityList = wmsInPlanDetailEntityMapper.selectWmsInPlanDetailEntityList(wmsInPlanDetailEntityQuery);
|
||||
detail.setWmsInPlanDetailEntityList(wmsInPlanDetailEntityList);
|
||||
wmsInPlanDetailsList.add(detail);
|
||||
wmsInPlanDetailList.add(detail);
|
||||
});
|
||||
wmsInPlan.setWmsInPlanDetailsList(wmsInPlanDetailsList);
|
||||
wmsInPlan.setWmsInPlanDetailsList(wmsInPlanDetailList);
|
||||
return wmsInPlan;
|
||||
}
|
||||
|
||||
@ -83,6 +83,7 @@ public class WmsInPlanServiceImpl implements IWmsInPlanService {
|
||||
/**
|
||||
* 同步小型刀具库数据
|
||||
*/
|
||||
@Transactional
|
||||
@Override
|
||||
public int asyncSmallKnifeData() {
|
||||
// List<AP0AE> ap0aeList = ap0AEMapper.selectInNewData();
|
||||
@ -90,7 +91,6 @@ public class WmsInPlanServiceImpl implements IWmsInPlanService {
|
||||
int count = 0;
|
||||
inventoryAdjustments.stream().filter(adjustment -> adjustment.getBillDate() != null).forEach(ap0ae -> {
|
||||
WmsInPlan wmsInPlan = new WmsInPlan();
|
||||
wmsInPlan.setPlanCode(MultiModuleCodeGenerator.generateTaskCode("RKP"));
|
||||
// 发布人
|
||||
wmsInPlan.setPublishName(ap0ae.getDataEntryClerk());
|
||||
// 计划日期
|
||||
@ -109,16 +109,16 @@ public class WmsInPlanServiceImpl implements IWmsInPlanService {
|
||||
MdItem mdItem = mdItemService.selectMdItemByCode(ap0ae.getProductNumber());
|
||||
|
||||
//-- 入库计划详情
|
||||
WmsInPlanDetails wmsInPlanDetails = new WmsInPlanDetails();
|
||||
WmsInPlanDetail wmsInPlanDetail = new WmsInPlanDetail();
|
||||
// 状态-待执行
|
||||
wmsInPlanDetails.setPlanInStatus("0");
|
||||
wmsInPlanDetail.setPlanInStatus("0");
|
||||
// 库位ID
|
||||
wmsInPlanDetails.setCellId(wmStorageArea.getAreaId());
|
||||
wmsInPlanDetails.setQuantity(ap0ae.getQuantity().toString());
|
||||
wmsInPlanDetails.setQuantityIn(ap0ae.getQuantity().toString());
|
||||
wmsInPlanDetails.setMaterialId(mdItem.getItemId().toString());
|
||||
wmsInPlanDetail.setCellId(wmStorageArea.getAreaId());
|
||||
wmsInPlanDetail.setQuantity(ap0ae.getQuantity().toString());
|
||||
wmsInPlanDetail.setQuantityIn(ap0ae.getQuantity().toString());
|
||||
wmsInPlanDetail.setMaterialId(mdItem.getItemId().toString());
|
||||
|
||||
wmsInPlan.setWmsInPlanDetailsList(Collections.singletonList(wmsInPlanDetails));
|
||||
wmsInPlan.setWmsInPlanDetailsList(Collections.singletonList(wmsInPlanDetail));
|
||||
this.insertWmsInPlan(wmsInPlan);
|
||||
|
||||
// 执行入库计划
|
||||
@ -206,24 +206,24 @@ public class WmsInPlanServiceImpl implements IWmsInPlanService {
|
||||
* @param wmsInPlan 入库计划对象
|
||||
*/
|
||||
public void insertWmsInPlanDetails(WmsInPlan wmsInPlan) {
|
||||
List<WmsInPlanDetails> wmsInPlanDetailsList = wmsInPlan.getWmsInPlanDetailsList();
|
||||
List<WmsInPlanDetail> wmsInPlanDetailList = wmsInPlan.getWmsInPlanDetailsList();
|
||||
Long planId = wmsInPlan.getPlanId();
|
||||
if (StringUtils.isNotNull(wmsInPlanDetailsList)) {
|
||||
List<WmsInPlanDetails> list = new ArrayList<>();
|
||||
for (WmsInPlanDetails wmsInPlanDetails : wmsInPlanDetailsList) {
|
||||
wmsInPlanDetails.setPlanId(planId);
|
||||
list.add(wmsInPlanDetails);
|
||||
if (StringUtils.isNotNull(wmsInPlanDetailList)) {
|
||||
List<WmsInPlanDetail> list = new ArrayList<>();
|
||||
for (WmsInPlanDetail wmsInPlanDetail : wmsInPlanDetailList) {
|
||||
wmsInPlanDetail.setPlanId(planId);
|
||||
list.add(wmsInPlanDetail);
|
||||
}
|
||||
if (!list.isEmpty()) {
|
||||
wmsInPlanMapper.batchWmsInPlanDetails(list);
|
||||
WmsInPlan wmsInPlan1 = selectWmsInPlanByPlanId(planId);
|
||||
List<WmsInPlanDetails> wmsInPlanDetailsList1 = wmsInPlan1.getWmsInPlanDetailsList();
|
||||
List<WmsInPlanDetail> wmsInPlanDetailList1 = wmsInPlan1.getWmsInPlanDetailsList();
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
List<WmsInPlanDetailEntity> wmsInPlanDetailEntityList = list.get(i).getWmsInPlanDetailEntityList();
|
||||
wmsInPlanDetailsList1.get(i).setWmsInPlanDetailEntityList(wmsInPlanDetailEntityList);
|
||||
wmsInPlanDetailEntityMapper.deleteWmsInPlanDetailEntityByPlanDetailsId(wmsInPlanDetailsList1.get(i).getDetailsId());
|
||||
wmsInPlanDetailList1.get(i).setWmsInPlanDetailEntityList(wmsInPlanDetailEntityList);
|
||||
wmsInPlanDetailEntityMapper.deleteWmsInPlanDetailEntityByPlanDetailsId(wmsInPlanDetailList1.get(i).getDetailsId());
|
||||
// 插入实例
|
||||
insertWmsInPlanDetailEntity(wmsInPlanDetailsList1.get(i));
|
||||
insertWmsInPlanDetailEntity(wmsInPlanDetailList1.get(i));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -232,12 +232,12 @@ public class WmsInPlanServiceImpl implements IWmsInPlanService {
|
||||
/**
|
||||
* 新增入库计划明细实例
|
||||
*
|
||||
* @param wmsInPlanDetails 入库计划明细对象
|
||||
* @param wmsInPlanDetail 入库计划明细对象
|
||||
*/
|
||||
public void insertWmsInPlanDetailEntity(WmsInPlanDetails wmsInPlanDetails) {
|
||||
List<WmsInPlanDetailEntity> wmsInPlanDetailEntityList = wmsInPlanDetails.getWmsInPlanDetailEntityList();
|
||||
Long planId = wmsInPlanDetails.getPlanId();
|
||||
Long planDetailsId = wmsInPlanDetails.getDetailsId();
|
||||
public void insertWmsInPlanDetailEntity(WmsInPlanDetail wmsInPlanDetail) {
|
||||
List<WmsInPlanDetailEntity> wmsInPlanDetailEntityList = wmsInPlanDetail.getWmsInPlanDetailEntityList();
|
||||
Long planId = wmsInPlanDetail.getPlanId();
|
||||
Long planDetailsId = wmsInPlanDetail.getDetailsId();
|
||||
if (StringUtils.isNotNull(wmsInPlanDetailEntityList)) {
|
||||
ArrayList<WmsInPlanDetailEntity> list = new ArrayList<>();
|
||||
for (WmsInPlanDetailEntity wmsInPlanDetailEntity : wmsInPlanDetailEntityList) {
|
||||
@ -268,10 +268,10 @@ public class WmsInPlanServiceImpl implements IWmsInPlanService {
|
||||
* 执行入库计划
|
||||
*
|
||||
* @param planId 入库计划ID
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int issueWmsInPlan(Long planId) {
|
||||
@Transactional
|
||||
public void issueWmsInPlan(Long planId) {
|
||||
WmsInPlan wmsInPlan = selectWmsInPlanByPlanId(planId);
|
||||
WmsInTask wmsInTask = new WmsInTask();
|
||||
|
||||
@ -299,6 +299,42 @@ public class WmsInPlanServiceImpl implements IWmsInPlanService {
|
||||
});
|
||||
|
||||
wmsInPlan.setState("1");
|
||||
return wmsInPlanMapper.updateWmsInPlan(wmsInPlan);
|
||||
wmsInPlanMapper.updateWmsInPlan(wmsInPlan);
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建并执行入库计划
|
||||
*
|
||||
* @param wmsInPlan 入库计划
|
||||
*/
|
||||
@Transactional
|
||||
@Override
|
||||
public void insertAndIssueWmsInPlan(WmsInPlan wmsInPlan) {
|
||||
this.insertWmsInPlan(wmsInPlan);
|
||||
this.issueWmsInPlan(wmsInPlan.getPlanId());
|
||||
}
|
||||
|
||||
/**
|
||||
* 自动分配库位
|
||||
*
|
||||
* @param wmsInPlan 入库计划
|
||||
*/
|
||||
@Override
|
||||
public void autoCell(WmsInPlan wmsInPlan) {
|
||||
// 校验是否指定了库区
|
||||
if (StringUtils.isNotEmpty(wmsInPlan.getLocationCode())) {
|
||||
wmsInPlan.getWmsInPlanDetailsList().forEach(wmsInPlanDetails -> {
|
||||
// 获得物料ID
|
||||
MdItem mdItemById = mdItemService.selectMdItemById(Long.parseLong(wmsInPlanDetails.getMaterialId()));
|
||||
if (mdItemById == null) throw new RuntimeException("操作失败,该物料不存在");
|
||||
|
||||
// 根据限定条件自动获取库位
|
||||
WmStorageArea wmStorageArea = wmStorageLocationService.queryOneAreaByLocationCode(wmsInPlan.getLocationCode(), mdItemById.getAttr3() == 1);
|
||||
if (wmStorageArea == null) throw new RuntimeException("操作失败,缺少空闲库位");
|
||||
|
||||
// 设定库位
|
||||
wmsInPlanDetails.setCellId(wmStorageArea.getAreaId());
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,29 +1,17 @@
|
||||
package com.ktg.mes.wm.service.impl;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.*;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.ktg.common.constant.UserConstants;
|
||||
import com.ktg.common.core.domain.AjaxResult;
|
||||
import com.ktg.common.utils.DateUtils;
|
||||
import com.ktg.common.utils.StringUtils;
|
||||
import com.ktg.generator.util.MultiModuleCodeGenerator;
|
||||
import com.ktg.mes.cal.utils.CalendarUtil;
|
||||
import com.ktg.mes.md.domain.*;
|
||||
import com.ktg.mes.md.mapper.*;
|
||||
import com.ktg.mes.md.service.IBaseKnifeService;
|
||||
import com.ktg.mes.md.service.IBaseTechnologyBomService;
|
||||
import com.ktg.mes.md.service.IBomRouteService;
|
||||
import com.ktg.mes.md.service.IMdItemService;
|
||||
import com.ktg.mes.wm.domain.*;
|
||||
import com.ktg.mes.wm.mapper.*;
|
||||
import com.ktg.mes.wm.service.IWmStorageAreaService;
|
||||
import com.ktg.mes.wm.service.IWmsInPlanService;
|
||||
import com.ktg.mes.wm.service.IWmsInTaskService;
|
||||
import com.ktg.system.mapper.SysOperLogMapper;
|
||||
import com.ktg.system.service.ISysOperLogService;
|
||||
import okhttp3.*;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.ktg.mes.wm.service.IWmsZdTaskService;
|
||||
@ -436,14 +424,14 @@ public class WmsZdTaskServiceImpl implements IWmsZdTaskService
|
||||
wmsInPlanTemp.setCreateTime(DateUtils.getNowDate());
|
||||
|
||||
// 入库任务明细
|
||||
List<WmsInPlanDetails> wmsInPlanDetailsList = new ArrayList<>();
|
||||
WmsInPlanDetails wmsInPlanDetails = new WmsInPlanDetails();
|
||||
wmsInPlanDetails.setMaterialId(zdTask.getmProductId().toString());
|
||||
wmsInPlanDetails.setBatch(batchNum);
|
||||
wmsInPlanDetails.setCellId(wmStorageArea.getAreaId());
|
||||
wmsInPlanDetails.setQuantity(zdTask.getProductIdQty().toString());
|
||||
wmsInPlanDetails.setQuantityIn(zdTask.getProductIdQty().toString());
|
||||
wmsInPlanDetails.setPlanInStatus("0");
|
||||
List<WmsInPlanDetail> wmsInPlanDetailList = new ArrayList<>();
|
||||
WmsInPlanDetail wmsInPlanDetail = new WmsInPlanDetail();
|
||||
wmsInPlanDetail.setMaterialId(zdTask.getmProductId().toString());
|
||||
wmsInPlanDetail.setBatch(batchNum);
|
||||
wmsInPlanDetail.setCellId(wmStorageArea.getAreaId());
|
||||
wmsInPlanDetail.setQuantity(zdTask.getProductIdQty().toString());
|
||||
wmsInPlanDetail.setQuantityIn(zdTask.getProductIdQty().toString());
|
||||
wmsInPlanDetail.setPlanInStatus("0");
|
||||
// 构建入库明细实体
|
||||
List<WmsInPlanDetailEntity> wmsInPlanDetailEntityList = new ArrayList<>();
|
||||
baseKnifeList.forEach(baseKnife -> {
|
||||
@ -451,23 +439,23 @@ public class WmsZdTaskServiceImpl implements IWmsZdTaskService
|
||||
wmsInPlanDetailEntity.setKnifeId(baseKnife.getBaseKnifeId());
|
||||
wmsInPlanDetailEntityList.add(wmsInPlanDetailEntity);
|
||||
});
|
||||
wmsInPlanDetails.setWmsInPlanDetailEntityList(wmsInPlanDetailEntityList);
|
||||
wmsInPlanDetailsList.add(wmsInPlanDetails);
|
||||
wmsInPlanTemp.setWmsInPlanDetailsList(wmsInPlanDetailsList);
|
||||
wmsInPlanDetail.setWmsInPlanDetailEntityList(wmsInPlanDetailEntityList);
|
||||
wmsInPlanDetailList.add(wmsInPlanDetail);
|
||||
wmsInPlanTemp.setWmsInPlanDetailsList(wmsInPlanDetailList);
|
||||
wmsInPlanService.insertWmsInPlan(wmsInPlanTemp);
|
||||
wmsInPlan = wmsInPlanTemp;
|
||||
} else {
|
||||
// 入库任务明细
|
||||
List<WmsInPlanDetails> wmsInPlanDetailsList = wmsInPlan.getWmsInPlanDetailsList();
|
||||
WmsInPlanDetails wmsInPlanDetails = new WmsInPlanDetails();
|
||||
wmsInPlanDetails.setMaterialId(zdTask.getmProductId().toString());
|
||||
wmsInPlanDetails.setBatch(batchNum);
|
||||
wmsInPlanDetails.setCellId(wmStorageArea.getAreaId());
|
||||
wmsInPlanDetails.setQuantity(zdTask.getProductIdQty().toString());
|
||||
wmsInPlanDetails.setQuantityIn(zdTask.getProductIdQty().toString());
|
||||
wmsInPlanDetails.setPlanInStatus("0");
|
||||
wmsInPlanDetailsList.add(wmsInPlanDetails);
|
||||
wmsInPlan.setWmsInPlanDetailsList(wmsInPlanDetailsList);
|
||||
List<WmsInPlanDetail> wmsInPlanDetailList = wmsInPlan.getWmsInPlanDetailsList();
|
||||
WmsInPlanDetail wmsInPlanDetail = new WmsInPlanDetail();
|
||||
wmsInPlanDetail.setMaterialId(zdTask.getmProductId().toString());
|
||||
wmsInPlanDetail.setBatch(batchNum);
|
||||
wmsInPlanDetail.setCellId(wmStorageArea.getAreaId());
|
||||
wmsInPlanDetail.setQuantity(zdTask.getProductIdQty().toString());
|
||||
wmsInPlanDetail.setQuantityIn(zdTask.getProductIdQty().toString());
|
||||
wmsInPlanDetail.setPlanInStatus("0");
|
||||
wmsInPlanDetailList.add(wmsInPlanDetail);
|
||||
wmsInPlan.setWmsInPlanDetailsList(wmsInPlanDetailList);
|
||||
wmsInPlanService.updateWmsInPlan(wmsInPlan);
|
||||
}
|
||||
|
||||
|
@ -37,11 +37,11 @@
|
||||
</resultMap>
|
||||
|
||||
<resultMap id="WmsInPlanWmsInPlanDetailsResult" type="WmsInPlan" extends="WmsInPlanResult">
|
||||
<collection property="wmsInPlanDetailsList" notNullColumn="sub_DETAILS_ID" javaType="java.util.List"
|
||||
<collection property="wmsInPlanDetailList" notNullColumn="sub_DETAILS_ID" javaType="java.util.List"
|
||||
resultMap="WmsInPlanDetailsResult"/>
|
||||
</resultMap>
|
||||
|
||||
<resultMap type="WmsInPlanDetails" id="WmsInPlanDetailsResult">
|
||||
<resultMap type="WmsInPlanDetail" id="WmsInPlanDetailsResult">
|
||||
<result property="detailsId" column="sub_DETAILS_ID"/>
|
||||
<result property="planId" column="sub_PLAN_ID"/>
|
||||
<result property="materialId" column="sub_MATERIAL_ID"/>
|
||||
@ -59,7 +59,7 @@
|
||||
<result property="isDelete" column="sub_IS_DELETE"/>
|
||||
</resultMap>
|
||||
|
||||
<resultMap type="WmsInPlanDetails" id="BizWmsInPlanDetailsResult">
|
||||
<resultMap type="WmsInPlanDetail" id="BizWmsInPlanDetailsResult">
|
||||
<result property="detailsId" column="sub_DETAILS_ID"/>
|
||||
<result property="planId" column="sub_PLAN_ID"/>
|
||||
<result property="materialId" column="sub_MATERIAL_ID"/>
|
||||
|
Loading…
Reference in New Issue
Block a user