add 入库判断插入库存

dev
wanghao 1 month ago
parent c58e0d6747
commit 344cdc52fb

@ -54,6 +54,10 @@ public class WmsInStockDetails extends TenantEntity {
* *
*/ */
private Double unitPrice; private Double unitPrice;
/**
* ID
*/
private Long projectId;
/** /**
* *
@ -97,4 +101,5 @@ public class WmsInStockDetails extends TenantEntity {
* *
*/ */
private String warehouseName; private String warehouseName;
} }

@ -101,4 +101,13 @@ public class WmsInventoryDetails extends TenantEntity {
* *
*/ */
private String materialModel; private String materialModel;
/**
*
*/
private Double unitPrice;
/**
* ID
*/
private Long projectId;
} }

@ -61,6 +61,7 @@ public class WmsWarehouseInfo extends TenantEntity {
* 1 0 * 1 0
*/ */
private String activeFlag; private String activeFlag;
private String wmsStoreType;
/** /**
* 0 1 * 0 1

@ -51,6 +51,10 @@ public class WmsInStockDetailsBo extends BaseEntity {
*/ */
private Double unitPrice; private Double unitPrice;
/**
* ID
*/
private Long projectId;
/** /**
* *
*/ */

@ -60,6 +60,14 @@ public class WmsInventoryDetailsBo extends BaseEntity {
* *
*/ */
private String remark; private String remark;
/**
*
*/
private Double unitPrice;
/**
* ID
*/
private Long projectId;
} }

@ -55,6 +55,7 @@ public class WmsWarehouseInfoBo extends BaseEntity {
* 1 0 * 1 0
*/ */
private String activeFlag; private String activeFlag;
private String wmsStoreType;
} }

@ -115,4 +115,10 @@ public class WmsInStockDetailsVo implements Serializable {
* *
*/ */
private String warehouseName; private String warehouseName;
/**
* ID
*/
private Long projectId;
} }

@ -114,4 +114,13 @@ public class WmsInventoryDetailsVo implements Serializable {
*/ */
private String materialModel; private String materialModel;
/**
*
*/
private Double unitPrice;
/**
* ID
*/
private Long projectId;
} }

@ -122,5 +122,6 @@ public class WmsWarehouseInfoVo implements Serializable {
private Date updateTime; private Date updateTime;
private String deptName; private String deptName;
private String wmsStoreType;
} }

@ -66,4 +66,6 @@ public interface IWmsInventoryDetailsService {
* @return * @return
*/ */
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid); Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
void insertList(List<WmsInventoryDetails> inventoryDetailsList);
} }

@ -5,30 +5,30 @@ import com.github.yulichang.toolkit.JoinWrappers;
import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.github.yulichang.wrapper.MPJLambdaWrapper;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.apache.dubbo.config.annotation.DubboReference; import org.apache.dubbo.config.annotation.DubboReference;
import org.dromara.common.core.enums.FormatsType;
import org.dromara.common.core.utils.DateUtils;
import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.tenant.helper.TenantHelper; import org.dromara.common.tenant.helper.TenantHelper;
import org.dromara.system.api.RemoteCodeRuleService;
import org.dromara.wms.domain.WmsInStockBill; import org.dromara.wms.domain.WmsInStockBill;
import org.dromara.wms.domain.WmsInStockDetails; import org.dromara.wms.domain.WmsInStockDetails;
import org.dromara.wms.domain.WmsInventoryDetails;
import org.dromara.wms.domain.bo.WmsInStockBillBo; import org.dromara.wms.domain.bo.WmsInStockBillBo;
import org.dromara.wms.domain.vo.WmsInStockBillVo; import org.dromara.wms.domain.vo.WmsInStockBillVo;
import org.dromara.wms.domain.vo.WmsWarehouseInfoVo;
import org.dromara.wms.mapper.WmsInStockBillMapper; import org.dromara.wms.mapper.WmsInStockBillMapper;
import org.dromara.wms.mapper.WmsInStockDetailsMapper; import org.dromara.wms.mapper.WmsInStockDetailsMapper;
import org.dromara.wms.service.IWmsInStockBillService; import org.dromara.wms.service.IWmsInStockBillService;
import org.dromara.wms.service.IWmsInventoryDetailsService;
import org.dromara.wms.service.IWmsWarehouseInfoService;
import org.dromara.workflow.api.RemoteWorkflowService; import org.dromara.workflow.api.RemoteWorkflowService;
import org.dromara.workflow.api.domain.RemoteStartProcess; import org.dromara.workflow.api.domain.RemoteStartProcess;
import org.dromara.workflow.api.event.ProcessEvent; import org.dromara.workflow.api.event.ProcessEvent;
import org.springframework.context.event.EventListener; import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Collection; import java.util.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/** /**
* Service * Service
@ -42,6 +42,9 @@ public class WmsInStockBillServiceImpl implements IWmsInStockBillService {
private final WmsInStockBillMapper baseMapper; private final WmsInStockBillMapper baseMapper;
private final WmsInStockDetailsMapper wmsInStockDetailsMapper; private final WmsInStockDetailsMapper wmsInStockDetailsMapper;
private final RemoteCodeRuleService remoteCodeRuleService;
private final IWmsInventoryDetailsService inventoryService;
private final IWmsWarehouseInfoService warehouseService;
@DubboReference(timeout = 30000)//超时时间 @DubboReference(timeout = 30000)//超时时间
private RemoteWorkflowService remoteWorkflowService;//流程 private RemoteWorkflowService remoteWorkflowService;//流程
@ -107,22 +110,40 @@ public class WmsInStockBillServiceImpl implements IWmsInStockBillService {
@Override @Override
public Boolean insertByBo(WmsInStockBillBo bo) { public Boolean insertByBo(WmsInStockBillBo bo) {
WmsInStockBill add = MapstructUtils.convert(bo, WmsInStockBill.class); WmsInStockBill add = MapstructUtils.convert(bo, WmsInStockBill.class);
add.setInStockCode(remoteCodeRuleService.selectCodeRuleCode("1005"));
// 查询创建时间为今天的入库单条数 // 查询创建时间为今天的入库单条数
int count = baseMapper.selectCountNowInStore(); // int count = baseMapper.selectCountNowInStore();
String dateTimeNow = DateUtils.dateTimeNow(FormatsType.YYYYMMDD); // String dateTimeNow = DateUtils.dateTimeNow(FormatsType.YYYYMMDD);
if (count > 0) { // if (count > 0) {
String tag = String.format("%03d", count + 1); // String tag = String.format("%03d", count + 1);
add.setInStockCode("RK" + dateTimeNow + "-" + tag); // add.setInStockCode("RK" + dateTimeNow + "-" + tag);
} else { // } else {
add.setInStockCode("RK" + dateTimeNow + "-" + "001"); // add.setInStockCode("RK" + dateTimeNow + "-" + "001");
} // }
boolean flag = baseMapper.insert(add) > 0; boolean flag = baseMapper.insert(add) > 0;
if (flag) { if (flag) {
Long inStockBillId = add.getInStockBillId(); Long inStockBillId = add.getInStockBillId();
WmsWarehouseInfoVo wmsWarehouseInfoVo = warehouseService.queryById(add.getWarehouseId());
boolean insertInventortState = wmsWarehouseInfoVo.getWmsStoreType().equals("1");
List<WmsInStockDetails> inStockDetailsList = bo.getInStockDetailsList(); List<WmsInStockDetails> inStockDetailsList = bo.getInStockDetailsList();
// 设置入库单明细的入库单ID List<WmsInventoryDetails> inventoryDetailsList = new ArrayList<>(inStockDetailsList.size());
inStockDetailsList.forEach(item -> item.setInStockBillId(inStockBillId));
wmsInStockDetailsMapper.insert(inStockDetailsList);
inStockDetailsList.forEach(item -> {
item.setInStockBillId(inStockBillId); // 设置入库单明细的入库单ID
item.setProjectId(bo.getProjectId()); //关联项目
if (insertInventortState) {
WmsInventoryDetails inventoryDetails = MapstructUtils.convert(item, WmsInventoryDetails.class);
inventoryDetails.setInventoryAmount(item.getInStockAmount());
inventoryDetailsList.add(inventoryDetails);
}
});
wmsInStockDetailsMapper.insert(inStockDetailsList); //插入子表
if (insertInventortState) {
inventoryService.insertList(inventoryDetailsList); //插入库存
}
} }
return flag; return flag;
} }

@ -145,4 +145,9 @@ public class WmsInventoryDetailsServiceImpl implements IWmsInventoryDetailsServi
} }
return baseMapper.deleteByIds(ids) > 0; return baseMapper.deleteByIds(ids) > 0;
} }
@Override
public void insertList(List<WmsInventoryDetails> inventoryDetailsList) {
baseMapper.insert(inventoryDetailsList);
}
} }

Loading…
Cancel
Save