Merge branch 'master' into dev

pro
wj 2 years ago
commit 943cea1816

@ -47,6 +47,13 @@ public enum BasicExportTypeEnum {
*/ */
IO_ORDER("io_order", "单据信息"), IO_ORDER("io_order", "单据信息"),
/**
*
*/
ORDER_INVOICE("io_order_invoice", "扫码单据发票信息"),
// //
// NEW_ALL_ORDER("all_order", "出入库扫码单据"), // NEW_ALL_ORDER("all_order", "出入库扫码单据"),
// ALL_BUS_ORDER("all_bus_order", "业务单据"), // ALL_BUS_ORDER("all_bus_order", "业务单据"),

@ -52,7 +52,6 @@ public class IoOrderInvoiceController {
fileService.download(syncFiles); fileService.download(syncFiles);
} }
} }
return ResultVOUtils.success("更新成功!"); return ResultVOUtils.success("更新成功!");
} else } else
return baseResponse; return baseResponse;

@ -137,6 +137,9 @@ public class IoOrderReviewController extends BaseController {
transferOrder(orderEntity, entrustReceEntity); transferOrder(orderEntity, entrustReceEntity);
} }
} }
if (orderEntity.getFromType() == ConstantStatus.FROM_UDISP)
spGetHttp.reviewOrder(updateExportStatusRequest);
return updateReview(getUser(), orderEntity); return updateReview(getUser(), orderEntity);
} else if (orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_CHECK_SUCCESS) { } else if (orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_CHECK_SUCCESS) {
return thirdUpdateReview(getUser(), orderEntity); return thirdUpdateReview(getUser(), orderEntity);
@ -452,7 +455,6 @@ public class IoOrderReviewController extends BaseController {
String errMsg = checkReviewAuth(billNo, userId + ""); String errMsg = checkReviewAuth(billNo, userId + "");
EntrustReceEntity entrustReceEntity; EntrustReceEntity entrustReceEntity;
if (StrUtil.isNotEmpty(errMsg)) { if (StrUtil.isNotEmpty(errMsg)) {
if (errMsg.equals("委托验收")) { if (errMsg.equals("委托验收")) {
IoOrderEntity orderEntity = orderService.findByBillNo(billNo); IoOrderEntity orderEntity = orderService.findByBillNo(billNo);
entrustReceEntity = entrustReceService.findByUnique(orderEntity.getAction(), userId); entrustReceEntity = entrustReceService.findByUnique(orderEntity.getAction(), userId);
@ -493,12 +495,19 @@ public class IoOrderReviewController extends BaseController {
orderEntity = orderEntities.get(0); orderEntity = orderEntities.get(0);
orderEntity.setUpdateTime(null); orderEntity.setUpdateTime(null);
orderEntity.setFromType(ConstantStatus.FROM_UDISP); orderEntity.setFromType(ConstantStatus.FROM_UDISP);
orderEntity.setReviewSp(true);
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); orderEntity.setStatus(ConstantStatus.ORDER_STATUS_PROCESS);
IoOrderEntity temp = orderService.findByBillNo(orderEntity.getBillNo()); IoOrderEntity temp = orderService.findByBillNo(orderEntity.getBillNo());
if (temp == null) { if (temp == null) {
orderEntity.setId(null); orderEntity.setId(null);
orderService.insertOrder(orderEntity); orderService.insertOrder(orderEntity);
heartService.insetOrderDb(spsSyncOrderResponse, orderEntity); heartService.insetOrderDb(spsSyncOrderResponse, orderEntity);
orderEntity = orderService.findByBillNo(orderEntity.getBillNo());
addInoutService.dealProcess(orderEntity);
orderEntity = orderService.findByBillNo(orderEntity.getBillNo());
if (orderEntity.getStatus() != ConstantStatus.ORDER_STATS_ERROR && !ioCheckInoutService.checkManual(orderEntity.getBillNo())) {
ioCheckInoutService.check(orderEntity.getBillNo());
}
} }
FilterOrderDetailResultRequest tempRequest = new FilterOrderDetailResultRequest(); FilterOrderDetailResultRequest tempRequest = new FilterOrderDetailResultRequest();
tempRequest.setOrderIdFk(billNo); tempRequest.setOrderIdFk(billNo);
@ -518,12 +527,30 @@ public class IoOrderReviewController extends BaseController {
return ResultVOUtils.success(acceptOrderEntity); return ResultVOUtils.success(acceptOrderEntity);
} }
@Resource
IoAddInoutService addInoutService;
@Resource @Resource
InvBusUserService invBusUserService; InvBusUserService invBusUserService;
//校验用户是否验收权限 //校验用户是否验收权限
private String checkReviewAuth(String orderId, String userId) { private String checkReviewAuth(String orderId, String userId) {
IoOrderEntity orderEntity = orderService.findByBillNo(orderId); IoOrderEntity orderEntity = orderService.findByBillNo(orderId);
if (orderEntity == null) {
ReviewSpmsRequest reviewSpmsRequest = new ReviewSpmsRequest();
reviewSpmsRequest.setBillNo(orderId);
BaseResponse<IoOrderEntity> response = spGetHttp.getSimpleOrder(reviewSpmsRequest, userId);
if (response.getCode() == 20000 && response.getData() != null) {
orderEntity = response.getData();
} else {
return "单据不存在!";
}
}
if (orderEntity.getStatus() != ConstantStatus.ORDER_STATUS_CHECK_REW && orderEntity.getStatus() != ConstantStatus.ORDER_STATUS_CHECK_SUCCESS) { if (orderEntity.getStatus() != ConstantStatus.ORDER_STATUS_CHECK_REW && orderEntity.getStatus() != ConstantStatus.ORDER_STATUS_CHECK_SUCCESS) {
return "单据非未验收状态,无法审核!"; return "单据非未验收状态,无法审核!";
} }

@ -6,10 +6,15 @@ import com.github.pagehelper.PageInfo;
import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.dao.inv.InvPlaceOrderDetailDao;
import com.glxp.api.entity.inv.InvPlaceOrderDetailEntity;
import com.glxp.api.req.inv.FilterInvPlaceOrderRequest;
import com.glxp.api.req.inv.FilterInvPlaceRequest; import com.glxp.api.req.inv.FilterInvPlaceRequest;
import com.glxp.api.res.inout.IoOrderResponse; import com.glxp.api.res.inout.IoOrderResponse;
import com.glxp.api.res.inv.BindInvSpaceRequest; import com.glxp.api.res.inv.BindInvSpaceRequest;
import com.glxp.api.res.inv.InvPlaceDetailResponse; import com.glxp.api.res.inv.InvPlaceDetailResponse;
import com.glxp.api.res.inv.InvPlaceOrderDetailResponse;
import com.glxp.api.service.inv.InvPlaceOrderService;
import com.glxp.api.service.inv.InvPlaceService; import com.glxp.api.service.inv.InvPlaceService;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
@ -18,6 +23,7 @@ import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.validation.Valid; import javax.validation.Valid;
import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
@ -28,6 +34,10 @@ public class InvPlaceController {
@Resource @Resource
private InvPlaceService invPlaceService; private InvPlaceService invPlaceService;
@Resource
private InvPlaceOrderService invPlaceOrderService;
/** /**
* *
@ -48,7 +58,7 @@ public class InvPlaceController {
* @return * @return
*/ */
@PostMapping("/spms/inv/product/bindInvSpace") @PostMapping("/spms/inv/product/bindInvSpace")
public BaseResponse bindInvSpace(@RequestBody @Valid BindInvSpaceRequest bindInvSpaceRequest) { public BaseResponse bindInvSpace(@RequestBody BindInvSpaceRequest bindInvSpaceRequest) {
if (null == bindInvSpaceRequest) { if (null == bindInvSpaceRequest) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
} }
@ -87,15 +97,21 @@ public class InvPlaceController {
/** /**
* *
* *
* @param filterInvPlaceRequest * @param bindInvSpaceRequest
* @return * @return
*/ */
@GetMapping("/spms/inv/product/getInvProductInfo") @GetMapping("/spms/inv/product/getInvProductInfo")
private BaseResponse getInvProductInfo(FilterInvPlaceRequest filterInvPlaceRequest) { private BaseResponse getInvProductInfo(BindInvSpaceRequest bindInvSpaceRequest) {
List<InvPlaceDetailResponse> list = invPlaceService.getInvProductInfo(filterInvPlaceRequest); List<InvPlaceDetailResponse> list = new ArrayList<>();
if (CollUtil.isEmpty(list)) //判断有没有库存
return ResultVOUtils.error(500, "库存未找到产品信息!"); String msg=invPlaceService.checkCount(bindInvSpaceRequest);
return ResultVOUtils.success(list); if(StrUtil.isEmpty(msg)){
//有库存做插入货位号
return invPlaceOrderService.bindInvSpaceOne(bindInvSpaceRequest);
}else{
return ResultVOUtils.error(500, msg);
}
} }
/** /**
@ -114,4 +130,17 @@ public class InvPlaceController {
return ResultVOUtils.page(pageInfo); return ResultVOUtils.page(pageInfo);
} }
/**
*
*
* @return
*/
@GetMapping("/spms/inv/product/getInvPlaceOrderDetailList")
public BaseResponse getInvPlaceOrderDetailList(FilterInvPlaceOrderRequest filterInvPlaceOrderRequest) {
List<InvPlaceOrderDetailResponse> list = invPlaceOrderService.filterInvPlaceOrderDetailList(filterInvPlaceOrderRequest);
PageInfo<InvPlaceOrderDetailResponse> pageInfo = new PageInfo<>(list);
return ResultVOUtils.page(pageInfo);
}
} }

@ -66,13 +66,15 @@ public class SyncDataSetController {
syncDataSetEntity.setId(1); syncDataSetEntity.setId(1);
List<SyncDataBustypeEntity> busTypes = syncDataSetResponse.getBusTypes(); List<SyncDataBustypeEntity> busTypes = syncDataSetResponse.getBusTypes();
syncDataBustypeService.deleteAll(1); syncDataBustypeService.deleteAll(1);
if (CollUtil.isNotEmpty(busTypes)) if (CollUtil.isNotEmpty(busTypes)) {
syncDataBustypeService.inserts(busTypes); syncDataBustypeService.inserts(busTypes);
}
List<SyncDataBustypeEntity> toInBusTypes = syncDataSetResponse.getToInBusTypes(); List<SyncDataBustypeEntity> toInBusTypes = syncDataSetResponse.getToInBusTypes();
syncDataBustypeService.deleteAll(2); syncDataBustypeService.deleteAll(2);
if (CollUtil.isNotEmpty(toInBusTypes)) if (CollUtil.isNotEmpty(toInBusTypes)) {
syncDataBustypeService.inserts(toInBusTypes); syncDataBustypeService.inserts(toInBusTypes);
}
if (CollUtil.isNotEmpty(syncDataSetResponse.getChangeBusTypes())) { if (CollUtil.isNotEmpty(syncDataSetResponse.getChangeBusTypes())) {

@ -2,7 +2,14 @@ package com.glxp.api.dao.inv;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.glxp.api.entity.inv.InvPlaceOrderDetailEntity; import com.glxp.api.entity.inv.InvPlaceOrderDetailEntity;
import com.glxp.api.res.inout.IoOrderResponse;
import com.glxp.api.res.inv.InvPlaceOrderDetailResponse;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface InvPlaceOrderDetailDao extends BaseMapper<InvPlaceOrderDetailEntity> { public interface InvPlaceOrderDetailDao extends BaseMapper<InvPlaceOrderDetailEntity> {
List<InvPlaceOrderDetailResponse> selectDetailList(@Param("recordId") String recordId);
} }

@ -44,4 +44,6 @@ public interface InvPreInProductDetailDao extends BaseMapperPlus<InvPreInProduct
List<IoOrderResponse> getInvPlaceOrderList(FilterInvPlaceRequest filterInvPlaceRequest); List<IoOrderResponse> getInvPlaceOrderList(FilterInvPlaceRequest filterInvPlaceRequest);
Integer getInventoryQuantity(@Param("code") String code);
} }

@ -43,4 +43,6 @@ public interface InvPreProductDetailDao extends BaseMapperPlus<InvPreProductDeta
void batchBindSpace(@Param("ids") List<Integer> ids, @Param("invSpaceCode") String invSpaceCode); void batchBindSpace(@Param("ids") List<Integer> ids, @Param("invSpaceCode") String invSpaceCode);
List<IoOrderResponse> getInvPlaceOrderList(FilterInvPlaceRequest filterInvPlaceRequest); List<IoOrderResponse> getInvPlaceOrderList(FilterInvPlaceRequest filterInvPlaceRequest);
Integer getInventoryQuantity(@Param("code") String code);
} }

@ -96,4 +96,6 @@ public interface InvProductDetailDao extends BaseMapperPlus<InvProductDetailDao,
* @return * @return
*/ */
List<IoOrderResponse> getInvPlaceOrderList(FilterInvPlaceRequest filterInvPlaceRequest); List<IoOrderResponse> getInvPlaceOrderList(FilterInvPlaceRequest filterInvPlaceRequest);
Integer getInventoryQuantity(@Param("code") String code);
} }

@ -79,7 +79,7 @@ public class UdiProductEntity {
private String supId; private String supId;
private Integer relSupId; private Long relSupId;
public Boolean getAllowNoBatch() { public Boolean getAllowNoBatch() {

@ -195,6 +195,8 @@ public class IoOrderEntity {
@TableField(value = "entrustEnd") @TableField(value = "entrustEnd")
private boolean entrustEnd; private boolean entrustEnd;
@TableField(value = "reviewSp")
private boolean reviewSp; //是否验收外网单据时,需忽略流转更改为待审核
/** /**

@ -10,8 +10,8 @@ import lombok.Data;
@TableName(value = "inv_place_order_detail") @TableName(value = "inv_place_order_detail")
public class InvPlaceOrderDetailEntity { public class InvPlaceOrderDetailEntity {
@TableId(value = "id", type = IdType.AUTO)
private Integer id; private Long id;
/** /**
* *

@ -15,8 +15,8 @@ import java.util.Date;
@TableName(value = "inv_place_order") @TableName(value = "inv_place_order")
public class InvPlaceOrderEntity { public class InvPlaceOrderEntity {
@TableId(value = "id", type = IdType.AUTO)
private Integer id; private Long id;
/** /**
* *

@ -10,6 +10,7 @@ import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.BasicExportTypeEnum; import com.glxp.api.constant.BasicExportTypeEnum;
import com.glxp.api.entity.basic.ProductInfoEntity; import com.glxp.api.entity.basic.ProductInfoEntity;
import com.glxp.api.entity.inout.IoOrderEntity;
import com.glxp.api.entity.inout.IoOrderInvoiceEntity; import com.glxp.api.entity.inout.IoOrderInvoiceEntity;
import com.glxp.api.entity.sync.BasicExportStatusEntity; import com.glxp.api.entity.sync.BasicExportStatusEntity;
import com.glxp.api.entity.sync.IOOrderStatusEntity; import com.glxp.api.entity.sync.IOOrderStatusEntity;
@ -125,6 +126,19 @@ public class SpGetHttpClient {
} }
public BaseResponse<IoOrderEntity> getSimpleOrder(ReviewSpmsRequest reviewSpmsRequest, String userId) {
String json = JSONUtil.toJsonStr(reviewSpmsRequest);
List<String> header = (List<String>) Convert.toList(buildHeader());
header.add("ADMIN_ID");
header.add(userId);
String result = okHttpCli.doPostJson(getIpUrl() + "/directToSpms" + "/udiwms/order/getSimpleOrder", json, Convert.toStrArray(header));
BaseResponse<IoOrderEntity> response =
JSONObject.parseObject(result, new TypeReference<BaseResponse<IoOrderEntity>>() {
});
return response;
}
public BaseResponse<List<IoOrderInvoiceEntity>> getIoOrderInvoices(RefreshInoiceRequest refreshInoiceRequest) { public BaseResponse<List<IoOrderInvoiceEntity>> getIoOrderInvoices(RefreshInoiceRequest refreshInoiceRequest) {
String json = JSONUtil.toJsonStr(refreshInoiceRequest); String json = JSONUtil.toJsonStr(refreshInoiceRequest);
String result = okHttpCli.doPostJson(getIpUrl() + "/directToSpms" + "/udiwms/inout/order/refrshInvoice", json, buildHeader()); String result = okHttpCli.doPostJson(getIpUrl() + "/directToSpms" + "/udiwms/inout/order/refrshInvoice", json, buildHeader());
@ -244,7 +258,7 @@ public class SpGetHttpClient {
} }
public BaseResponse<String> testConnect() { public BaseResponse<String> testConnect() {
String response = okHttpCli.doGet(getIpUrl() + "/sps/sync/connect/test"); String response = okHttpCli.doGet(getIpUrl() + "/udispsync/sync/testConnection");
try { try {
BaseResponse<String> data = BaseResponse<String> data =
JSONObject.parseObject(response, new TypeReference<BaseResponse<String>>() { JSONObject.parseObject(response, new TypeReference<BaseResponse<String>>() {

@ -5,7 +5,7 @@ import lombok.Data;
@Data @Data
public class CompanyProductRelevanceResponse { public class CompanyProductRelevanceResponse {
private int id; private Long id;
private Integer rlId; private Integer rlId;
private String thirdId; private String thirdId;
private String thirdName; private String thirdName;

@ -68,6 +68,8 @@ public class InvPlaceOrderDetailResponse {
*/ */
private String invSpaceCode; private String invSpaceCode;
private String invSpaceName;
/** /**
* *
*/ */

@ -1,6 +1,7 @@
package com.glxp.api.service.basic.impl; package com.glxp.api.service.basic.impl;
import cn.hutool.core.util.IdUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
@ -39,6 +40,8 @@ public class CompanyProductRelevanceServiceImpl extends ServiceImpl<CompanyProdu
@Override @Override
public boolean insertCompanyProductRelevance(CompanyProductRelevanceEntity companyProductRelevanceEntity) { public boolean insertCompanyProductRelevance(CompanyProductRelevanceEntity companyProductRelevanceEntity) {
if (companyProductRelevanceEntity.getId() == null)
companyProductRelevanceEntity.setId(IdUtil.getSnowflakeNextId());
return companyProductRelevanceDao.insertCompanyProductRelevance(companyProductRelevanceEntity); return companyProductRelevanceDao.insertCompanyProductRelevance(companyProductRelevanceEntity);
} }

@ -1,6 +1,7 @@
package com.glxp.api.service.basic.impl; package com.glxp.api.service.basic.impl;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.glxp.api.dao.basic.UdiProductDao; import com.glxp.api.dao.basic.UdiProductDao;
@ -96,6 +97,9 @@ public class UdiProductServiceImpl implements UdiProductService {
@Override @Override
public boolean insertUdiInfo(UdiProductEntity udiProductEntity) { public boolean insertUdiInfo(UdiProductEntity udiProductEntity) {
if (udiProductEntity.getId() == null) {
udiProductEntity.setId(IdUtil.getSnowflakeNextId());
}
return udiProductDao.insertUdiInfo(udiProductEntity); return udiProductDao.insertUdiInfo(udiProductEntity);
} }

@ -3,6 +3,7 @@ package com.glxp.api.service.inout;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.lang.UUID; import cn.hutool.core.lang.UUID;
import cn.hutool.core.thread.ThreadUtil; import cn.hutool.core.thread.ThreadUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.Constant; import com.glxp.api.constant.Constant;
@ -187,9 +188,12 @@ public class IoCheckInoutService {
UdiEntity udiEntity = FilterUdiUtils.getUdi(codeEntity.getCode()); UdiEntity udiEntity = FilterUdiUtils.getUdi(codeEntity.getCode());
IoCodeLostEntity codeLostEntity = codeLostService.findByCode(codeEntity.getCode()); IoCodeLostEntity codeLostEntity = codeLostService.findByCode(codeEntity.getCode());
if (codeLostEntity == null) if (codeLostEntity == null) {
codeLostEntity = new IoCodeLostEntity(); codeLostEntity = new IoCodeLostEntity();
codeLostEntity.setId(IdUtil.getSnowflakeNextId());
codeLostEntity.setNameCode(udiEntity.getUdi());
codeLostEntity.setCode(codeEntity.getCode());
}
//校验是否写入缺失表 //校验是否写入缺失表
boolean isTrue = false; boolean isTrue = false;
if (udiEntity != null) { if (udiEntity != null) {
@ -211,8 +215,10 @@ public class IoCheckInoutService {
isTrue = true; isTrue = true;
} }
} }
if (isTrue) if (isTrue) {
codeLostEntity.setCreateTime(new Date());
codeLostService.insertOrUpdate(codeLostEntity); codeLostService.insertOrUpdate(codeLostEntity);
}
} }
} }
@ -777,7 +783,7 @@ public class IoCheckInoutService {
if (!bussinessTypeEntity.isSecCheckCopy()) { if (!bussinessTypeEntity.isSecCheckCopy()) {
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_AUDITED); orderEntity.setStatus(ConstantStatus.ORDER_STATUS_AUDITED);
} }
} else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_UDISP) { } else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_UDISP && !orderEntity.isReviewSp()) {
if (!bussinessTypeEntity.isSecCheckSp()) { if (!bussinessTypeEntity.isSecCheckSp()) {
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_AUDITED); orderEntity.setStatus(ConstantStatus.ORDER_STATUS_AUDITED);
} }

@ -1,8 +1,13 @@
package com.glxp.api.service.inv; package com.glxp.api.service.inv;
import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.entity.inv.InvPlaceOrderDetailEntity;
import com.glxp.api.req.inv.AddInvPlaceOrderRequest; import com.glxp.api.req.inv.AddInvPlaceOrderRequest;
import com.glxp.api.req.inv.FilterInvPlaceOrderRequest; import com.glxp.api.req.inv.FilterInvPlaceOrderRequest;
import com.glxp.api.req.inv.FilterInvPlaceRequest;
import com.glxp.api.res.inout.IoOrderResponse;
import com.glxp.api.res.inv.BindInvSpaceRequest;
import com.glxp.api.res.inv.InvPlaceOrderDetailResponse;
import com.glxp.api.res.inv.InvPlaceOrderResponse; import com.glxp.api.res.inv.InvPlaceOrderResponse;
import java.util.List; import java.util.List;
@ -16,4 +21,9 @@ public interface InvPlaceOrderService {
BaseResponse addInvPlaceOrder(AddInvPlaceOrderRequest addInvPlaceOrderRequest); BaseResponse addInvPlaceOrder(AddInvPlaceOrderRequest addInvPlaceOrderRequest);
//单条绑定货位
BaseResponse bindInvSpaceOne(BindInvSpaceRequest bindInvSpaceRequest);
List<InvPlaceOrderDetailResponse> filterInvPlaceOrderDetailList(FilterInvPlaceOrderRequest filterInvPlaceOrderRequest);
} }

@ -47,10 +47,10 @@ public interface InvPlaceService {
BaseResponse checkCodeSpace(BindInvSpaceRequest bindInvSpaceRequest); BaseResponse checkCodeSpace(BindInvSpaceRequest bindInvSpaceRequest);
/** /**
* @param filterInvPlaceRequest * @param bindInvSpaceRequest
* @return * @return
*/ */
List<InvPlaceDetailResponse> getInvProductInfo(FilterInvPlaceRequest filterInvPlaceRequest); List<InvPlaceDetailResponse> getInvProductInfo(BindInvSpaceRequest bindInvSpaceRequest);
/** /**
* *
@ -59,4 +59,8 @@ public interface InvPlaceService {
* @return * @return
*/ */
List<IoOrderResponse> getInvPlaceOrderList(FilterInvPlaceRequest filterInvPlaceRequest); List<IoOrderResponse> getInvPlaceOrderList(FilterInvPlaceRequest filterInvPlaceRequest);
//判断有没有库存
String checkCount(BindInvSpaceRequest bindInvSpaceRequest);
} }

@ -1,7 +1,9 @@
package com.glxp.api.service.inv.impl; package com.glxp.api.service.inv.impl;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.common.util.ResultVOUtils;
@ -12,6 +14,10 @@ import com.glxp.api.entity.inv.InvPlaceOrderDetailEntity;
import com.glxp.api.entity.inv.InvPlaceOrderEntity; import com.glxp.api.entity.inv.InvPlaceOrderEntity;
import com.glxp.api.req.inv.AddInvPlaceOrderRequest; import com.glxp.api.req.inv.AddInvPlaceOrderRequest;
import com.glxp.api.req.inv.FilterInvPlaceOrderRequest; import com.glxp.api.req.inv.FilterInvPlaceOrderRequest;
import com.glxp.api.req.inv.FilterInvPlaceRequest;
import com.glxp.api.res.inout.IoOrderResponse;
import com.glxp.api.res.inv.BindInvSpaceRequest;
import com.glxp.api.res.inv.InvPlaceOrderDetailResponse;
import com.glxp.api.res.inv.InvPlaceOrderResponse; import com.glxp.api.res.inv.InvPlaceOrderResponse;
import com.glxp.api.service.auth.CustomerService; import com.glxp.api.service.auth.CustomerService;
import com.glxp.api.service.inv.InvPlaceOrderService; import com.glxp.api.service.inv.InvPlaceOrderService;
@ -90,4 +96,80 @@ public class InvPlaceOrderServiceImpl implements InvPlaceOrderService {
invPlaceOrderDao.insert(orderEntity); invPlaceOrderDao.insert(orderEntity);
return ResultVOUtils.success(); return ResultVOUtils.success();
} }
@Override
public BaseResponse bindInvSpaceOne(BindInvSpaceRequest bindInvSpaceRequest) {
// QueryWrapper ew=new QueryWrapper();
// ew.eq("code",filterInvPlaceRequest.getCode());
// ew.isNull("invSpaceCode");
// ew.
// invPreInProductDetailDao.selectOne()
//判断是不是第一次进行添加 是就插入一条主表
String recordId = "";
if(StrUtil.isEmpty(bindInvSpaceRequest.getOrderId())){
InvPlaceOrderEntity invPlaceOrderEntity=new InvPlaceOrderEntity();
//操作人ID
String userId = customerService.getUserIdStr();
recordId = gennerOrderUtils.createInvPlaceOrderNo(new OrderNoTypeBean(Constant.INV_PLACE_ORDER, "yyyyMMdd"));
InvPlaceOrderEntity orderEntity = new InvPlaceOrderEntity();
orderEntity.setId(IdUtil.getSnowflakeNextId());
orderEntity.setRecordId(recordId);
orderEntity.setType(1);
// orderEntity.setOrderId(addInvPlaceOrderRequest.getOrderId());
orderEntity.setCreateUser(userId);
orderEntity.setCreateTime(new Date());
orderEntity.setUpdateTime(new Date());
invPlaceOrderDao.insert(orderEntity);
//插入附表
InvPlaceOrderDetailEntity invPlaceOrderDetailEntity=new InvPlaceOrderDetailEntity();
invPlaceOrderDetailEntity.setId(IdUtil.getSnowflakeNextId());
invPlaceOrderDetailEntity.setRecordId(recordId);
invPlaceOrderDetailEntity.setInvCode(bindInvSpaceRequest.getInvCode());
invPlaceOrderDetailEntity.setInvSpaceCode(bindInvSpaceRequest.getInvSpaceCode());
invPlaceOrderDetailEntity.setCode(bindInvSpaceRequest.getCode());
invPlaceOrderDetailEntity.setCount(1);
invPlaceOrderDetailDao.insert(invPlaceOrderDetailEntity);
}else{
recordId=bindInvSpaceRequest.getOrderId();
//查询有没有存在一样的code有就加数量没有新增
QueryWrapper<InvPlaceOrderDetailEntity> ew=new QueryWrapper<>();
ew.eq("recordId",bindInvSpaceRequest.getOrderId());
ew.eq("code",bindInvSpaceRequest.getCode());
InvPlaceOrderDetailEntity invPlaceOrderDetailEntity=invPlaceOrderDetailDao.selectOne(ew);
if(invPlaceOrderDetailEntity!=null){
invPlaceOrderDetailEntity.setCount(invPlaceOrderDetailEntity.getCount()+1);
invPlaceOrderDetailDao.updateById(invPlaceOrderDetailEntity);
}else{
//插入附表
invPlaceOrderDetailEntity=new InvPlaceOrderDetailEntity();
invPlaceOrderDetailEntity.setId(IdUtil.getSnowflakeNextId());
invPlaceOrderDetailEntity.setRecordId(bindInvSpaceRequest.getOrderId());
invPlaceOrderDetailEntity.setInvCode(bindInvSpaceRequest.getInvCode());
invPlaceOrderDetailEntity.setInvSpaceCode(bindInvSpaceRequest.getInvSpaceCode());
invPlaceOrderDetailEntity.setCode(bindInvSpaceRequest.getCode());
invPlaceOrderDetailEntity.setCount(1);
invPlaceOrderDetailDao.insert(invPlaceOrderDetailEntity);
}
}
return ResultVOUtils.success(recordId);
}
@Override
public List<InvPlaceOrderDetailResponse> filterInvPlaceOrderDetailList(FilterInvPlaceOrderRequest filterInvPlaceOrderRequest) {
if (null == filterInvPlaceOrderRequest) {
return Collections.emptyList();
}
if (null != filterInvPlaceOrderRequest.getPage() && null != filterInvPlaceOrderRequest.getLimit()) {
PageHelper.offsetPage((filterInvPlaceOrderRequest.getPage() - 1) * filterInvPlaceOrderRequest.getLimit(), filterInvPlaceOrderRequest.getLimit());
}
return invPlaceOrderDetailDao.selectDetailList(filterInvPlaceOrderRequest.getOrderId());
}
} }

@ -1,31 +1,32 @@
package com.glxp.api.service.inv.impl; package com.glxp.api.service.inv.impl;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.Constant;
import com.glxp.api.constant.ConstantStatus; import com.glxp.api.constant.ConstantStatus;
import com.glxp.api.dao.auth.InvSpaceDao; import com.glxp.api.dao.auth.InvSpaceDao;
import com.glxp.api.dao.auth.InvWarehouseDao; import com.glxp.api.dao.auth.InvWarehouseDao;
import com.glxp.api.dao.inv.InvPreInProductDetailDao; import com.glxp.api.dao.inv.*;
import com.glxp.api.dao.inv.InvPreProductDetailDao;
import com.glxp.api.dao.inv.InvProductDetailDao;
import com.glxp.api.entity.auth.InvSpace; import com.glxp.api.entity.auth.InvSpace;
import com.glxp.api.entity.auth.InvWarehouseEntity; import com.glxp.api.entity.auth.InvWarehouseEntity;
import com.glxp.api.entity.inv.InvPreInProductDetailEntity; import com.glxp.api.entity.inv.*;
import com.glxp.api.entity.inv.InvPreProductDetailEntity;
import com.glxp.api.entity.inv.InvProductDetailEntity;
import com.glxp.api.req.inv.AddInvPlaceOrderRequest; import com.glxp.api.req.inv.AddInvPlaceOrderRequest;
import com.glxp.api.req.inv.FilterInvPlaceRequest; import com.glxp.api.req.inv.FilterInvPlaceRequest;
import com.glxp.api.res.basic.UdiRelevanceResponse;
import com.glxp.api.res.inout.IoOrderResponse; import com.glxp.api.res.inout.IoOrderResponse;
import com.glxp.api.res.inv.BindInvSpaceRequest; import com.glxp.api.res.inv.BindInvSpaceRequest;
import com.glxp.api.res.inv.InvPlaceDetailResponse; import com.glxp.api.res.inv.InvPlaceDetailResponse;
import com.glxp.api.service.basic.UdiRelevanceService;
import com.glxp.api.service.inv.InvPlaceOrderService; import com.glxp.api.service.inv.InvPlaceOrderService;
import com.glxp.api.service.inv.InvPlaceService; import com.glxp.api.service.inv.InvPlaceService;
import com.glxp.api.util.BeanCopyUtils; import com.glxp.api.util.BeanCopyUtils;
import com.glxp.api.util.OrderNoTypeBean;
import io.swagger.models.auth.In; import io.swagger.models.auth.In;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -34,6 +35,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -54,6 +56,14 @@ public class InvPlaceServiceImpl implements InvPlaceService {
private InvSpaceDao invSpaceDao; private InvSpaceDao invSpaceDao;
@Resource @Resource
private InvPlaceOrderService invPlaceOrderService; private InvPlaceOrderService invPlaceOrderService;
@Resource
private InvPlaceOrderDao invPlaceOrderDao;
@Resource
private InvPlaceOrderDetailDao invPlaceOrderDetailDao;
@Resource
private UdiRelevanceService udiRelevanceService;
@Override @Override
public List<InvPlaceDetailResponse> getPlaceDetailList(FilterInvPlaceRequest filterInvPlaceRequest) { public List<InvPlaceDetailResponse> getPlaceDetailList(FilterInvPlaceRequest filterInvPlaceRequest) {
@ -75,67 +85,160 @@ public class InvPlaceServiceImpl implements InvPlaceService {
List<InvProductDetailEntity> list = new ArrayList<>(); List<InvProductDetailEntity> list = new ArrayList<>();
if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_PREIN) { if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_PREIN) {
List<InvPreInProductDetailEntity> invPreInProductDetailEntities = invPreInProductDetailDao.selectList(new QueryWrapper<InvPreInProductDetailEntity>() List<InvPlaceOrderDetailEntity> invPlaceOrderDetailEntityList=invPlaceOrderDetailDao.selectList(new QueryWrapper<InvPlaceOrderDetailEntity>().eq("recordId",bindInvSpaceRequest.getOrderId()));
.select("id", "code", "relId", "batchNo") for (InvPlaceOrderDetailEntity invPlaceOrderDetailEntity : invPlaceOrderDetailEntityList) {
.eq("deptCode", deptCode)
.eq("invCode", bindInvSpaceRequest.getInvCode()) for (Integer i = 0; i < invPlaceOrderDetailEntity.getCount(); i++) {
.in("code", bindInvSpaceRequest.getCodeArray()) //拆解库存表
); QueryWrapper<InvPreInProductDetailEntity> ew=new QueryWrapper<>();
for (InvPreInProductDetailEntity invPreInProductDetailEntity : invPreInProductDetailEntities) { ew.eq("code",invPlaceOrderDetailEntity.getCode());
InvProductDetailEntity invProductDetailEntity = new InvProductDetailEntity(); ew.and(o-> o.isNull("invSpaceCode").or().eq("invSpaceCode",""));
BeanCopyUtils.copy(invPreInProductDetailEntity, invProductDetailEntity);
list.add(invProductDetailEntity); ew.gt("inCount",0);
ew.last("limit 1");
InvPreInProductDetailEntity invPreInProductDetailEntity=invPreInProductDetailDao.selectOne(ew);
if(invPreInProductDetailEntity.getInCount()>0){
invPreInProductDetailEntity.setInCount(invPreInProductDetailEntity.getInCount()-1);
invPreInProductDetailEntity.setCount(invPreInProductDetailEntity.getCount()-1);
// invPreInProductDetailEntity.setReCount(invPreInProductDetailEntity.getReCount()-getActCount(invPlaceOrderDetailEntity.get));
invPreInProductDetailDao.updateById(invPreInProductDetailEntity);
ew.clear();
ew.eq("code",invPlaceOrderDetailEntity.getCode());
ew.eq("invSpaceCode",invPlaceOrderDetailEntity.getInvSpaceCode());
InvPreInProductDetailEntity invPreInProductDetailEntity1=invPreInProductDetailDao.selectOne(ew);
if(invPreInProductDetailEntity1!=null){
invPreInProductDetailEntity1.setCount(invPreInProductDetailEntity1.getCount()+1);
invPreInProductDetailEntity1.setInCount(invPreInProductDetailEntity1.getInCount()+1);
invPreInProductDetailDao.updateById(invPreInProductDetailEntity1);
}else{
invPreInProductDetailEntity.setId(null);
invPreInProductDetailEntity.setInCount(1);
invPreInProductDetailEntity.setCount(1);
invPreInProductDetailEntity.setOutCount(0);
invPreInProductDetailEntity.setInvSpaceCode(invPlaceOrderDetailEntity.getInvSpaceCode());
invPreInProductDetailDao.insert(invPreInProductDetailEntity);
}
}
}
} }
} else if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_ADVANCE) { } else if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_ADVANCE) {
List<InvPreProductDetailEntity> invPreProductDetailEntities = invPreProductDetailDao.selectList(new QueryWrapper<InvPreProductDetailEntity>() List<InvPlaceOrderDetailEntity> invPlaceOrderDetailEntityList=invPlaceOrderDetailDao.selectList(new QueryWrapper<InvPlaceOrderDetailEntity>().eq("recordId",bindInvSpaceRequest.getOrderId()));
.select("id", "code", "relId", "batchNo") for (InvPlaceOrderDetailEntity invPlaceOrderDetailEntity : invPlaceOrderDetailEntityList) {
.eq("deptCode", deptCode)
.eq("invCode", bindInvSpaceRequest.getInvCode()) for (Integer i = 0; i < invPlaceOrderDetailEntity.getCount(); i++) {
.in("code", bindInvSpaceRequest.getCodeArray()) //拆解库存表
); QueryWrapper<InvPreProductDetailEntity> ew=new QueryWrapper<>();
for (InvPreProductDetailEntity invPreInProductDetailEntity : invPreProductDetailEntities) { ew.eq("code",invPlaceOrderDetailEntity.getCode());
InvProductDetailEntity invProductDetailEntity = new InvProductDetailEntity(); ew.and(o-> o.isNull("invSpaceCode").or().eq("invSpaceCode",""));
BeanCopyUtils.copy(invPreInProductDetailEntity, invProductDetailEntity);
list.add(invProductDetailEntity); ew.gt("inCount",0);
ew.last("limit 1");
InvPreProductDetailEntity invPreInProductDetailEntity=invPreProductDetailDao.selectOne(ew);
if(invPreInProductDetailEntity.getInCount()>0){
invPreInProductDetailEntity.setInCount(invPreInProductDetailEntity.getInCount()-1);
invPreInProductDetailEntity.setCount(invPreInProductDetailEntity.getCount()-1);
// invPreInProductDetailEntity.setReCount(invPreInProductDetailEntity.getReCount()-getActCount(invPlaceOrderDetailEntity.get));
invPreProductDetailDao.updateById(invPreInProductDetailEntity);
ew.clear();
ew.eq("code",invPlaceOrderDetailEntity.getCode());
ew.eq("invSpaceCode",invPlaceOrderDetailEntity.getInvSpaceCode());
InvPreProductDetailEntity invPreInProductDetailEntity1=invPreProductDetailDao.selectOne(ew);
if(invPreInProductDetailEntity1!=null){
invPreInProductDetailEntity1.setCount(invPreInProductDetailEntity1.getCount()+1);
invPreInProductDetailEntity1.setInCount(invPreInProductDetailEntity1.getInCount()+1);
invPreProductDetailDao.updateById(invPreInProductDetailEntity1);
}else{
invPreInProductDetailEntity.setId(null);
invPreInProductDetailEntity.setInCount(1);
invPreInProductDetailEntity.setCount(1);
invPreInProductDetailEntity.setOutCount(0);
invPreInProductDetailEntity.setInvSpaceCode(invPlaceOrderDetailEntity.getInvSpaceCode());
invPreProductDetailDao.insert(invPreInProductDetailEntity);
}
}
}
} }
} else { } else {
list = invProductDetailDao.selectList(new QueryWrapper<InvProductDetailEntity>() List<InvPlaceOrderDetailEntity> invPlaceOrderDetailEntityList=invPlaceOrderDetailDao.selectList(new QueryWrapper<InvPlaceOrderDetailEntity>().eq("recordId",bindInvSpaceRequest.getOrderId()));
.select("id", "code", "relId", "batchNo") for (InvPlaceOrderDetailEntity invPlaceOrderDetailEntity : invPlaceOrderDetailEntityList) {
.eq("deptCode", deptCode)
.eq("invCode", bindInvSpaceRequest.getInvCode()) for (Integer i = 0; i < invPlaceOrderDetailEntity.getCount(); i++) {
.in("code", bindInvSpaceRequest.getCodeArray()) //拆解库存表
); QueryWrapper<InvProductDetailEntity> ew=new QueryWrapper<>();
} ew.eq("code",invPlaceOrderDetailEntity.getCode());
ew.and(o-> o.isNull("invSpaceCode").or().eq("invSpaceCode",""));
if (CollUtil.isNotEmpty(list)) {
List<Integer> ids = list.stream().map(InvProductDetailEntity::getId).collect(Collectors.toList()); ew.gt("inCount",0);
log.info("本次绑定货位的库存详情数量为:{} 条", ids.size()); ew.last("limit 1");
InvProductDetailEntity invPreInProductDetailEntity=invProductDetailDao.selectOne(ew);
if(invPreInProductDetailEntity.getInCount()>0){
if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_PREIN) { invPreInProductDetailEntity.setInCount(invPreInProductDetailEntity.getInCount()-1);
invPreInProductDetailDao.batchBindSpace(ids, bindInvSpaceRequest.getInvSpaceCode()); invPreInProductDetailEntity.setCount(invPreInProductDetailEntity.getCount()-1);
} else if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_ADVANCE) { // invPreInProductDetailEntity.setReCount(invPreInProductDetailEntity.getReCount()-getActCount(invPlaceOrderDetailEntity.get));
invPreProductDetailDao.batchBindSpace(ids, bindInvSpaceRequest.getInvSpaceCode()); invProductDetailDao.updateById(invPreInProductDetailEntity);
} else {
invProductDetailDao.batchBindSpace(ids, bindInvSpaceRequest.getInvSpaceCode());
ew.clear();
ew.eq("code",invPlaceOrderDetailEntity.getCode());
ew.eq("invSpaceCode",invPlaceOrderDetailEntity.getInvSpaceCode());
InvProductDetailEntity invPreInProductDetailEntity1=invProductDetailDao.selectOne(ew);
if(invPreInProductDetailEntity1!=null){
invPreInProductDetailEntity1.setCount(invPreInProductDetailEntity1.getCount()+1);
invPreInProductDetailEntity1.setInCount(invPreInProductDetailEntity1.getInCount()+1);
invProductDetailDao.updateById(invPreInProductDetailEntity1);
}else{
invPreInProductDetailEntity.setId(null);
invPreInProductDetailEntity.setInCount(1);
invPreInProductDetailEntity.setCount(1);
invPreInProductDetailEntity.setOutCount(0);
invPreInProductDetailEntity.setInvSpaceCode(invPlaceOrderDetailEntity.getInvSpaceCode());
invProductDetailDao.insert(invPreInProductDetailEntity);
}
}
}
} }
//添加物资上架记录
AddInvPlaceOrderRequest addInvPlaceOrderRequest = new AddInvPlaceOrderRequest();
addInvPlaceOrderRequest.setType(bindInvSpaceRequest.getType());
addInvPlaceOrderRequest.setOrderId(bindInvSpaceRequest.getOrderId());
addInvPlaceOrderRequest.setCodeList(list);
addInvPlaceOrderRequest.setInvCode(bindInvSpaceRequest.getInvCode());
addInvPlaceOrderRequest.setInvSpaceCode(bindInvSpaceRequest.getInvSpaceCode());
invPlaceOrderService.addInvPlaceOrder(addInvPlaceOrderRequest);
return ResultVOUtils.success("绑定成功!本次绑定货位的库存详情数量为:" + ids.size() + "条");
} else {
log.info("绑定货位列表查询无数据");
return ResultVOUtils.error(500, "绑定货位列表查询无数据");
} }
// if (CollUtil.isNotEmpty(list)) {
// List<Integer> ids = list.stream().map(InvProductDetailEntity::getId).collect(Collectors.toList());
// log.info("本次绑定货位的库存详情数量为:{} 条", ids.size());
//
//
// if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_PREIN) {
// invPreInProductDetailDao.batchBindSpace(ids, bindInvSpaceRequest.getInvSpaceCode());
// } else if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_ADVANCE) {
// invPreProductDetailDao.batchBindSpace(ids, bindInvSpaceRequest.getInvSpaceCode());
// } else {
// invProductDetailDao.batchBindSpace(ids, bindInvSpaceRequest.getInvSpaceCode());
// }
//
//
// //添加物资上架记录
// AddInvPlaceOrderRequest addInvPlaceOrderRequest = new AddInvPlaceOrderRequest();
// addInvPlaceOrderRequest.setType(bindInvSpaceRequest.getType());
// addInvPlaceOrderRequest.setOrderId(bindInvSpaceRequest.getOrderId());
// addInvPlaceOrderRequest.setCodeList(list);
// addInvPlaceOrderRequest.setInvCode(bindInvSpaceRequest.getInvCode());
// addInvPlaceOrderRequest.setInvSpaceCode(bindInvSpaceRequest.getInvSpaceCode());
// invPlaceOrderService.addInvPlaceOrder(addInvPlaceOrderRequest);
// return ResultVOUtils.success("绑定成功!本次绑定货位的库存详情数量为:" + ids.size() + "条");
// } else {
// log.info("绑定货位列表查询无数据");
// return ResultVOUtils.error(500, "绑定货位列表查询无数据");
// }
return ResultVOUtils.success();
} }
@Override @Override
@ -229,16 +332,16 @@ public class InvPlaceServiceImpl implements InvPlaceService {
} }
@Override @Override
public List<InvPlaceDetailResponse> getInvProductInfo(FilterInvPlaceRequest filterInvPlaceRequest) { public List<InvPlaceDetailResponse> getInvProductInfo(BindInvSpaceRequest bindInvSpaceRequest) {
return null;
InvWarehouseEntity invWarehouseEntity = invWarehouseDao.selectOne(new QueryWrapper<InvWarehouseEntity>().eq("code", filterInvPlaceRequest.getInvCode())); //
if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_PREIN) { // InvWarehouseEntity invWarehouseEntity = invWarehouseDao.selectOne(new QueryWrapper<InvWarehouseEntity>().eq("code", filterInvPlaceRequest.getInvCode()));
return invPreInProductDetailDao.getInvProductInfo(filterInvPlaceRequest); // if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_PREIN) {
} else if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_ADVANCE) { // return invPreInProductDetailDao.getInvProductInfo(filterInvPlaceRequest);
return invPreProductDetailDao.getInvProductInfo(filterInvPlaceRequest); // } else if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_ADVANCE) {
} else // return invPreProductDetailDao.getInvProductInfo(filterInvPlaceRequest);
return invProductDetailDao.getInvProductInfo(filterInvPlaceRequest); // } else
// return invProductDetailDao.getInvProductInfo(filterInvPlaceRequest);
} }
@Override @Override
@ -261,4 +364,79 @@ public class InvPlaceServiceImpl implements InvPlaceService {
} }
@Override
public String checkCount(BindInvSpaceRequest bindInvSpaceRequest) {
InvWarehouseEntity invWarehouseEntity = invWarehouseDao.selectOne(new QueryWrapper<InvWarehouseEntity>().eq("code", bindInvSpaceRequest.getInvCode()));
if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_PREIN) {
Integer count = invPreInProductDetailDao.getInventoryQuantity(bindInvSpaceRequest.getCode());
if(count==null || count<=0){
return "该产品库存不足!";
}
if(StrUtil.isNotBlank(bindInvSpaceRequest.getOrderId())){
QueryWrapper ew=new QueryWrapper();
ew.eq("recordId",bindInvSpaceRequest.getOrderId());
ew.eq("code",bindInvSpaceRequest.getCode());
InvPlaceOrderDetailEntity invPlaceOrderDetailEntity =invPlaceOrderDetailDao.selectOne(ew);
if(invPlaceOrderDetailEntity.getCount()>=count){
return "该产品库存不足!";
}
}
} else if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_ADVANCE) {
Integer count = invPreProductDetailDao.getInventoryQuantity(bindInvSpaceRequest.getCode());
if(count==null || count<=0){
return "该产品库存不足!";
}
if(StrUtil.isNotBlank(bindInvSpaceRequest.getOrderId())){
QueryWrapper ew=new QueryWrapper();
ew.eq("recordId",bindInvSpaceRequest.getOrderId());
ew.eq("code",bindInvSpaceRequest.getCode());
InvPlaceOrderDetailEntity invPlaceOrderDetailEntity =invPlaceOrderDetailDao.selectOne(ew);
if(invPlaceOrderDetailEntity.getCount()>=count){
return "该产品库存不足!";
}
}
} else if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_NORMAL){
Integer count = invProductDetailDao.getInventoryQuantity(bindInvSpaceRequest.getCode());
if(count==null || count<=0){
return "该产品库存不足!";
}
if(StrUtil.isNotBlank(bindInvSpaceRequest.getOrderId())){
QueryWrapper ew=new QueryWrapper();
ew.eq("recordId",bindInvSpaceRequest.getOrderId());
ew.eq("code",bindInvSpaceRequest.getCode());
InvPlaceOrderDetailEntity invPlaceOrderDetailEntity =invPlaceOrderDetailDao.selectOne(ew);
if(invPlaceOrderDetailEntity.getCount()>=count){
return "该产品库存不足!";
}
}
}
return "";
}
public int getActCount(String nameCode) {
UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectByNameCode(nameCode);
int count = getActCount(udiRelevanceResponse);
return count;
}
public int getActCount(UdiRelevanceResponse udiRelevanceResponse) {
int actCount;
if (!udiRelevanceResponse.getUseDy() && (udiRelevanceResponse.getDiType() == null || udiRelevanceResponse.getDiType() != 2)) {
if (udiRelevanceResponse.getBhzxxsbzsl() == 0) {
actCount = udiRelevanceResponse.getZxxsbzbhsydysl();
} else {
if (udiRelevanceResponse.getBhzxxsbzsl() == 0) {
udiRelevanceResponse.setBhzxxsbzsl(1);
}
if (udiRelevanceResponse.getZxxsbzbhsydysl() == null || udiRelevanceResponse.getZxxsbzbhsydysl() == 0) {
udiRelevanceResponse.setZxxsbzbhsydysl(1);
}
actCount = udiRelevanceResponse.getBhzxxsbzsl() * udiRelevanceResponse.getZxxsbzbhsydysl();
}
} else {
actCount = udiRelevanceResponse.getBhzxxsbzsl();
}
return actCount;
}
} }

@ -14,4 +14,6 @@ public interface SyncDataBustypeService extends IService<SyncDataBustypeEntity>
void inserts(List<SyncDataBustypeEntity> syncDataBustypeEntities); void inserts(List<SyncDataBustypeEntity> syncDataBustypeEntities);
boolean isExits(List<SyncDataBustypeEntity> syncDataBustypeEntities, Integer direct);
} }

@ -13,7 +13,7 @@ import java.util.List;
@Service @Service
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public class SyncDataBustypeServiceImpl extends ServiceImpl<SyncDataBustypeDao,SyncDataBustypeEntity> implements SyncDataBustypeService { public class SyncDataBustypeServiceImpl extends ServiceImpl<SyncDataBustypeDao, SyncDataBustypeEntity> implements SyncDataBustypeService {
@Resource @Resource
SyncDataBustypeDao syncDataBustypeDao; SyncDataBustypeDao syncDataBustypeDao;
@ -32,4 +32,10 @@ public class SyncDataBustypeServiceImpl extends ServiceImpl<SyncDataBustypeDao,S
public void inserts(List<SyncDataBustypeEntity> syncDataBustypeEntities) { public void inserts(List<SyncDataBustypeEntity> syncDataBustypeEntities) {
syncDataBustypeDao.inserts(syncDataBustypeEntities); syncDataBustypeDao.inserts(syncDataBustypeEntities);
} }
@Override
public boolean isExits(List<SyncDataBustypeEntity> syncDataBustypeEntities, Integer direct) {
//
return false;
}
} }

@ -61,7 +61,7 @@ public class DateUtil extends DateUtils {
* yyyy-MM-dd HH:mm:ss * yyyy-MM-dd HH:mm:ss
*/ */
public static String formatDateTime(Date date) { public static String formatDateTime(Date date) {
Date currentTime = new Date(); Date currentTime = date;
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateString = formatter.format(currentTime); String dateString = formatter.format(currentTime);
return dateString; return dateString;

@ -1,6 +1,7 @@
package com.glxp.api.util.udi; package com.glxp.api.util.udi;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.glxp.api.constant.ConstantStatus; import com.glxp.api.constant.ConstantStatus;
import com.glxp.api.entity.basic.UdiProductEntity; import com.glxp.api.entity.basic.UdiProductEntity;
@ -26,6 +27,9 @@ public class UdiInfoUtil {
public static List<UdiProductEntity> initUdiInfoEntitys(List<UdiProductEntity> udiProductEntities) { public static List<UdiProductEntity> initUdiInfoEntitys(List<UdiProductEntity> udiProductEntities) {
if (CollUtil.isNotEmpty(udiProductEntities)) { if (CollUtil.isNotEmpty(udiProductEntities)) {
for (UdiProductEntity udiProductEntity : udiProductEntities) { for (UdiProductEntity udiProductEntity : udiProductEntities) {
if (udiProductEntity.getId() == null) {
udiProductEntity.setId(IdUtil.getSnowflakeNextId());
}
udiProductEntity.setProductType(ConstantStatus.PRODUCT_TYPE_UDI); udiProductEntity.setProductType(ConstantStatus.PRODUCT_TYPE_UDI);
if (StrUtil.isNotEmpty(udiProductEntity.getScbssfbhph()) && "否".equals(udiProductEntity.getScbssfbhph())) { if (StrUtil.isNotEmpty(udiProductEntity.getScbssfbhph()) && "否".equals(udiProductEntity.getScbssfbhph())) {
udiProductEntity.setAllowNoBatch(true); udiProductEntity.setAllowNoBatch(true);

@ -5,10 +5,10 @@
<insert id="insertCompanyProductRelevance" <insert id="insertCompanyProductRelevance"
parameterType="com.glxp.api.entity.basic.CompanyProductRelevanceEntity"> parameterType="com.glxp.api.entity.basic.CompanyProductRelevanceEntity">
replace replace
INTO company_product_relevance(customerId, productId, enterpriseId, registrationId, INTO company_product_relevance(id, customerId, productId, enterpriseId, registrationId,
createTime, updateTime, auditStatus, productUuid, udiRlIdFk, unitFk, createTime, updateTime, auditStatus, productUuid, udiRlIdFk, unitFk,
price) price)
values (#{customerId}, values (#{id}, #{customerId},
#{productId}, #{productId},
#{enterpriseId}, #{enterpriseId},
#{registrationId}, #{registrationId},

@ -31,66 +31,66 @@
<select id="filterUdiInfo2" parameterType="com.glxp.api.req.basic.FilterUdiRelRequest" <select id="filterUdiInfo2" parameterType="com.glxp.api.req.basic.FilterUdiRelRequest"
resultType="com.glxp.api.res.basic.UdiRelevanceResponse"> resultType="com.glxp.api.res.basic.UdiRelevanceResponse">
SELECT basic_products.id, SELECT basic_products.id,
basic_udirel.thirdId, basic_udirel.thirdId,
basic_udirel.thirdName, basic_udirel.thirdName,
basic_udirel.isUseDy, basic_udirel.isUseDy,
basic_udirel.thirdId1, basic_udirel.thirdId1,
basic_udirel.thirdId2, basic_udirel.thirdId2,
basic_udirel.thirdId3, basic_udirel.thirdId3,
basic_udirel.thirdId4, basic_udirel.thirdId4,
basic_udirel.ybbm, basic_udirel.ybbm,
basic_udirel.sptm, basic_udirel.sptm,
basic_udirel.isDisable, basic_udirel.isDisable,
basic_udirel.thirdName1, basic_udirel.thirdName1,
basic_udirel.thirdName2, basic_udirel.thirdName2,
basic_udirel.thirdName3, basic_udirel.thirdName3,
basic_udirel.thirdName4, basic_udirel.thirdName4,
basic_udirel.manufactory, basic_udirel.manufactory,
basic_udirel.measname, basic_udirel.measname,
basic_udirel.udplatCode, basic_udirel.udplatCode,
basic_products.nameCode, basic_products.nameCode,
basic_products.packRatio, basic_products.packRatio,
basic_products.packLevel, basic_products.packLevel,
basic_products.packUnit, basic_products.packUnit,
basic_products.bhxjsl, basic_products.bhxjsl,
basic_products.bhzxxsbzsl, basic_products.bhzxxsbzsl,
basic_products.zxxsbzbhsydysl, basic_products.zxxsbzbhsydysl,
basic_products.bhxjcpbm, basic_products.bhxjcpbm,
basic_products.bzcj, basic_products.bzcj,
basic_products.addType, basic_products.addType,
basic_products.deviceRecordKey, basic_products.deviceRecordKey,
basic_products.cpmctymc, basic_products.cpmctymc,
basic_products.cplb, basic_products.cplb,
basic_products.flbm, basic_products.flbm,
basic_products.ggxh, basic_products.ggxh,
basic_products.qxlb, basic_products.qxlb,
basic_products.tyshxydm, basic_products.tyshxydm,
basic_products.ylqxzcrbarmc, basic_products.ylqxzcrbarmc,
basic_products.zczbhhzbapzbh, basic_products.zczbhhzbapzbh,
basic_products.ylqxzcrbarywmc, basic_products.ylqxzcrbarywmc,
basic_products.sydycpbs, basic_products.sydycpbs,
basic_products.uuid, basic_products.uuid,
basic_products.sjcpbm, basic_products.sjcpbm,
basic_products.versionNumber, basic_products.versionNumber,
basic_products.diType, basic_products.diType,
basic_products.scbssfbhph, basic_products.scbssfbhph,
basic_products.scbssfbhxlh, basic_products.scbssfbhxlh,
basic_products.scbssfbhscrq, basic_products.scbssfbhscrq,
basic_products.scbssfbhsxrq, basic_products.scbssfbhsxrq,
basic_products.cpms, basic_products.cpms,
basic_products.originUuid, basic_products.originUuid,
basic_products.allowNoBatch, basic_products.allowNoBatch,
basic_products.allowNoExpire, basic_products.allowNoExpire,
basic_products.allowNoProduct, basic_products.allowNoProduct,
basic_products.allowNoSerial, basic_products.allowNoSerial,
basic_products.spmc, basic_products.spmc,
basic_products.cplx, basic_products.cplx,
basic_products.hchzsb basic_products.hchzsb
FROM (company_product_relevance FROM (company_product_relevance
inner JOIN basic_udirel inner JOIN basic_udirel
ON company_product_relevance.udiRlIdFk = basic_udirel.id) ON company_product_relevance.udiRlIdFk = basic_udirel.id)
inner JOIN basic_products inner JOIN basic_products
ON basic_udirel.uuid = basic_products.uuid ON basic_udirel.uuid = basic_products.uuid
<where> <where>
<if test="ylqxzcrbarmc != '' and ylqxzcrbarmc != null"> <if test="ylqxzcrbarmc != '' and ylqxzcrbarmc != null">
AND ylqxzcrbarmc LIKE concat(#{ylqxzcrbarmc}, '%') AND ylqxzcrbarmc LIKE concat(#{ylqxzcrbarmc}, '%')
@ -128,7 +128,6 @@
<if test="originUuid != '' and originUuid != null"> <if test="originUuid != '' and originUuid != null">
AND originUuid = #{originUuid} AND originUuid = #{originUuid}
</if> </if>
</where> </where>
ORDER BY updateTime DESC ORDER BY updateTime DESC
</select> </select>
@ -165,134 +164,134 @@
</select> </select>
<insert id="insertUdiInfo" keyProperty="id" parameterType="com.glxp.api.entity.basic.UdiProductEntity"> <insert id="insertUdiInfo" keyProperty="id" parameterType="com.glxp.api.entity.basic.UdiProductEntity">
replace replace
INTO basic_products INTO basic_products
(uuid, originUuid, nameCode, deviceRecordKey, packRatio, packLevel, packUnit, bhxjsl, bhzxxsbzsl, (id, uuid, originUuid, nameCode, deviceRecordKey, packRatio, packLevel, packUnit, bhxjsl, bhzxxsbzsl,
zxxsbzbhsydysl, bhxjcpbm, bzcj, cpmctymc, cplb, flbm, ggxh, qxlb, tyshxydm, zxxsbzbhsydysl, bhxjcpbm, bzcj, cpmctymc, cplb, flbm, ggxh, qxlb, tyshxydm,
ylqxzcrbarmc, zczbhhzbapzbh, ylqxzcrbarywmc, sydycpbs, sjcpbm, versionNumber, diType, ybbm, sptm, ylqxzcrbarmc, zczbhhzbapzbh, ylqxzcrbarywmc, sydycpbs, sjcpbm, versionNumber, diType, ybbm, sptm,
manufactory, measname, productType, scbssfbhph, scbssfbhxlh, scbssfbhscrq, scbssfbhsxrq, cpms, manufactory, measname, productType, scbssfbhph, scbssfbhxlh, scbssfbhscrq, scbssfbhsxrq, cpms,
allowNoBatch, allowNoExpire, allowNoBatch, allowNoExpire,
allowNoProduct, allowNoSerial, spmc, cplx, hchzsb, cpdls, price, basicPrductRemak1, basicPrductRemak2, allowNoProduct, allowNoSerial, spmc, cplx, hchzsb, cpdls, price, basicPrductRemak1, basicPrductRemak2,
basicPrductRemak3, basicPrductRemak4, basicPrductRemak5, basicPrductRemak6, basicPrductRemak7, basicPrductRemak3, basicPrductRemak4, basicPrductRemak5, basicPrductRemak6, basicPrductRemak7,
basicPrductRemak8) basicPrductRemak8)
values (#{uuid}, values (#{id}, #{uuid},
#{originUuid}, #{originUuid},
#{nameCode}, #{nameCode},
#{deviceRecordKey}, #{deviceRecordKey},
#{packRatio}, #{packRatio},
#{packLevel}, #{packLevel},
#{packUnit}, #{packUnit},
#{bhxjsl}, #{bhxjsl},
#{bhzxxsbzsl }, #{bhzxxsbzsl },
#{zxxsbzbhsydysl}, #{zxxsbzbhsydysl},
#{bhxjcpbm}, #{bhxjcpbm},
#{bzcj}, #{bzcj},
#{cpmctymc}, #{cpmctymc},
#{cplb}, #{cplb},
#{flbm}, #{flbm},
#{ggxh}, #{ggxh},
#{qxlb}, #{qxlb},
#{tyshxydm}, #{tyshxydm},
#{ylqxzcrbarmc}, #{ylqxzcrbarmc},
#{zczbhhzbapzbh}, #{zczbhhzbapzbh},
#{ylqxzcrbarywmc}, #{ylqxzcrbarywmc},
#{sydycpbs}, #{sydycpbs},
#{sjcpbm}, #{sjcpbm},
#{versionNumber}, #{versionNumber},
#{diType}, #{diType},
#{ybbm}, #{ybbm},
#{sptm}, #{sptm},
#{manufactory}, #{manufactory},
#{measname}, #{measname},
#{productType}, #{productType},
#{scbssfbhph}, #{scbssfbhph},
#{scbssfbhxlh}, #{scbssfbhxlh},
#{scbssfbhscrq}, #{scbssfbhscrq},
#{scbssfbhsxrq}, #{scbssfbhsxrq},
#{cpms}, #{cpms},
#{allowNoBatch}, #{allowNoBatch},
#{allowNoExpire}, #{allowNoExpire},
#{allowNoProduct}, #{allowNoSerial}, #{allowNoProduct}, #{allowNoSerial},
#{spmc}, #{spmc},
#{cplx}, #{cplx},
#{hchzsb}, #{hchzsb},
#{cpdls}, #{cpdls},
#{price}, #{price},
#{basicPrductRemak1}, #{basicPrductRemak1},
#{basicPrductRemak2}, #{basicPrductRemak2},
#{basicPrductRemak3}, #{basicPrductRemak3},
#{basicPrductRemak4}, #{basicPrductRemak4},
#{basicPrductRemak5}, #{basicPrductRemak5},
#{basicPrductRemak6}, #{basicPrductRemak6},
#{basicPrductRemak7}, #{basicPrductRemak7},
#{basicPrductRemak8}) #{basicPrductRemak8})
</insert> </insert>
<insert id="insertUdiInfos" keyProperty="id" parameterType="java.util.List"> <insert id="insertUdiInfos" keyProperty="id" parameterType="java.util.List">
replace INTO basic_products replace INTO basic_products
(id,uuid, originUuid, nameCode, deviceRecordKey, packRatio, packLevel, packUnit, bhxjsl, bhzxxsbzsl, (id, uuid, originUuid, nameCode, deviceRecordKey, packRatio, packLevel, packUnit, bhxjsl, bhzxxsbzsl,
zxxsbzbhsydysl, bhxjcpbm, bzcj, cpmctymc, cplb, flbm, ggxh, qxlb, tyshxydm, zxxsbzbhsydysl, bhxjcpbm, bzcj, cpmctymc, cplb, flbm, ggxh, qxlb, tyshxydm,
ylqxzcrbarmc, zczbhhzbapzbh, ylqxzcrbarywmc, sydycpbs, sjcpbm, versionNumber, diType, ybbm, sptm, ylqxzcrbarmc, zczbhhzbapzbh, ylqxzcrbarywmc, sydycpbs, sjcpbm, versionNumber, diType, ybbm, sptm,
manufactory, measname, productType, scbssfbhph, scbssfbhxlh, scbssfbhscrq, scbssfbhsxrq, cpms, manufactory, measname, productType, scbssfbhph, scbssfbhxlh, scbssfbhscrq, scbssfbhsxrq, cpms,
allowNoBatch, allowNoExpire, allowNoBatch, allowNoExpire,
allowNoProduct, allowNoSerial, spmc, cplx, hchzsb, cpdls, price, basicPrductRemak1, basicPrductRemak2, allowNoProduct, allowNoSerial, spmc, cplx, hchzsb, cpdls, price, basicPrductRemak1, basicPrductRemak2,
basicPrductRemak3, basicPrductRemak4, basicPrductRemak5, basicPrductRemak6, basicPrductRemak7, basicPrductRemak3, basicPrductRemak4, basicPrductRemak5, basicPrductRemak6, basicPrductRemak7,
basicPrductRemak8) basicPrductRemak8)
values values
<foreach collection="udiInfoEntities" item="item" index="index" <foreach collection="udiInfoEntities" item="item" index="index"
separator=","> separator=",">
(#{item.id}, (#{item.id},
#{item.uuid}, #{item.uuid},
#{item.originUuid}, #{item.originUuid},
#{item.nameCode}, #{item.nameCode},
#{item.deviceRecordKey}, #{item.deviceRecordKey},
#{item.packRatio}, #{item.packRatio},
#{item.packLevel}, #{item.packLevel},
#{item.packUnit}, #{item.packUnit},
#{item.bhxjsl}, #{item.bhxjsl},
#{item.bhzxxsbzsl}, #{item.bhzxxsbzsl},
#{item.zxxsbzbhsydysl}, #{item.zxxsbzbhsydysl},
#{item.bhxjcpbm}, #{item.bhxjcpbm},
#{item.bzcj}, #{item.bzcj},
#{item.cpmctymc}, #{item.cpmctymc},
#{item.cplb}, #{item.cplb},
#{item.flbm}, #{item.flbm},
#{item.ggxh}, #{item.ggxh},
#{item.qxlb}, #{item.qxlb},
#{item.tyshxydm}, #{item.tyshxydm},
#{item.ylqxzcrbarmc}, #{item.ylqxzcrbarmc},
#{item.zczbhhzbapzbh}, #{item.zczbhhzbapzbh},
#{item.ylqxzcrbarywmc}, #{item.ylqxzcrbarywmc},
#{item.sydycpbs}, #{item.sydycpbs},
#{item.sjcpbm}, #{item.sjcpbm},
#{item.versionNumber}, #{item.versionNumber},
#{item.diType}, #{item.diType},
#{item.ybbm}, #{item.ybbm},
#{item.sptm}, #{item.sptm},
#{item.manufactory}, #{item.manufactory},
#{item.measname}, #{item.measname},
#{item.productType}, #{item.productType},
#{item.scbssfbhph}, #{item.scbssfbhph},
#{item.scbssfbhxlh}, #{item.scbssfbhxlh},
#{item.scbssfbhscrq}, #{item.scbssfbhscrq},
#{item.scbssfbhsxrq}, #{item.scbssfbhsxrq},
#{item.cpms}, #{item.cpms},
#{item.allowNoBatch}, #{item.allowNoBatch},
#{item.allowNoExpire}, #{item.allowNoExpire},
#{item.allowNoProduct}, #{item.allowNoSerial}, #{item.allowNoProduct}, #{item.allowNoSerial},
#{item.spmc}, #{item.spmc},
#{item.cplx}, #{item.cplx},
#{item.hchzsb}, #{item.hchzsb},
#{item.cpdls}, #{item.cpdls},
#{item.price}, #{item.price},
#{item.basicPrductRemak1}, #{item.basicPrductRemak1},
#{item.basicPrductRemak2}, #{item.basicPrductRemak2},
#{item.basicPrductRemak3}, #{item.basicPrductRemak3},
#{item.basicPrductRemak4}, #{item.basicPrductRemak4},
#{item.basicPrductRemak5}, #{item.basicPrductRemak5},
#{item.basicPrductRemak6}, #{item.basicPrductRemak6},
#{item.basicPrductRemak7}, #{item.basicPrductRemak7},
#{item.basicPrductRemak8}) #{item.basicPrductRemak8})
</foreach> </foreach>
</insert> </insert>
@ -468,7 +467,7 @@
</if> </if>
</trim> </trim>
WHERE nameCode = #{nameCode} WHERE nameCode = #{nameCode}
and uuid = #{uuid} and uuid = #{uuid}
</update> </update>
<update id="updateUdiInfoByUuid" parameterType="com.glxp.api.entity.basic.UdiProductEntity"> <update id="updateUdiInfoByUuid" parameterType="com.glxp.api.entity.basic.UdiProductEntity">
@ -818,7 +817,7 @@
<select id="selectGgxhList" resultType="java.lang.String"> <select id="selectGgxhList" resultType="java.lang.String">
select distinct ggxh select distinct ggxh
from basic_products from basic_products
left join basic_udirel on basic_products.uuid = basic_udirel.uuid left join basic_udirel on basic_products.uuid = basic_udirel.uuid
where basic_udirel.id = #{relId} where basic_udirel.id = #{relId}
</select> </select>
@ -957,6 +956,9 @@
</update> </update>
<select id="selectAllowNoBatch" resultType="com.glxp.api.entity.basic.UdiProductEntity"> <select id="selectAllowNoBatch" resultType="com.glxp.api.entity.basic.UdiProductEntity">
select id, allowNoBatch from basic_products where nameCode = #{nameCode} limit 1 select id, allowNoBatch
from basic_products
where nameCode = #{nameCode}
limit 1
</select> </select>
</mapper> </mapper>

@ -1,4 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?> <?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"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.glxp.api.dao.inv.InvPlaceOrderDetailDao"> <mapper namespace="com.glxp.api.dao.inv.InvPlaceOrderDetailDao">
<select id="selectDetailList" resultType="com.glxp.api.res.inv.InvPlaceOrderDetailResponse">
SELECT
a1.count,
a2.relId,
bp.cpmctymc as productName,
bp.ggxh,
a2.batchNo,
a2.serialNo,
bp.measname,
bp.zczbhhzbapzbh,
bp.manufactory,
asp.name as invSpaceName
FROM
inv_place_order_detail a1
LEFT JOIN inv_prein_product_detail a2 ON a1.CODE = a2.CODE
LEFT JOIN basic_udirel bu ON bu.id = a2.relId
LEFT JOIN basic_products bp ON bp.uuid = bu.uuid
LEFT JOIN auth_space asp on a1.invSpaceCode=asp.`code`
<where>
<if test="recordId != null and recordId != ''">
AND a1.recordId = #{recordId}
</if>
</where>
GROUP BY a1.code
</select>
</mapper> </mapper>

@ -221,4 +221,16 @@
</where> </where>
group by ipd.orderId group by ipd.orderId
</select> </select>
<select id="getInventoryQuantity" resultType="Integer">
SELECT
SUM( inCount )- SUM( outCount )
FROM
inv_prein_product_detail ipd
WHERE
CODE = #{code}
and (invSpaceCode is null or invSpaceCode = '' )
</select>
</mapper> </mapper>

@ -221,4 +221,15 @@
</where> </where>
group by ipd.orderId group by ipd.orderId
</select> </select>
<select id="getInventoryQuantity" resultType="Integer">
SELECT
SUM( inCount )- SUM( outCount )
FROM
inv_pre_product_detail ipd
WHERE
CODE = #{code}
and (invSpaceCode is null or invSpaceCode = '' )
</select>
</mapper> </mapper>

@ -303,4 +303,15 @@
</where> </where>
group by ipd.orderId group by ipd.orderId
</select> </select>
<select id="getInventoryQuantity" resultType="Integer">
SELECT
SUM( inCount )- SUM( outCount )
FROM
inv_product_detail ipd
WHERE
CODE = #{code}
and (invSpaceCode is null or invSpaceCode = '' )
</select>
</mapper> </mapper>

@ -10,7 +10,7 @@
<insert id="inserts" parameterType="com.glxp.api.entity.system.SyncDataBustypeEntity" useGeneratedKeys="true"> <insert id="inserts" parameterType="com.glxp.api.entity.system.SyncDataBustypeEntity" useGeneratedKeys="true">
insert INTO sync_data_bustypes replace INTO sync_data_bustypes
(id, `action`, `name`, outChange, orderStatus, direct) (id, `action`, `name`, outChange, orderStatus, direct)
values values

@ -22,7 +22,7 @@
, unCheckCert, checkedCert, companyCert, manufacturerCert, productCert, basicDept , unCheckCert, checkedCert, companyCert, manufacturerCert, productCert, basicDept
, systemConfig , systemConfig
, printConfig, scanChangeConfig, supCert, dbDiCompany, busChangeConfig , printConfig, scanChangeConfig, supCert, dbDiCompany, busChangeConfig
, udiCodeLost, udiCodeRel, orderInvoice) , udiCodeLost, udiCodeRel, orderInvoice, orderToInSyncTime, orderSyncDlTime)
values (#{id}, values (#{id},
#{typeBus}, #{typeBus},
#{typeScan}, #{typeScan},
@ -51,6 +51,6 @@
#{unCheckCert}, #{unCheckCert},
#{checkedCert}, #{companyCert}, #{manufacturerCert}, #{productCert}, #{basicDept}, #{checkedCert}, #{companyCert}, #{manufacturerCert}, #{productCert}, #{basicDept},
#{systemConfig}, #{printConfig}, #{scanChangeConfig}, #{supCert}, #{dbDiCompany}, #{busChangeConfig}, #{systemConfig}, #{printConfig}, #{scanChangeConfig}, #{supCert}, #{dbDiCompany}, #{busChangeConfig},
#{udiCodeLost}, #{udiCodeRel}, #{orderInvoice}) #{udiCodeLost}, #{udiCodeRel}, #{orderInvoice}, #{orderToInSyncTime}, #{orderSyncDlTime})
</insert> </insert>
</mapper> </mapper>

@ -393,3 +393,8 @@ CALL Pro_Temp_ColumnWork('sup_cert', 'filePath', 'text', 2);
CALL Pro_Temp_ColumnWork('sync_data_bustypes', 'id', 'bigint', 2); CALL Pro_Temp_ColumnWork('sync_data_bustypes', 'id', 'bigint', 2);
CALL Pro_Temp_ColumnWork('io_order_invoice', 'id', 'bigint ', 2); CALL Pro_Temp_ColumnWork('io_order_invoice', 'id', 'bigint ', 2);
CALL Pro_Temp_ColumnWork('sync_data_set', 'orderInvoice', 'tinyint', 1); CALL Pro_Temp_ColumnWork('sync_data_set', 'orderInvoice', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('io_order', 'regStatus', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('io_order', 'reviewSp', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('io_order_detail_biz', 'regStatus', 'tinyint', 1);

Loading…
Cancel
Save