第三方仓库新增分库,关联绑定第三方分库等

fengcang
anthonyywj2 3 years ago
parent 81e3e66953
commit 74d295e705

@ -2,14 +2,18 @@ package com.glxp.api.admin.controller.inventory;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import com.github.pagehelper.PageInfo;
import com.glxp.api.admin.annotation.AuthRuleAnnotation;
import com.glxp.api.admin.entity.auth.AuthAdmin;
import com.glxp.api.admin.entity.inout.WarehouseBussinessTypeEntity;
import com.glxp.api.admin.entity.inventory.InvSubWarehouseEntity;
import com.glxp.api.admin.entity.inventory.InvWarehouseEntity;
import com.glxp.api.admin.req.basic.FilterBasicThirdSysRequest;
import com.glxp.api.admin.req.inout.DeleteRequest;
import com.glxp.api.admin.req.inventory.FilterInvSubWarehouseRequest;
import com.glxp.api.admin.req.inventory.FilterInvWarehouseRequest;
import com.glxp.api.admin.res.PageSimpleResponse;
import com.glxp.api.admin.res.inventory.InvWarehouseThirdSysResponse;
import com.glxp.api.admin.service.auth.CustomerService;
import com.glxp.api.admin.service.inout.WarehouseBussinessTypeService;
import com.glxp.api.admin.service.inventory.InvProductService;
@ -59,7 +63,6 @@ public class InvSubWarehouseController {
// }
AuthAdmin authAdmin = customerService.getUserBean();
if (filterInvWarehouseRequest.getFilter() == null || filterInvWarehouseRequest.getFilter() == 1) {
filterInvWarehouseRequest.setUserId(authAdmin.getId().intValue());
@ -114,7 +117,7 @@ public class InvSubWarehouseController {
return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
}
return ResultVOUtils.success();
return ResultVOUtils.success("修改成功!");
}
@AuthRuleAnnotation("")
@ -154,4 +157,49 @@ public class InvSubWarehouseController {
return ResultVOUtils.success();
}
@AuthRuleAnnotation("")
@GetMapping("/spms/sub/inv/warehouse/thridSys/detail")
public BaseResponse getThirdSysDetail(FilterInvSubWarehouseRequest request) {
if (null == request || null == request.getId()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
}
FilterBasicThirdSysRequest sysRequest = new FilterBasicThirdSysRequest();
sysRequest.setEnabled(true);
List<InvWarehouseThirdSysResponse> list = invSubWarehouseService.getThirdSysDetail(request.getId());
PageInfo<InvWarehouseThirdSysResponse> pageInfo;
pageInfo = new PageInfo<>(list);
PageSimpleResponse<InvWarehouseThirdSysResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(list);
return ResultVOUtils.success(pageSimpleResponse);
}
@AuthRuleAnnotation("")
@PostMapping("/spms/sub/inv/warehouse/bindThrWarehouse")
public BaseResponse bindThrWarehouse(String id, String thridWarehouseId, String sysId) {
if (null == id || null == thridWarehouseId || StrUtil.isBlank(sysId)) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
}
invSubWarehouseService.bindThrWarehouse(id, thridWarehouseId, sysId);
return ResultVOUtils.success();
}
/**
* ID
*
* @param id
* @return
*/
@AuthRuleAnnotation("")
@PostMapping("/spms/sub/inv/warehouse/unbindThrWarehouse")
public BaseResponse unbindThrWarehouse(String id, String sysId) {
if (null == id || StrUtil.isBlank(sysId)) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
}
invSubWarehouseService.unbindThrWarehouse(id, sysId);
return ResultVOUtils.success();
}
}

@ -2,6 +2,7 @@ package com.glxp.api.admin.controller.inventory;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ReflectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
@ -16,10 +17,12 @@ import com.glxp.api.admin.entity.inventory.InvProductDetailEntity;
import com.glxp.api.admin.entity.inventory.InvSubWarehouseEntity;
import com.glxp.api.admin.entity.inventory.InvWarehouseEntity;
import com.glxp.api.admin.entity.thrsys.ThrInvWarehouseEntity;
import com.glxp.api.admin.entity.thrsys.ThrSubInvWarehouseEntity;
import com.glxp.api.admin.req.basic.BasicExportStatusRequest;
import com.glxp.api.admin.req.basic.FilterBasicThirdSysRequest;
import com.glxp.api.admin.req.inout.DeleteRequest;
import com.glxp.api.admin.req.inventory.FilterInvWarehouseRequest;
import com.glxp.api.admin.req.thrsys.FilterThrSubInvWarehouseRequest;
import com.glxp.api.admin.res.PageSimpleResponse;
import com.glxp.api.admin.res.inventory.InvWarehouseExportResponse;
import com.glxp.api.admin.res.inventory.InvWarehouseResponse;
@ -33,6 +36,7 @@ import com.glxp.api.admin.service.inventory.InvProductDetailService;
import com.glxp.api.admin.service.inventory.InvSubWarehouseService;
import com.glxp.api.admin.service.inventory.InvWarehouseService;
import com.glxp.api.admin.service.thrsys.ThrInvWarehouseService;
import com.glxp.api.admin.service.thrsys.ThrSubInvWarehouseService;
import com.glxp.api.admin.util.CustomUtil;
import com.glxp.api.admin.util.DateUtil;
import com.glxp.api.admin.util.FileUtils;
@ -419,7 +423,7 @@ public class InvWarehouseController {
*/
@AuthRuleAnnotation("")
@PostMapping("/spms/inv/warehouse/bindThrWarehouse")
public BaseResponse bindThrWarehouse(Integer id, String thridWarehouseId, String sysId) {
public BaseResponse bindThrWarehouse(String id, String thridWarehouseId, String sysId) {
if (null == id || null == thridWarehouseId || StrUtil.isBlank(sysId)) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
}
@ -435,7 +439,7 @@ public class InvWarehouseController {
*/
@AuthRuleAnnotation("")
@PostMapping("/spms/inv/warehouse/unbindThrWarehouse")
public BaseResponse unbindThrWarehouse(Integer id, String sysId) {
public BaseResponse unbindThrWarehouse(String id, String sysId) {
if (null == id || StrUtil.isBlank(sysId)) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
}
@ -465,5 +469,28 @@ public class InvWarehouseController {
return ResultVOUtils.success(pageSimpleResponse);
}
@Resource
ThrSubInvWarehouseService thrSubInvWarehouseService;
@GetMapping("/spms/sub/inv/warehouse/filterThridInv")
public BaseResponse filterInvWarehouse(FilterThrSubInvWarehouseRequest filterThrSubInvWarehouseRequest) {
InvWarehouseEntity invWarehouseEntity = invWarehouseService.selectByCode(filterThrSubInvWarehouseRequest.getParentId());
Object thirdId = ReflectUtil.getFieldValue(invWarehouseEntity, filterThrSubInvWarehouseRequest.getThirdSysFk());
if (thirdId == null) {
return ResultVOUtils.error(500, "请先关联仓库对应的第三方仓库,再关联分库!");
}
filterThrSubInvWarehouseRequest.setParentId((String) thirdId);
List<ThrSubInvWarehouseEntity> thrInvWarehouseEntities = thrSubInvWarehouseService.filterThrInvWarehouse(filterThrSubInvWarehouseRequest);
PageInfo<ThrSubInvWarehouseEntity> pageInfo;
pageInfo = new PageInfo<>(thrInvWarehouseEntities);
PageSimpleResponse<ThrSubInvWarehouseEntity> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(thrInvWarehouseEntities);
return ResultVOUtils.success(pageSimpleResponse);
}
}

@ -50,21 +50,6 @@ public class ThrInvWarehouseController {
return ResultVOUtils.success(pageSimpleResponse);
}
public List<ThrInvWarehouseResponse> merge(List<ThrInvWarehouseEntity> thrInvWarehouseEntities, Integer pid) {
List<ThrInvWarehouseResponse> thrInvWarehouseResponses = new ArrayList<>();
for (ThrInvWarehouseEntity thrInvWarehouseEntity : thrInvWarehouseEntities) {
ThrInvWarehouseResponse thrInvWarehouseResponse = new ThrInvWarehouseResponse();
BeanUtils.copyProperties(thrInvWarehouseEntity, thrInvWarehouseResponse);
//查询第三方系统名称
BasicThirdSysEntity basicThirdSysEntity = basicThirdSysDao.selectByThirdId(thrInvWarehouseEntity.getThirdSysFk());
thrInvWarehouseResponse.setThirdName(basicThirdSysEntity.getThirdName());
if (pid.equals(thrInvWarehouseEntity.getPid())) {
thrInvWarehouseResponse.setChildren(merge(thrInvWarehouseEntities, thrInvWarehouseEntity.getId()));
thrInvWarehouseResponses.add(thrInvWarehouseResponse);
}
}
return thrInvWarehouseResponses;
}
@GetMapping("spms/thrsys/warehouse/filterAll")
public BaseResponse filterAllInvWarehouse(FilterThrInvWarehouseRequest filterThrInvWarehouseRequest) {

@ -2,6 +2,7 @@ package com.glxp.api.admin.controller.thrsys;
import cn.hutool.core.collection.CollUtil;
import com.glxp.api.admin.annotation.AuthRuleAnnotation;
import com.glxp.api.admin.constant.ConstantStatus;
import com.glxp.api.admin.dao.basic.UdiRelevanceDao;
import com.glxp.api.admin.dao.basic.UnitMaintainDao;
import com.glxp.api.admin.dao.inventory.InvWarehouseDao;
@ -12,6 +13,7 @@ import com.glxp.api.admin.req.inout.AddOrderRequest;
import com.glxp.api.admin.req.inout.PostOrderRequest;
import com.glxp.api.admin.res.basic.BussinessOriginTypeResponse;
import com.glxp.api.admin.service.basic.BussinessOriginTypeService;
import com.glxp.api.admin.service.basic.BussinessTypeService;
import com.glxp.api.admin.service.basic.UdiRelevanceService;
import com.glxp.api.admin.service.basic.UnitMaintainService;
import com.glxp.api.admin.util.FilterUdiUtils;
@ -30,6 +32,8 @@ public class ThrScOrderController {
@Resource
BussinessOriginTypeService bussinessOriginTypeService;
@Resource
BussinessTypeService bussinessTypeService;
@Resource
UnitMaintainDao unitMaintainDao;
@Resource
InvWarehouseDao invWarehouseDao;
@ -47,16 +51,53 @@ public class ThrScOrderController {
}
public String processOrder(ThrPostOrderRequest thrPostOrderRequest) {
PostOrderRequest postOrderRequest = new PostOrderRequest();
BussinessOriginTypeResponse bussinessOriginTypeEntity = bussinessOriginTypeService.finByThirdAction(thrPostOrderRequest.getBillType());
UnitMaintainEntity unitMaintainEntity = unitMaintainDao.selectByThirdSys(thrPostOrderRequest.getThirdIdSys(), thrPostOrderRequest.getFromCorpId());
InvWarehouseEntity invWarehouseEntity = invWarehouseDao.selectByThirdSys(thrPostOrderRequest.getThirdIdSys(), thrPostOrderRequest.getInvCode());
PostOrderRequest.PostOrder postOrderEntity = new PostOrderRequest.PostOrder();
List<ThrPostOrderRequest.CodeDetailEntity> codeDetailEntityList = thrPostOrderRequest.getItems();
if (CollUtil.isEmpty(codeDetailEntityList)) {
return "单据条码不能为空!";
}
BussinessOriginTypeResponse bussinessOriginTypeEntity = bussinessOriginTypeService.finByThirdAction(thrPostOrderRequest.getBillType());
if (bussinessOriginTypeEntity == null) {
return "业务单据类型不匹配!";
}
BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(bussinessOriginTypeEntity.getAction());
if (bussinessTypeEntity == null) {
return "扫码单据类型未关联!";
}
String fromCorpId = null;
String fromCorpName = null;
postOrderEntity.setBillType(bussinessTypeEntity.getAction());
if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_OUT) {
UnitMaintainEntity unitMaintainEntity = unitMaintainDao.selectByThirdSys(thrPostOrderRequest.getThirdIdSys(), thrPostOrderRequest.getFromCorpId());
if (unitMaintainEntity == null) {
return "供应商信息未关联";
} else {
fromCorpId = unitMaintainEntity.getErpId();
fromCorpName = unitMaintainEntity.getName();
}
} else if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_INNOR) {
InvWarehouseEntity invWarehouseEntity = invWarehouseDao.selectByThirdSys(thrPostOrderRequest.getThirdIdSys(), thrPostOrderRequest.getFromCorpId());
if (invWarehouseEntity == null) {
return "仓库字典未关联";
} else {
fromCorpId = invWarehouseEntity.getCode();
fromCorpName = invWarehouseEntity.getName();
}
}
InvWarehouseEntity invWarehouseEntity = invWarehouseDao.selectByThirdSys(thrPostOrderRequest.getThirdIdSys(), thrPostOrderRequest.getInvCode());
// InvWarehouseEntity invWarehouseEntity = invWarehouseDao.selectByThirdSys(thrPostOrderRequest.getThirdIdSys(), thrPostOrderRequest.getInvCode());
for (ThrPostOrderRequest.CodeDetailEntity codeDetailEntity : codeDetailEntityList) {
UdiEntity udiEntity = FilterUdiUtils.getUdi(codeDetailEntity.getCode());
if (udiEntity == null) {
@ -67,10 +108,8 @@ public class ThrScOrderController {
return "该物资编码:" + codeDetailEntity.getProductCode() + "未与UDI码" + udiEntity.getUdi() + "做关联对照";
}
}
PostOrderRequest postOrderRequest = new PostOrderRequest();
}
return null;

@ -0,0 +1,103 @@
package com.glxp.api.admin.controller.thrsys;
import cn.hutool.core.util.IdUtil;
import com.github.pagehelper.PageInfo;
import com.glxp.api.admin.annotation.AuthRuleAnnotation;
import com.glxp.api.admin.entity.inventory.InvSubWarehouseEntity;
import com.glxp.api.admin.entity.thrsys.ThrInvWarehouseEntity;
import com.glxp.api.admin.entity.thrsys.ThrSubInvWarehouseEntity;
import com.glxp.api.admin.req.inout.DeleteRequest;
import com.glxp.api.admin.req.inventory.FilterInvSubWarehouseRequest;
import com.glxp.api.admin.req.thrsys.FilterThrInvWarehouseRequest;
import com.glxp.api.admin.req.thrsys.FilterThrSubInvWarehouseRequest;
import com.glxp.api.admin.res.PageSimpleResponse;
import com.glxp.api.admin.service.thrsys.ThrSubInvWarehouseService;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.List;
@RestController
public class ThrSubInvWarehouseController {
@Resource
ThrSubInvWarehouseService thrSubInvWarehouseService;
@GetMapping("/thirdSys/sub/inv/warehouse/filter")
public BaseResponse filterInvWarehouse(FilterThrSubInvWarehouseRequest filterThrSubInvWarehouseRequest) {
List<ThrSubInvWarehouseEntity> thrInvWarehouseEntities = thrSubInvWarehouseService.filterThrInvWarehouse(filterThrSubInvWarehouseRequest);
PageInfo<ThrSubInvWarehouseEntity> pageInfo;
pageInfo = new PageInfo<>(thrInvWarehouseEntities);
PageSimpleResponse<ThrSubInvWarehouseEntity> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(thrInvWarehouseEntities);
return ResultVOUtils.success(pageSimpleResponse);
}
@AuthRuleAnnotation("")
@GetMapping("/thirdSys/sub/inv/warehouse/filterAll")
public BaseResponse filterAllInvWarehouse(FilterThrSubInvWarehouseRequest filterThrSubInvWarehouseRequest) {
List<ThrSubInvWarehouseEntity> invSubWarehouseEntities = thrSubInvWarehouseService.filterThrInvWarehouse(filterThrSubInvWarehouseRequest);
return ResultVOUtils.success(invSubWarehouseEntities);
}
@AuthRuleAnnotation("")
@PostMapping("/thirdSys/sub/inv/warehouse/save")
public BaseResponse save(@RequestBody @Valid ThrSubInvWarehouseEntity invSubWarehouseEntity,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
invSubWarehouseEntity.setId(IdUtil.getSnowflake(6, 1).nextId() + "");
boolean b = thrSubInvWarehouseService.insertThrInvWarehouse(invSubWarehouseEntity);
if (!b) {
return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
}
return ResultVOUtils.success("添加成功!");
}
@AuthRuleAnnotation("")
@PostMapping("/thirdSys/sub/inv/warehouse/edit")
public BaseResponse edit(@RequestBody @Valid ThrSubInvWarehouseEntity invSubWarehouseEntity,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
if (invSubWarehouseEntity.getId() == null) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
}
boolean b = thrSubInvWarehouseService.updateThrInvWarehouse(invSubWarehouseEntity);
if (!b) {
return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
}
return ResultVOUtils.success("修改成功!");
}
@AuthRuleAnnotation("")
@PostMapping("/thirdSys/sub/inv/warehouse/delete")
public BaseResponse delete(@RequestBody DeleteRequest deleteRequest) {
if (deleteRequest.getId() == null) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
}
boolean b = thrSubInvWarehouseService.deleteById(deleteRequest.getId());
if (!b) {
return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
}
return ResultVOUtils.success("刪除成功!");
}
}

@ -1,6 +1,7 @@
package com.glxp.api.admin.dao.inventory;
import com.glxp.api.admin.entity.inventory.InvSubWarehouseEntity;
import com.glxp.api.admin.req.basic.FilterBasicThirdSysRequest;
import com.glxp.api.admin.req.inventory.FilterInvSubWarehouseRequest;
import com.glxp.api.admin.req.inventory.FilterInvWarehouseRequest;
import org.apache.ibatis.annotations.Mapper;
@ -43,4 +44,11 @@ public interface InvSubWarehouseDao {
* @return
*/
String selectNameByCode(@Param("code") String code);
InvSubWarehouseEntity selectJoinThirdSys(FilterInvSubWarehouseRequest filterInvSubWarehouseRequest);
boolean updateThridId(@Param("id") String id, @Param("thridWarehouseId") String thridWarehouseId, @Param("sysId") String sysId);
}

@ -43,7 +43,7 @@ public interface InvWarehouseDao {
* @param sysId
* @return
*/
boolean updateThridId(@Param("id") Integer id, @Param("thridWarehouseId") String thridWarehouseId, @Param("sysId") String sysId);
boolean updateThridId(@Param("id") String id, @Param("thridWarehouseId") String thridWarehouseId, @Param("sysId") String sysId);
boolean updateTime(@Param("code") String code, @Param("updateTime") Date updateTime);

@ -2,10 +2,12 @@ package com.glxp.api.admin.dao.thrsys;
import com.glxp.api.admin.entity.thrsys.ThrInvWarehouseEntity;
import com.glxp.api.admin.req.thrsys.FilterThrInvWarehouseRequest;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface ThrInvWarehouseDao {
List<ThrInvWarehouseEntity> filterThrInvWarehouse(FilterThrInvWarehouseRequest filterThrInvWarehouseRequest);

@ -0,0 +1,25 @@
package com.glxp.api.admin.dao.thrsys;
import com.glxp.api.admin.entity.thrsys.ThrSubInvWarehouseEntity;
import com.glxp.api.admin.req.thrsys.FilterThrInvWarehouseRequest;
import com.glxp.api.admin.req.thrsys.FilterThrSubInvWarehouseRequest;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface ThrSubInvWarehouseDao {
List<ThrSubInvWarehouseEntity> filterThrInvWarehouse(FilterThrSubInvWarehouseRequest filterThrSubInvWarehouseRequest);
boolean insertThrInvWarehouse(ThrSubInvWarehouseEntity thrInvWarehouseEntity);
boolean insertInvWarehouses(@Param("thrInvWarehouseEntitys") List<ThrSubInvWarehouseEntity> thrInvWarehouseEntitys);
boolean updateThrInvWarehouse(ThrSubInvWarehouseEntity thrInvWarehouseEntity);
boolean deleteById(@Param("id") String id);
}

@ -12,5 +12,14 @@ public class InvSubWarehouseEntity {
private String remark;
private boolean defaultInv;
private String thirdId;
private String thirdName;
private String thirdId1;
private String thirdName1;
private String thirdId2;
private String thirdName2;
private String thirdId3;
private String thirdName3;
private String thirdId4;
private String thirdName4;
}

@ -0,0 +1,17 @@
package com.glxp.api.admin.entity.thrsys;
import lombok.Data;
@Data
public class ThrSubInvWarehouseEntity {
private String id;
private String code;
private String name;
private String parentId;
private String remark;
private String thirdSysFk;
}

@ -3,6 +3,7 @@ package com.glxp.api.admin.httpclient.req;
import lombok.Data;
import java.math.BigDecimal;
import java.util.List;
@Data
public class UdiwmsOrderDetail {
@ -26,6 +27,14 @@ public class UdiwmsOrderDetail {
private String remark1; //备注1/规格型号ID
private String remark2; //备注2/型号
private String remark3; //备注3/规格
private List<CodeDetaiEntity> codeList;
@Data
public static class CodeDetaiEntity {
private String code;
private String nameCode;
private Integer count;
}
}

@ -0,0 +1,15 @@
package com.glxp.api.admin.req.thrsys;
import com.glxp.api.admin.req.ListPageRequest;
import lombok.Data;
@Data
public class FilterThrSubInvWarehouseRequest extends ListPageRequest {
private String id;
private String code;
private String name;
private String parentId;
private String thirdSysFk;
}

@ -21,6 +21,7 @@ import com.glxp.api.admin.entity.business.StockOrderEntity;
import com.glxp.api.admin.entity.business.StockOrderPrintEntity;
import com.glxp.api.admin.entity.business.StockOrderUploadLogEntity;
import com.glxp.api.admin.entity.inout.OrderEntity;
import com.glxp.api.admin.entity.inout.WarehouseEntity;
import com.glxp.api.admin.entity.inventory.InvWarehouseEntity;
import com.glxp.api.admin.entity.thrsys.ThrInvWarehouseEntity;
import com.glxp.api.admin.httpclient.req.UdiwmsOrderDetail;
@ -37,6 +38,7 @@ import com.glxp.api.admin.service.basic.BussinessLocalTypeService;
import com.glxp.api.admin.service.basic.UdiRelevanceService;
import com.glxp.api.admin.service.business.StockOrderService;
import com.glxp.api.admin.service.business.StockOrderUploadLogService;
import com.glxp.api.admin.service.inout.CodesService;
import com.glxp.api.admin.service.inout.OrderService;
import com.glxp.api.admin.service.inventory.InvWarehouseService;
import com.glxp.api.admin.service.thrsys.ThrInvWarehouseService;
@ -85,6 +87,8 @@ public class StockOrderServiceImpl implements StockOrderService {
private BasicThirdSysBusApiDao basicThirdSysBusApiDao;
@Resource
private StockOrderUploadLogService stockOrderUploadLogService;
@Resource
private CodesService codesService;
@Override
public List<StockOrderEntity> listStockOrders(StockOrderQueryRequest stockOrderQueryRequest) {
@ -285,12 +289,23 @@ public class StockOrderServiceImpl implements StockOrderService {
udiwmsOrderRequest.setRemark("udi管理系统提交单据"); //备注
//组装明细数据
List<WarehouseEntity> warehouseEntities = codesService.findByReceiptId(stockOrderEntity.getOrderIdFk());
List<UdiwmsOrderDetail> items = new ArrayList<>(stockOrderDetailEntities.size());
for (StockOrderDetailEntity stockOrderDetailEntity : stockOrderDetailEntities) {
UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectById(stockOrderDetailEntity.getRelId());
UdiwmsOrderDetail item = new UdiwmsOrderDetail();
BeanUtil.copyProperties(stockOrderDetailEntity, item);
List<WarehouseEntity> warehouseEntityList = filterCodes(stockOrderDetailEntity, warehouseEntities);
if (CollUtil.isNotEmpty(warehouseEntityList)) {
List<UdiwmsOrderDetail.CodeDetaiEntity> codeDetaiEntities = new ArrayList<>();
warehouseEntityList.forEach(warehouseEntity -> {
UdiwmsOrderDetail.CodeDetaiEntity codeDetaiEntity = new UdiwmsOrderDetail.CodeDetaiEntity();
BeanUtils.copyProperties(warehouseEntity, codeDetaiEntity);
codeDetaiEntities.add(codeDetaiEntity);
});
item.setCodeList(codeDetaiEntities);
}
try {
String thirdProductId = (String) ReflectUtil.getFieldValue(udiRelevanceEntity, thirdId);
item.setProductId(thirdProductId);
@ -360,6 +375,22 @@ public class StockOrderServiceImpl implements StockOrderService {
}
public List<WarehouseEntity> filterCodes(StockOrderDetailEntity stockOrderDetailEntity, List<WarehouseEntity> warehouseEntities) {
List<WarehouseEntity> results = new ArrayList<>();
if (CollUtil.isNotEmpty(warehouseEntities)) {
for (WarehouseEntity warehouseEntity : warehouseEntities) {
if (StrUtil.trimToEmpty(warehouseEntity.getRelId()) == StrUtil.trimToEmpty(stockOrderDetailEntity.getRelId())
&& StrUtil.trimToEmpty(warehouseEntity.getBatchNo()) == StrUtil.trimToEmpty(stockOrderDetailEntity.getBatchNo())
) {
results.add(warehouseEntity);
}
}
}
return results;
}
@Override
public List<StockOrderEntity> filter(StockOrderUploadRequest request) {
if (null == request) {

@ -2,8 +2,10 @@ package com.glxp.api.admin.service.inventory;
import com.glxp.api.admin.entity.inventory.InvSubWarehouseEntity;
import com.glxp.api.admin.req.basic.FilterBasicThirdSysRequest;
import com.glxp.api.admin.req.inventory.FilterInvSubWarehouseRequest;
import com.glxp.api.admin.req.inventory.FilterInvWarehouseRequest;
import com.glxp.api.admin.res.inventory.InvWarehouseThirdSysResponse;
import java.util.List;
@ -38,4 +40,12 @@ public interface InvSubWarehouseService {
* @return
*/
String getSubInvName(String subInvCode);
List<InvWarehouseThirdSysResponse> getThirdSysDetail(String id);
boolean bindThrWarehouse(String id, String thridWarehouseId, String sysId);
boolean unbindThrWarehouse(String id, String sysId);
}

@ -44,7 +44,7 @@ public interface InvWarehouseService {
* @param id
* @param thridWarehouseId
*/
boolean bindThrWarehouse(Integer id, String thridWarehouseId, String sysId);
boolean bindThrWarehouse(String id, String thridWarehouseId, String sysId);
/**
*
@ -52,7 +52,7 @@ public interface InvWarehouseService {
* @param id
* @param thridWarehouseId
*/
boolean unbindThrWarehouse(Integer id, String sysId);
boolean unbindThrWarehouse(String id, String sysId);
/**
*

@ -1,16 +1,22 @@
package com.glxp.api.admin.service.inventory.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ReflectUtil;
import cn.hutool.core.util.StrUtil;
import com.github.pagehelper.PageHelper;
import com.glxp.api.admin.dao.basic.BasicThirdSysDao;
import com.glxp.api.admin.dao.inventory.InvSubWarehouseDao;
import com.glxp.api.admin.entity.basic.BasicThirdSysEntity;
import com.glxp.api.admin.entity.inventory.InvSubWarehouseEntity;
import com.glxp.api.admin.req.basic.FilterBasicThirdSysRequest;
import com.glxp.api.admin.req.inventory.FilterInvSubWarehouseRequest;
import com.glxp.api.admin.req.inventory.FilterInvWarehouseRequest;
import com.glxp.api.admin.res.inventory.InvWarehouseThirdSysResponse;
import com.glxp.api.admin.service.inventory.InvSubWarehouseService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@ -20,6 +26,8 @@ public class InvSubWarehouseServiceImpl implements InvSubWarehouseService {
@Resource
InvSubWarehouseDao invSubWarehouseDao;
@Resource
private BasicThirdSysDao basicThirdSysDao;
@Override
public InvSubWarehouseEntity findById(String id) {
@ -118,4 +126,55 @@ public class InvSubWarehouseServiceImpl implements InvSubWarehouseService {
}
return invSubWarehouseDao.selectNameByCode(subInvCode);
}
@Override
public List<InvWarehouseThirdSysResponse> getThirdSysDetail(String id) {
FilterBasicThirdSysRequest sysRequest = new FilterBasicThirdSysRequest();
sysRequest.setEnabled(true);
List<BasicThirdSysEntity> data = basicThirdSysDao.filterBasicThiSys(sysRequest);
if (CollUtil.isEmpty(data))
return null;
FilterInvSubWarehouseRequest tempReqeust = new FilterInvSubWarehouseRequest();
tempReqeust.setCode(id);
InvSubWarehouseEntity invSubWarehouseEntity = invSubWarehouseDao.selectJoinThirdSys(tempReqeust);
List<InvWarehouseThirdSysResponse> invWarehouseThirdSysResponses = new ArrayList<>();
for (BasicThirdSysEntity sys : data) {
InvWarehouseThirdSysResponse invWarehouseThirdSysResponse = new InvWarehouseThirdSysResponse();
invWarehouseThirdSysResponse.setSysId(sys.getThirdId());
invWarehouseThirdSysResponse.setSysName(sys.getThirdName());
invWarehouseThirdSysResponse.setCode(invSubWarehouseEntity.getCode());
invWarehouseThirdSysResponse.setName(invSubWarehouseEntity.getName());
if (sys.getThirdId().equals("thirdId")) {
invWarehouseThirdSysResponse.setThirdId(invSubWarehouseEntity.getThirdId());
invWarehouseThirdSysResponse.setThirdName(invSubWarehouseEntity.getThirdName());
} else if (sys.getThirdId().equals("thirdId1")) {
invWarehouseThirdSysResponse.setThirdId(invSubWarehouseEntity.getThirdId1());
invWarehouseThirdSysResponse.setThirdName(invSubWarehouseEntity.getThirdName1());
} else if (sys.getThirdId().equals("thirdId2")) {
invWarehouseThirdSysResponse.setThirdId(invSubWarehouseEntity.getThirdId2());
invWarehouseThirdSysResponse.setThirdName(invSubWarehouseEntity.getThirdName2());
} else if (sys.getThirdId().equals("thirdId3")) {
invWarehouseThirdSysResponse.setThirdId(invSubWarehouseEntity.getThirdId3());
invWarehouseThirdSysResponse.setThirdName(invSubWarehouseEntity.getThirdName3());
} else if (sys.getThirdId().equals("thirdId4")) {
invWarehouseThirdSysResponse.setThirdId(invSubWarehouseEntity.getThirdId4());
invWarehouseThirdSysResponse.setThirdName(invSubWarehouseEntity.getThirdName4());
}
invWarehouseThirdSysResponses.add(invWarehouseThirdSysResponse);
}
return invWarehouseThirdSysResponses;
}
@Override
public boolean bindThrWarehouse(String id, String thridWarehouseId, String sysId) {
return invSubWarehouseDao.updateThridId(id, thridWarehouseId, sysId);
}
@Override
public boolean unbindThrWarehouse(String id, String sysId) {
return invSubWarehouseDao.updateThridId(id, null, sysId);
}
}

@ -126,12 +126,12 @@ public class InvWarehouseServiceImpl implements InvWarehouseService {
}
@Override
public boolean bindThrWarehouse(Integer id, String thridWarehouseId, String sysId) {
public boolean bindThrWarehouse(String id, String thridWarehouseId, String sysId) {
return invWarehouseDao.updateThridId(id, thridWarehouseId, sysId);
}
@Override
public boolean unbindThrWarehouse(Integer id, String sysId) {
public boolean unbindThrWarehouse(String id, String sysId) {
return invWarehouseDao.updateThridId(id, null, sysId);
// InvWarehouseEntity invWarehouseEntity = invWarehouseDao.selectById(id + "");

@ -0,0 +1,21 @@
package com.glxp.api.admin.service.thrsys;
import com.glxp.api.admin.entity.thrsys.ThrSubInvWarehouseEntity;
import com.glxp.api.admin.req.thrsys.FilterThrSubInvWarehouseRequest;
import java.util.List;
public interface ThrSubInvWarehouseService {
List<ThrSubInvWarehouseEntity> filterThrInvWarehouse(FilterThrSubInvWarehouseRequest filterThrSubInvWarehouseRequest);
boolean insertThrInvWarehouse(ThrSubInvWarehouseEntity thrSubInvWarehouseEntity);
boolean insertInvWarehouses(List<ThrSubInvWarehouseEntity> thrSubInvWarehouseEntities);
boolean updateThrInvWarehouse(ThrSubInvWarehouseEntity thrSubInvWarehouseEntity);
boolean deleteById(String id);
}

@ -0,0 +1,53 @@
package com.glxp.api.admin.service.thrsys.impl;
import com.github.pagehelper.PageHelper;
import com.glxp.api.admin.dao.thrsys.ThrSubInvWarehouseDao;
import com.glxp.api.admin.entity.thrsys.ThrSubInvWarehouseEntity;
import com.glxp.api.admin.req.thrsys.FilterThrSubInvWarehouseRequest;
import com.glxp.api.admin.service.thrsys.ThrSubInvWarehouseService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Collections;
import java.util.List;
@Service
public class ThrSubInvWarehouseServiceImpl implements ThrSubInvWarehouseService {
@Resource
ThrSubInvWarehouseDao thrSubInvWarehouseDao;
@Override
public List<ThrSubInvWarehouseEntity> filterThrInvWarehouse(FilterThrSubInvWarehouseRequest filterThrSubInvWarehouseRequest) {
if (filterThrSubInvWarehouseRequest == null) {
return Collections.emptyList();
}
if (filterThrSubInvWarehouseRequest.getPage() != null) {
int offset = (filterThrSubInvWarehouseRequest.getPage() - 1) * filterThrSubInvWarehouseRequest.getLimit();
PageHelper.offsetPage(offset, filterThrSubInvWarehouseRequest.getLimit());
}
return thrSubInvWarehouseDao.filterThrInvWarehouse(filterThrSubInvWarehouseRequest);
}
@Override
public boolean insertThrInvWarehouse(ThrSubInvWarehouseEntity thrInvWarehouseEntity) {
return thrSubInvWarehouseDao.insertThrInvWarehouse(thrInvWarehouseEntity);
}
@Override
public boolean insertInvWarehouses(List<ThrSubInvWarehouseEntity> thrInvWarehouseEntitys) {
return thrSubInvWarehouseDao.insertInvWarehouses(thrInvWarehouseEntitys);
}
@Override
public boolean updateThrInvWarehouse(ThrSubInvWarehouseEntity thrInvWarehouseEntity) {
return thrSubInvWarehouseDao.updateThrInvWarehouse(thrInvWarehouseEntity);
}
@Override
public boolean deleteById(String id) {
return thrSubInvWarehouseDao.deleteById(id);
}
}

@ -28,6 +28,29 @@
</select>
<select id="selectJoinThirdSys" parameterType="Map"
resultType="com.glxp.api.admin.entity.inventory.InvSubWarehouseEntity">
select inv_warehouse_sub.* ,a.name thirdName,a1.name thirdName1,a2.name thirdName2,a3.name thirdName3,a4.name
thirdName4
from inv_warehouse_sub
LEFT JOIN thr_inv_warehouse_sub a on a.code = inv_warehouse_sub.thirdId
LEFT JOIN thr_inv_warehouse_sub a1 on a1.code = inv_warehouse_sub.thirdId1
LEFT JOIN thr_inv_warehouse_sub a2 on a2.code = inv_warehouse_sub.thirdId2
LEFT JOIN thr_inv_warehouse_sub a3 on a3.code = inv_warehouse_sub.thirdId3
LEFT JOIN thr_inv_warehouse_sub a4 on a4.code = inv_warehouse_sub.thirdId4
<where>
<if test="code != '' and code != null">
AND inv_warehouse_sub.code = #{code}
</if>
<if test="name != '' and name != null">
AND inv_warehouse_sub.`name` = #{name}
</if>
<if test="parentId != '' and parentId != null">
AND inv_warehouse_sub.parentId = #{parentId}
</if>
</where>
</select>
<select id="filterGroupInvSub" parameterType="com.glxp.api.admin.req.inventory.FilterInvWarehouseRequest"
resultType="com.glxp.api.admin.entity.inventory.InvSubWarehouseEntity">
select inv_warehouse_sub.* from inv_warehouse_sub INNER JOIN inv_warehouse
@ -123,7 +146,10 @@
</insert>
<select id="countByParentIdAndName" resultType="int">
select count(*) from inv_warehouse_sub where parentId = #{parentId} and name = #{name}
select count(*)
from inv_warehouse_sub
where parentId = #{parentId}
and name = #{name}
</select>
<select id="selectNameByCode" resultType="java.lang.String">
@ -131,4 +157,13 @@
from inv_warehouse_sub
where code = #{code}
</select>
<update id="updateThridId" parameterType="Map">
update inv_warehouse_sub
set ${sysId} = #{thridWarehouseId,jdbcType=VARCHAR}
where id = #{id}
</update>
</mapper>

@ -0,0 +1,83 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.glxp.api.admin.dao.thrsys.ThrSubInvWarehouseDao">
<select id="filterThrInvWarehouse" parameterType="com.glxp.api.admin.req.thrsys.FilterThrInvWarehouseRequest"
resultType="com.glxp.api.admin.entity.thrsys.ThrSubInvWarehouseEntity">
SELECT *
FROM thr_inv_warehouse_sub
<where>
<if test="id != '' and id != null">
AND id = #{id}
</if>
<if test="code != '' and code != null">
AND code = #{code}
</if>
<if test="name != '' and name != null">
AND `name` = #{name}
</if>
<if test="parentId != '' and parentId != null">
AND parentId = #{parentId}
</if>
<if test="thirdSysFk != null">
and thirdSysFk = #{thirdSysFk}
</if>
</where>
</select>
<select id="selectById" parameterType="Map"
resultType="com.glxp.api.admin.entity.thrsys.ThrSubInvWarehouseEntity">
SELECT *
FROM thr_inv_warehouse_sub
WHERE id = #{id}
</select>
<insert id="insertThrInvWarehouse" keyProperty="id"
parameterType="com.glxp.api.admin.entity.thrsys.ThrSubInvWarehouseEntity">
replace
INTO thr_inv_warehouse_sub
(id, code, `name`, parentId, remark, thirdSysFk)
values (
#{id},
#{code},
#{name},
#{parentId},
#{remark},
#{thirdSysFk}
)
</insert>
<insert id="insertThrInvWarehouses" parameterType="java.util.List">
replace INTO thr_inv_warehouse_sub
(id, code, `name`, parentId, remark, thirdSysFk)
VALUES
<foreach collection="thrInvWarehouseEntitys" item="item" index="index"
separator=",">
(
#{id}, #{item.code},
#{item.name}, #{parentId}
#{item.remark}, #{item.thirdSysFk})
</foreach>
</insert>
<delete id="deleteById" parameterType="Map">
DELETE
FROM thr_inv_warehouse_sub
WHERE id = #{id}
</delete>
<update id="updateThrInvWarehouse" parameterType="com.glxp.api.admin.entity.thrsys.ThrSubInvWarehouseEntity">
UPDATE thr_inv_warehouse_sub
<trim prefix="set" suffixOverrides=",">
<if test="name != null">`name`=#{name},</if>
<if test="code != null">code=#{code},</if>
<if test="parentId != null">parentId=#{parentId},</if>
<if test="remark != null">remark=#{remark},</if>
<if test="thirdSysFk != null">thirdSysFk=#{thirdSysFk},</if>
</trim>
WHERE id = #{id}
</update>
</mapper>
Loading…
Cancel
Save