add:按钮权限、6.007库存同步中鼎
This commit is contained in:
@@ -17,9 +17,12 @@ import org.nl.wms.basedata_manage.service.dao.MdPbStoragevehicleext;
|
||||
import org.nl.wms.basedata_manage.service.dao.Structattr;
|
||||
import org.nl.wms.basedata_manage.service.dao.mapper.MdPbStoragevehicleextMapper;
|
||||
import org.nl.wms.basedata_manage.service.dto.MdPbStoragevehicleextDto;
|
||||
import org.nl.wms.decision_manage.service.strategyConfig.decisioner.impl.diy.InventoryRuleHandler;
|
||||
import org.nl.wms.ext_manage.api.EasApi;
|
||||
import org.nl.wms.ext_manage.api.request.QueryEasStockRequest;
|
||||
import org.nl.wms.ext_manage.api.response.QueryEasStockResponse;
|
||||
import org.nl.wms.ext_manage.service.WmsToZDWmdService;
|
||||
import org.nl.wms.ext_manage.service.dto.ZDInventory;
|
||||
import org.nl.wms.warehouse_manage.enums.IOSEnum;
|
||||
import org.nl.wms.warehouse_manage.service.IMdPbGroupplateService;
|
||||
import org.nl.wms.warehouse_manage.service.dao.GroupPlate;
|
||||
@@ -49,6 +52,10 @@ public class MdPbStoragevehicleextServiceImpl extends ServiceImpl<MdPbStorageveh
|
||||
private IStructattrService iStructattrService;
|
||||
@Autowired
|
||||
private IMdMeMaterialbaseService iMdMeMaterialbaseService;
|
||||
@Autowired
|
||||
private WmsToZDWmdService wmsToZDWmdService;
|
||||
@Autowired
|
||||
private InventoryRuleHandler inventoryRuleHandler;
|
||||
|
||||
@Override
|
||||
public IPage<JSONObject> queryAll(Map whereJson, PageQuery page) {
|
||||
@@ -68,11 +75,7 @@ public class MdPbStoragevehicleextServiceImpl extends ServiceImpl<MdPbStorageveh
|
||||
new LambdaQueryWrapper<Structattr>()
|
||||
.eq(Structattr::getSect_code, warehouseno)
|
||||
.last("LIMIT 1"));
|
||||
QueryEasStockRequest easRequest = new QueryEasStockRequest();
|
||||
easRequest.setOrgno("01.09.14");
|
||||
easRequest.setWarehouseno(warehouseno);
|
||||
List<QueryEasStockResponse> easStocks = easApi.queryStock(easRequest);
|
||||
|
||||
int updateCount = 0, addCount = 0, deleteCount = 0;
|
||||
List<JSONObject> localStocks = this.baseMapper.querySyncByStorCode(warehouseno);
|
||||
|
||||
Map<String, JSONObject> localMap = new HashMap<>();
|
||||
@@ -80,63 +83,119 @@ public class MdPbStoragevehicleextServiceImpl extends ServiceImpl<MdPbStorageveh
|
||||
String key = local.getString("material_code") + "_" + local.getString("pcsn");
|
||||
localMap.put(key, local);
|
||||
}
|
||||
if ("6.007".equals(warehouseno)){//装配线边库同步中鼎库存
|
||||
List<ZDInventory> zdInventories = wmsToZDWmdService.queryInventoryByHouseCode(warehouseno);
|
||||
Set<String> zdKeys = new HashSet<>();
|
||||
for (ZDInventory zdInventory : zdInventories) {
|
||||
String key = zdInventory.getSkuCode() + "_" + zdInventory.getBatchNo();
|
||||
zdKeys.add(key);
|
||||
if (localMap.containsKey(key)) {
|
||||
JSONObject local = localMap.get(key);
|
||||
GroupPlate plate = new GroupPlate();
|
||||
plate.setGroup_id(local.getString("group_id"));
|
||||
plate.setQty(zdInventory.getQty());
|
||||
iMdPbGroupplateService.updateById(plate);
|
||||
updateCount++;
|
||||
} else {
|
||||
GroupPlate plate = new GroupPlate();
|
||||
plate.setGroup_id(IdUtil.getStringId());
|
||||
plate.setStoragevehicle_code(struct.getStoragevehicle_code());
|
||||
plate.setMaterial_code(zdInventory.getSkuCode());
|
||||
plate.setPcsn(Optional.ofNullable(zdInventory.getBatchNo()).filter(s -> !s.isEmpty()).orElse("1"));
|
||||
plate.setQty(zdInventory.getQty());
|
||||
plate.setStatus(IOSEnum.GROUP_PLATE_STATUS.code("入库"));
|
||||
plate.setCreate_time(DateUtil.now());
|
||||
plate.setCreate_id(SecurityUtils.getCurrentUserId());
|
||||
plate.setCreate_name(SecurityUtils.getCurrentUsername());
|
||||
|
||||
Set<String> easKeys = new HashSet<>();
|
||||
int updateCount = 0, addCount = 0, deleteCount = 0;
|
||||
|
||||
for (QueryEasStockResponse eas : easStocks) {
|
||||
String key = eas.getMaterialno() + "_" + eas.getLotnumber();
|
||||
easKeys.add(key);
|
||||
|
||||
if (localMap.containsKey(key)) {
|
||||
JSONObject local = localMap.get(key);
|
||||
GroupPlate plate = new GroupPlate();
|
||||
plate.setGroup_id(local.getString("group_id"));
|
||||
plate.setQty(new BigDecimal(eas.getQty()));
|
||||
iMdPbGroupplateService.updateById(plate);
|
||||
updateCount++;
|
||||
} else {
|
||||
GroupPlate plate = new GroupPlate();
|
||||
plate.setGroup_id(IdUtil.getStringId());
|
||||
plate.setStoragevehicle_code(struct.getStoragevehicle_code());
|
||||
plate.setMaterial_code(eas.getMaterialno());
|
||||
plate.setPcsn(Optional.ofNullable(eas.getLotnumber()).filter(s -> !s.isEmpty()).orElse("1"));
|
||||
plate.setQty(new BigDecimal(eas.getQty()));
|
||||
plate.setQty_unit_name(eas.getUnitname());
|
||||
plate.setStatus(IOSEnum.GROUP_PLATE_STATUS.code("入库"));
|
||||
plate.setCreate_time(DateUtil.now());
|
||||
plate.setCreate_id(SecurityUtils.getCurrentUserId());
|
||||
plate.setCreate_name(SecurityUtils.getCurrentUsername());
|
||||
|
||||
MdMeMaterialbase material = iMdMeMaterialbaseService.getOne(
|
||||
new LambdaQueryWrapper<MdMeMaterialbase>()
|
||||
.eq(MdMeMaterialbase::getMaterial_code, eas.getMaterialno()));
|
||||
if (material != null) {
|
||||
plate.setQty_unit_id(material.getQty_unit_id());
|
||||
if (plate.getQty_unit_name() == null) {
|
||||
plate.setQty_unit_name(material.getQty_unit_name());
|
||||
MdMeMaterialbase material = iMdMeMaterialbaseService.getOne(
|
||||
new LambdaQueryWrapper<MdMeMaterialbase>()
|
||||
.eq(MdMeMaterialbase::getMaterial_code, zdInventory.getSkuCode()));
|
||||
if (material != null) {
|
||||
plate.setQty_unit_id(material.getQty_unit_id());
|
||||
if (plate.getQty_unit_name() == null) {
|
||||
plate.setQty_unit_name(material.getQty_unit_name());
|
||||
}
|
||||
}
|
||||
|
||||
iMdPbGroupplateService.save(plate);
|
||||
|
||||
addCount++;
|
||||
}
|
||||
}
|
||||
|
||||
iMdPbGroupplateService.save(plate);
|
||||
for (JSONObject local : localStocks) {
|
||||
String key = local.getString("material_code") + "_" + local.getString("pcsn");
|
||||
if (!zdKeys.contains(key)) {
|
||||
iMdPbGroupplateService.removeById(local.getString("group_id"));
|
||||
deleteCount++;
|
||||
}
|
||||
}
|
||||
}else{
|
||||
QueryEasStockRequest easRequest = new QueryEasStockRequest();
|
||||
easRequest.setOrgno("01.09.14");
|
||||
easRequest.setWarehouseno(warehouseno);
|
||||
List<QueryEasStockResponse> easStocks = easApi.queryStock(easRequest);
|
||||
Set<String> easKeys = new HashSet<>();
|
||||
|
||||
addCount++;
|
||||
for (QueryEasStockResponse eas : easStocks) {
|
||||
String key = eas.getMaterialno() + "_" + eas.getLotnumber();
|
||||
easKeys.add(key);
|
||||
|
||||
if (localMap.containsKey(key)) {
|
||||
JSONObject local = localMap.get(key);
|
||||
GroupPlate plate = new GroupPlate();
|
||||
plate.setGroup_id(local.getString("group_id"));
|
||||
plate.setQty(new BigDecimal(eas.getQty()));
|
||||
iMdPbGroupplateService.updateById(plate);
|
||||
updateCount++;
|
||||
} else {
|
||||
GroupPlate plate = new GroupPlate();
|
||||
plate.setGroup_id(IdUtil.getStringId());
|
||||
plate.setStoragevehicle_code(struct.getStoragevehicle_code());
|
||||
plate.setMaterial_code(eas.getMaterialno());
|
||||
plate.setPcsn(Optional.ofNullable(eas.getLotnumber()).filter(s -> !s.isEmpty()).orElse("1"));
|
||||
plate.setQty(new BigDecimal(eas.getQty()));
|
||||
plate.setQty_unit_name(eas.getUnitname());
|
||||
plate.setStatus(IOSEnum.GROUP_PLATE_STATUS.code("入库"));
|
||||
plate.setCreate_time(DateUtil.now());
|
||||
plate.setCreate_id(SecurityUtils.getCurrentUserId());
|
||||
plate.setCreate_name(SecurityUtils.getCurrentUsername());
|
||||
|
||||
MdMeMaterialbase material = iMdMeMaterialbaseService.getOne(
|
||||
new LambdaQueryWrapper<MdMeMaterialbase>()
|
||||
.eq(MdMeMaterialbase::getMaterial_code, eas.getMaterialno()));
|
||||
if (material != null) {
|
||||
plate.setQty_unit_id(material.getQty_unit_id());
|
||||
if (plate.getQty_unit_name() == null) {
|
||||
plate.setQty_unit_name(material.getQty_unit_name());
|
||||
}
|
||||
}
|
||||
|
||||
iMdPbGroupplateService.save(plate);
|
||||
|
||||
addCount++;
|
||||
}
|
||||
}
|
||||
|
||||
for (JSONObject local : localStocks) {
|
||||
String key = local.getString("material_code") + "_" + local.getString("pcsn");
|
||||
if (!easKeys.contains(key)) {
|
||||
iMdPbGroupplateService.removeById(local.getString("group_id"));
|
||||
deleteCount++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (JSONObject local : localStocks) {
|
||||
String key = local.getString("material_code") + "_" + local.getString("pcsn");
|
||||
if (!easKeys.contains(key)) {
|
||||
iMdPbGroupplateService.removeById(local.getString("group_id"));
|
||||
deleteCount++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
JSONObject result = new JSONObject();
|
||||
result.put("updateCount", updateCount);
|
||||
result.put("addCount", addCount);
|
||||
result.put("deleteCount", deleteCount);
|
||||
result.put("easTotal", easStocks.size());
|
||||
result.put("localTotal", localStocks.size());
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
package org.nl.wms.ext_manage.service;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.nl.common.utils.MapOf;
|
||||
import org.nl.wms.ext_manage.purchase.service.dto.BillChangeDto;
|
||||
import org.nl.wms.ext_manage.service.dto.ZDInventory;
|
||||
import org.nl.wms.pm_manage.demand.service.dto.PmDemandDto;
|
||||
import org.springframework.http.ResponseEntity;import org.nl.common.base.ResponseData;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -48,4 +47,6 @@ public interface WmsToZDWmdService {
|
||||
*
|
||||
*/
|
||||
ResponseEntity<List<ZDInventory>> queryInventory(String materialCode);
|
||||
|
||||
List<ZDInventory> queryInventoryByHouseCode(String houseCode);
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.common.annotation.Mock;
|
||||
import org.nl.common.base.ResponseData;
|
||||
import org.nl.common.exception.BadRequestException;
|
||||
import org.nl.config.SpringContextHolder;
|
||||
import org.nl.wms.ext_manage.purchase.service.dto.BillChangeDto;
|
||||
@@ -17,7 +18,7 @@ import org.nl.wms.system_manage.enums.SysParamConstant;
|
||||
import org.nl.wms.system_manage.service.param.dao.Param;
|
||||
import org.nl.wms.system_manage.service.param.impl.SysParamServiceImpl;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;import org.nl.common.base.ResponseData;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -129,4 +130,40 @@ public class WmsToZDWmdServiceImpl implements WmsToZDWmdService {
|
||||
throw new BadRequestException("中鼎库存查询异常:" + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ZDInventory> queryInventoryByHouseCode(String houseCode) {
|
||||
List<ZDInventory> inventorys = new ArrayList<>();
|
||||
log.info("queryInventoryByHouseCode查询中鼎库存输入参数:houseCode={}", houseCode);
|
||||
Param param = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode(SysParamConstant.ZD_URL_LOC);
|
||||
if (param==null){
|
||||
throw new BadRequestException("查询中鼎库存失败,接口地址未配置");
|
||||
}
|
||||
String url = param.getValue();
|
||||
JSONObject requestBody = new JSONObject();
|
||||
// if(!StrUtil.isEmptyIfStr(skuCode)){
|
||||
// requestBody.put("SkuCode", skuCode);
|
||||
// }
|
||||
requestBody.put("HouseCode", houseCode);
|
||||
requestBody.put("HouseCodeLis", new JSONArray());
|
||||
try {
|
||||
String resultMsg = HttpRequest.post(url)
|
||||
.contentType("application/json")
|
||||
.body(requestBody.toString())
|
||||
.execute().body();
|
||||
log.info("queryInventoryByHouseCode查询库存输出参数:-------------------" + resultMsg);
|
||||
|
||||
JSONObject result = JSONObject.parseObject(resultMsg);
|
||||
Integer respCode = result.getInteger("respCode");
|
||||
if (respCode == null || respCode != 0) {
|
||||
throw new BadRequestException("中鼎库存查询失败:" + result.getString("respMsg"));
|
||||
}
|
||||
inventorys = result.getJSONArray("data").toJavaList(ZDInventory.class);
|
||||
return inventorys;
|
||||
} catch (BadRequestException e) {
|
||||
throw e;
|
||||
} catch (Exception e) {
|
||||
throw new BadRequestException("中鼎库存查询异常:" + e.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,9 +12,7 @@ import org.apache.commons.lang3.StringUtils;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
import org.nl.common.exception.BadRequestException;
|
||||
import org.nl.wms.basedata_manage.service.IMdMeMaterialbaseService;
|
||||
import org.nl.wms.basedata_manage.service.IMdPbMeasureunitService;
|
||||
import org.nl.wms.basedata_manage.service.dao.MdMeMaterialbase;
|
||||
import org.nl.wms.basedata_manage.service.dao.MdPbMeasureunit;
|
||||
import org.nl.wms.ext_manage.enums.EXTConstant;
|
||||
import org.nl.wms.ext_manage.service.WmsToZDWmdService;
|
||||
import org.nl.wms.ext_manage.service.dto.ZDInventory;
|
||||
@@ -26,22 +24,19 @@ import org.nl.wms.pm_manage.demand.service.dto.PmDemandDto;
|
||||
import org.nl.wms.pm_manage.demand.service.dto.PmDemandParam;
|
||||
import org.nl.wms.pm_manage.demand.service.dto.PmDemandQuery;
|
||||
import org.nl.wms.pm_manage.demand.service.enums.DemandStatus;
|
||||
import org.nl.wms.sch_manage.enums.StatusEnum;
|
||||
import org.nl.wms.system_manage.service.param.ISysParamService;
|
||||
import org.nl.wms.system_manage.service.param.dao.Param;
|
||||
import org.nl.wms.system_manage.service.param.impl.SysParamServiceImpl;
|
||||
import org.nl.wms.warehouse_manage.enums.IOSEnum;
|
||||
import org.nl.wms.warehouse_manage.inAndOut.service.IOutBillService;
|
||||
import org.nl.wms.warehouse_manage.inventory.IStInventoryService;
|
||||
import org.nl.wms.warehouse_manage.inventory.dto.StInventoryDto;
|
||||
import org.nl.wms.warehouse_manage.inventory.dto.StInventoryQuery;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.ResponseEntity;import org.nl.common.base.ResponseData;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.function.Function;
|
||||
@@ -164,7 +159,6 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
||||
demandDto.setQty(dto.getQty());
|
||||
demandDto.setHouseCode(dto.getStorCode());
|
||||
demandDto.setHouseName(dto.getStorName());
|
||||
demandDto.setHouseName(dto.getStorName());
|
||||
resultList.add(demandDto);
|
||||
}
|
||||
}
|
||||
@@ -182,7 +176,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
||||
throw new BadRequestException("分配失败,当前中鼎仓库编码未配置映射");
|
||||
}
|
||||
demandDto.setHouseCode(houseMapping);
|
||||
demandDto.setHouseName(null);
|
||||
demandDto.setHouseName("五期原材料立库6.002");
|
||||
resultList.add(demandDto);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -134,7 +134,7 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
|
||||
List<String> permission = new LinkedList<>();
|
||||
// 查看是否为管理员
|
||||
permission.add("admin");
|
||||
permission.addAll(sysMenuMapper.getPermissionByUserId(userDto.getString("userId")));
|
||||
permission.addAll(sysMenuMapper.getPermissionByUserId(userDto.getString("user_id")));
|
||||
return permission;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user