账号,单据,仓库关联等同步修改,数据同步修改,功能迁移,验收,创建单据等

master
anthonyywj2 3 years ago
parent 660f20101a
commit 3dc9968aa6

@ -10,4 +10,9 @@ public class Constant {
public static final String SCAN_ORDER = "MS";
public static final String BUS_ORDER = "MY";
public static final String dlThrProducts = "THR_DOWNLOAD_PRODUCTS";
public static final String dlThrInvProducts = "THR_DOWNLOAD_INV_PRODUCTS";
public static final String dlThrOrders = "THR_DOWNLOAD_ORDERS";
public static final String dlThrCorps = "THR_DOWNLOAD_CORPS";
}

@ -144,7 +144,7 @@ public class AuthAdminController {
if (authAdmin.getPassWord() != null) {
authAdmin.setPassWord(PasswordUtils.authAdminPwd(authAdmin.getPassWord()));
}
authAdmin.setLastModifyTime(new Date());
boolean b = authAdminService.insertAuthAdmin(authAdmin);
authAdmin = authAdminService.findByUserName(authAdmin.getUserName());
if (!b) {
@ -190,7 +190,7 @@ public class AuthAdminController {
if (authAdmin.getPassWord() != null) {
authAdmin.setPassWord(PasswordUtils.authAdminPwd(authAdmin.getPassWord()));
}
authAdmin.setLastModifyTime(new Date());
boolean b = authAdminService.updateAuthAdmin(authAdmin);
if (!b) {

@ -236,7 +236,7 @@ public class LoginController {
authAdminUp.setId(authAdmin.getId());
String newPwd = PasswordUtils.authAdminPwd(updatePasswordRequest.getNewPassword());
authAdminUp.setPassWord(newPwd);
authAdmin.setLastModifyTime(new Date());
boolean b = authAdminService.updateAuthAdmin(authAdminUp);
if (b) {
return ResultVOUtils.success();

@ -19,9 +19,8 @@ import com.glxp.api.admin.service.basic.BasicExportService;
import com.glxp.api.admin.service.basic.BasicExportTimeService;
import com.glxp.api.admin.thread.HeartService;
import com.glxp.api.admin.thread.UpBasicService;
import com.glxp.api.admin.util.Constant;
import com.glxp.api.admin.util.RedisUtil;
import com.glxp.api.admin.util.SpGetHttp;
import com.glxp.api.admin.httpclient.SpGetHttpClient;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
@ -51,7 +50,7 @@ public class SpsSyncExportStatusController {
@Resource
UpBasicService upBasicService;
@Resource
SpGetHttp spGetHttp;
SpGetHttpClient spGetHttp;
@GetMapping("/spssync/basic/udiinfo/getStatus")
public BaseResponse getStatus(BasicExportStatusRequest basicExportStatusRequest) {

@ -5,6 +5,7 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.github.pagehelper.PageInfo;
import com.glxp.api.admin.annotation.AuthRuleAnnotation;
import com.glxp.api.admin.constant.Constant;
import com.glxp.api.admin.constant.ConstantStatus;
import com.glxp.api.admin.entity.auth.AuthAdmin;
import com.glxp.api.admin.entity.basic.BasicUnitMaintainEntity;
@ -13,6 +14,7 @@ import com.glxp.api.admin.entity.basic.BussinessTypeEntity;
import com.glxp.api.admin.entity.business.StockOrderDetailEntity;
import com.glxp.api.admin.entity.business.StockOrderEntity;
import com.glxp.api.admin.entity.business.StockQRCodeTextEntity;
import com.glxp.api.admin.entity.info.CompanyEntity;
import com.glxp.api.admin.entity.info.SystemParamConfigEntity;
import com.glxp.api.admin.entity.inout.OrderEntity;
import com.glxp.api.admin.entity.inout.WarehouseEntity;
@ -69,6 +71,7 @@ import java.util.List;
@RestController
public class StockOrderController {
@Resource
private StockOrderService stockOrderService;
@Resource
@ -82,8 +85,6 @@ public class StockOrderController {
@Resource
private StockQRCodeTextService stockQRCodeTextService;
@Resource
private UdiInfoService udiInfoService;
@Resource
private UdiRelevanceService udiRelevanceService;
@Resource
private SystemParamConfigService systemParamConfigService;
@ -109,8 +110,7 @@ public class StockOrderController {
@Resource
GennerOrderUtils gennerOrderUtils;
@Resource
BussinessTypeService bussinessTypeService;
private BussinessTypeService bussinessTypeService;
@AuthRuleAnnotation("")
@GetMapping("/udiwms/stock/order/error")
@ -160,7 +160,6 @@ public class StockOrderController {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
Integer userId = customerService.getUserId();
StockOrderEntity stockOrderEntity = new StockOrderEntity();
BeanUtils.copyProperties(stockOrderPostRequest, stockOrderEntity);
stockOrderEntity.setCreateUser(userId);
@ -182,7 +181,7 @@ public class StockOrderController {
if (StringUtils.isBlank(stockOrderEntity.getId())) {
BussinessLocalTypeEntity bussinessLocalTypeEntity = bussinessLocalTypeService.findBTByAction(stockOrderEntity.getBillType());
if (StrUtil.isEmpty(stockOrderPostRequest.getBillNo())) {
String orderNo = gennerOrderUtils.createStOrderNo(new OrderNoTypeBean("MY" + MyStrUtil.trim(bussinessLocalTypeEntity.getLocalPrefix()), "yyyyMMdd"));
String orderNo = gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.BUS_ORDER + MyStrUtil.trim(bussinessLocalTypeEntity.getLocalPrefix()), "yyyyMMdd"));
stockOrderPostRequest.setBillNo(orderNo);
stockOrderEntity.setBillNo(orderNo);
}
@ -319,6 +318,24 @@ public class StockOrderController {
stockOrderFilterRequest.setBillType(stockOrderFilterRequest.getBillAction());
}
List<ErpOrderResponse> erpOrderResponses = new ArrayList<>();
Integer userId = customerService.getUserId();
stockOrderFilterRequest.setUnitIdFk(null);
stockOrderFilterRequest.setUserId(userId);
if (StrUtil.isNotEmpty(stockOrderFilterRequest.getLocStorageCode())) {
InvWarehouseEntity invWarehouseEntity = invWarehouseService.selectByCode(stockOrderFilterRequest.getLocStorageCode());
FilterInvUserRequest filterInvUserRequest = new FilterInvUserRequest();
filterInvUserRequest.setCode(invWarehouseEntity.getCode());
filterInvUserRequest.setUserid(userId.longValue());
filterInvUserRequest.setIsDirector(true);
List<WarehouseUserEntity> warehouseUserEntities = warehouseUserService.filterWarehouseUsers(filterInvUserRequest);
if (CollUtil.isEmpty(warehouseUserEntities)) {
stockOrderFilterRequest.setUnionUser(userId);
}
} else {
return ResultVOUtils.error(500, "请先选择当前仓库");
}
List<StockOrderEntity> stockOrderEntityList;
stockOrderEntityList = stockOrderService.filterListOr(stockOrderFilterRequest);
if (stockOrderEntityList != null && stockOrderEntityList.size() > 0) {
@ -345,6 +362,7 @@ public class StockOrderController {
erpOrderResponses.add(erpOrderResponse);
}
}
PageInfo<StockOrderEntity> pageInfo;
pageInfo = new PageInfo<>(stockOrderEntityList);
PageSimpleResponse<ErpOrderResponse> pageSimpleResponse = new PageSimpleResponse<>();
@ -370,7 +388,6 @@ public class StockOrderController {
return ResultVOUtils.success();
}
@AuthRuleAnnotation("")
@PostMapping("/udiwms/stock/order/change")
public BaseResponse stockOrderChange(@RequestBody AddStockOrderChangeRequest addStockOrderChangeRequest) {
@ -389,10 +406,9 @@ public class StockOrderController {
originOrder.setReceiveStatus(0); //设置验收状态为未验收
originOrder.setStatus(ConstantStatus.ORDER_STATUS_PROCESS);
originOrder.setLocStorageCode(addStockOrderChangeRequest.getLocStorageCode());
BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(originOrder.getAction());
String supplementOrderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean("MS" + MyStrUtil.trim(bussinessTypeEntity.getPrefix()), "yyyyMMdd"));
String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + MyStrUtil.trim(bussinessTypeEntity.getPrefix()), "yyyyMMdd"));
String supplementOrderNo = orderNo;
originOrder.setId(supplementOrderNo);
List<WarehouseEntity> supplementCodes = new ArrayList<>();
@ -412,7 +428,7 @@ public class StockOrderController {
}
);
originOrder.setUpdateTime(new Date());
orderService.insertOrder(originOrder);
codesTempService.insertCodesTemp(supplementCodes);

@ -259,6 +259,7 @@ public class StockOrderDetailController {
companyProductRelevanceRequest.setDiType(1);
companyProductRelevanceRequest.setCustomerId(getCustomerId());
List<CompanyProductRelevanceResponse> companyProductRelevanceResponses = new ArrayList<>();
if (companyProductRelevanceRequest.getCustomerId().equals(Constant.SYSTEM_CUSTOMER_ID)) {
FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest();
filterUdiInfoRequest.setId(stockSelectDataEntity.getRelId());
filterUdiInfoRequest.setDiType(1);
@ -267,8 +268,11 @@ public class StockOrderDetailController {
CompanyProductRelevanceResponse companyProductRelevanceResponse = new CompanyProductRelevanceResponse();
BeanUtils.copyProperties(udiRelevanceResponses.get(0), companyProductRelevanceResponse);
companyProductRelevanceResponse.setRlId(udiRelevanceResponses.get(0).getId());
companyProductRelevanceResponse.setPrice(udiRelevanceResponses.get(0).getPrice());
companyProductRelevanceResponses.add(companyProductRelevanceResponse);
}
} else
companyProductRelevanceResponses = companyProductRelevanceService.filterUdiGp(companyProductRelevanceRequest);
if (companyProductRelevanceResponses != null && companyProductRelevanceResponses.size() > 0) {
CompanyProductRelevanceResponse udiInfoEntity = companyProductRelevanceResponses.get(0);
StockOrderDetailEntity stockOrderDetailEntity = new StockOrderDetailEntity();

@ -1,47 +1,47 @@
package com.glxp.api.admin.controller.inout;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageInfo;
import com.glxp.api.admin.annotation.AuthRuleAnnotation;
import com.glxp.api.admin.constant.Constant;
import com.glxp.api.admin.constant.ConstantStatus;
import com.glxp.api.admin.controller.inout.utils.ContrastErpUtil;
import com.glxp.api.admin.controller.inout.utils.DataTransUtil;
import com.glxp.api.admin.controller.inout.utils.InoutUtils;
import com.glxp.api.admin.dao.business.StockOrderDao;
import com.glxp.api.admin.dao.inout.CodesDao;
import com.glxp.api.admin.dao.inout.CodesTempDao;
import com.glxp.api.admin.dao.inout.OrderDao;
import com.glxp.api.admin.dao.inventory.InvWarehouseDao;
import com.glxp.api.admin.entity.auth.AuthAdmin;
import com.glxp.api.admin.entity.basic.BasicThirdSysDetailEntity;
import com.glxp.api.admin.entity.basic.BussinessTypeEntity;
import com.glxp.api.admin.entity.basic.EntrustReceEntity;
import com.glxp.api.admin.entity.basic.UdiEntity;
import com.glxp.api.admin.entity.business.StockOrderEntity;
import com.glxp.api.admin.entity.info.CompanyEntity;
import com.glxp.api.admin.entity.info.SystemParamConfigEntity;
import com.glxp.api.admin.entity.inout.*;
import com.glxp.api.admin.entity.inventory.InvWarehouseEntity;
import com.glxp.api.admin.httpclient.ErpOrderClient;
import com.glxp.api.admin.httpclient.SpsDirectClient;
import com.glxp.api.admin.req.basic.BasicEntrustRecRequest;
import com.glxp.api.admin.req.business.StockOrderFilterRequest;
import com.glxp.api.admin.req.inout.*;
import com.glxp.api.admin.req.inventory.FilterInvUserRequest;
import com.glxp.api.admin.res.PageSimpleResponse;
import com.glxp.api.admin.res.basic.BussinessTypResponse;
import com.glxp.api.admin.service.auth.CustomerService;
import com.glxp.api.admin.service.basic.BussinessTypeService;
import com.glxp.api.admin.service.basic.UdiInfoService;
import com.glxp.api.admin.service.basic.UdiRelevanceService;
import com.glxp.api.admin.service.basic.EntrustReceService;
import com.glxp.api.admin.service.business.StockOrderService;
import com.glxp.api.admin.service.info.CompanyService;
import com.glxp.api.admin.service.info.SystemParamConfigService;
import com.glxp.api.admin.service.inout.*;
import com.glxp.api.admin.service.inventory.InvWarehouseService;
import com.glxp.api.admin.service.thrsys.ThrOrderService;
import com.glxp.api.admin.thread.InvProductsTrService;
import com.glxp.api.admin.thread.IoTransInoutService;
import com.glxp.api.admin.util.CustomUtil;
import com.glxp.api.admin.util.FilterUdiUtils;
import com.glxp.api.admin.util.*;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
@ -81,9 +81,23 @@ public class OrderController {
InvWarehouseService invWarehouseService;
@Resource
WarehouseUserService warehouseUserService;
@Resource
CustomerService customerService;
@Resource
EntrustReceService entrustReceService;
@Resource
GennerOrderUtils gennerOrderUtils;
@Resource
InvWarehouseDao invWarehouseDao;
@Resource
OrderDao orderDao;
@Resource
CodesTempDao codesTempDao;
@Resource
SpsDirectClient spsDirectClient;
@Resource
SystemParamConfigService systemParamConfigService;
@AuthRuleAnnotation("")
@GetMapping("udiwms/inout/order/getUdi")
@ -140,14 +154,18 @@ public class OrderController {
@AuthRuleAnnotation("")
@PostMapping("udiwms/inout/order/delete")
public BaseResponse deleteOrder(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
String id = deleteRequest.getId();
if (StrUtil.isBlank(deleteRequest.getId()) && CollUtil.isEmpty(deleteRequest.getIds())) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
}
if (CollUtil.isNotEmpty(deleteRequest.getIds())) {
orderService.deleteOrders(deleteRequest.getIds());
} else {
orderService.deleteOrders(Collections.singletonList(deleteRequest.getId()));
}
orderService.deleteById(id);
orderDetailService.deleteByOrderId(id);
return ResultVOUtils.success("删除成功");
}
@ -230,12 +248,43 @@ public class OrderController {
BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(orderFilterRequest.getAction());
StockOrderEntity stockOrderEntity = stockOrderService.findByBillNo(orderFilterRequest.getOrderId());
if (stockOrderEntity == null || stockOrderEntity.getOrderIdFk() == null) {
SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("sps_sync_review_order");
if (systemParamConfigEntity.getParamValue().equals("1")) {
BaseResponse baseResponse = spsDirectClient.downloadOrder(orderFilterRequest.getOrderId(), userId + "", orderFilterRequest.getAction());
return baseResponse;
} else
return ResultVOUtils.error(500, "单据未找到!");
} else if (!bussinessTypeEntity.getLocalAction().equals(stockOrderEntity.getBillType())) {
return ResultVOUtils.error(500, "非" + bussinessTypeEntity.getName() + "类型单据!");
} else if (stockOrderEntity.getStatus().equals(ConstantStatus.SORDER_CHECKED)) {
if (StrUtil.isNotEmpty(stockOrderEntity.getLocStorageCode())) {
InvWarehouseEntity invWarehouseEntity = invWarehouseService.selectByCode(stockOrderEntity.getLocStorageCode());
FilterInvUserRequest filterInvUserRequest = new FilterInvUserRequest();
filterInvUserRequest.setCode(invWarehouseEntity.getCode());
filterInvUserRequest.setUserid(userId.longValue());
List<WarehouseUserEntity> warehouseUserEntities = warehouseUserService.filterWarehouseUsers(filterInvUserRequest);
List<EntrustReceEntity> entrustReceEntities = null;
if (!stockOrderEntity.isEntrustEnd()) {
BasicEntrustRecRequest basicEntrustRecRequest = new BasicEntrustRecRequest();
basicEntrustRecRequest.setAction(stockOrderEntity.getBillType());
basicEntrustRecRequest.setEntrustUser(userId + "");
basicEntrustRecRequest.setCurInv(stockOrderEntity.getLocStorageCode());
entrustReceEntities = entrustReceService.filterEntrustRec(basicEntrustRecRequest);
} else {
return ResultVOUtils.error(500, "单据已委托验收完成!");
}
if (CollUtil.isEmpty(warehouseUserEntities) && CollUtil.isEmpty(entrustReceEntities)) {
return ResultVOUtils.error(500, "权限不足,无法验收!");
}
}
} else {
orderFilterRequest.setId(stockOrderEntity.getOrderIdFk());
return ResultVOUtils.error(500, "非未验收单据!");
}
if (orderFilterRequest.getOrderId() == null || "".equals(orderFilterRequest.getOrderId())) {
orderFilterRequest.setId(null);
@ -244,8 +293,9 @@ public class OrderController {
if (orderEntity.getReceiveStatus() == ConstantStatus.RECEIVE_ED) {
return ResultVOUtils.error(500, "单据已验收!");
}
}
List<OrderEntity> orderEntityList;
if (orderFilterRequest.getStatus() == null || orderFilterRequest.getStatus() == 0) {
orderFilterRequest.setStatus(4);
@ -270,14 +320,113 @@ public class OrderController {
public BaseResponse updateStatus(@RequestBody UpdateExportStatusRequest updateExportStatusRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
AuthAdmin authAdmin = customerService.getUserBean();
OrderEntity orderEntity = orderService.findById(updateExportStatusRequest.getOrderId());
if (orderEntity == null) {
OrderFilterRequest orderFilterRequest = new OrderFilterRequest();
orderFilterRequest.setOrderId(updateExportStatusRequest.getOrderId());
orderFilterRequest.setWmsUserId(authAdmin.getId() + "");
return spsDirectClient.reviewOrder(orderFilterRequest);
}
if (orderEntity.getReceiveStatus() == ConstantStatus.RECEIVE_ED) {
return ResultVOUtils.error(500, "单据已验收!");
}
if (updateExportStatusRequest.isEntrust() && updateExportStatusRequest.getEntrustId() != null) {
EntrustReceEntity entrustReceEntity = entrustReceService.findById(updateExportStatusRequest.getEntrustId());
if (entrustReceEntity == null) {
return ResultVOUtils.error(500, "无验收权限!");
} else {
if (orderEntity.getFromType().intValue() != ConstantStatus.FROM_CHANGE && orderEntity.getFromType().intValue() != ConstantStatus.FROM_PEACE_CHANGE) {
transferOrder(orderEntity, entrustReceEntity);
}
if (!entrustReceEntity.isFinishRece()) {
StockOrderFilterRequest stockOrderFilterRequest = new StockOrderFilterRequest();
stockOrderFilterRequest.setOrderIdFk(updateExportStatusRequest.getOrderId());
List<StockOrderEntity> stockOrderEntityLit = stockOrderService.findAllOrders(stockOrderFilterRequest);
if (!stockOrderEntityLit.isEmpty()) {
for (StockOrderEntity stockOrderEntity : stockOrderEntityLit) {
stockOrderEntity.setEntrustEnd(true);
stockOrderService.updateById(stockOrderEntity);
}
}
return ResultVOUtils.success("验收成功!");
} else
return updateReview(authAdmin, updateExportStatusRequest);
}
} else
return updateReview(authAdmin, updateExportStatusRequest);
}
public void transferOrder(OrderEntity orderEntity, EntrustReceEntity entrustReceEntity) {
List<WarehouseEntity> warehouseEntities = codesService.findByReceiptId(orderEntity.getId());
BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(entrustReceEntity.getEntrustAction());
OrderEntity supplementOrder = new OrderEntity();
BeanUtil.copyProperties(orderEntity, supplementOrder);
//生成补单单号
String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + MyStrUtil.trim(bussinessTypeEntity.getPrefix()), "yyyyMMdd"));
String supplementOrderNo = orderNo;
supplementOrder.setOriginUllageSupNo(orderEntity.getId());
supplementOrder.setId(supplementOrderNo);
supplementOrder.setStatus(ConstantStatus.ORDER_STATUS_PROCESS);
supplementOrder.setExportStatus(0); //设置导出状态为未导出
supplementOrder.setContrastStatus(0);//设置erp校验状态为未校验
supplementOrder.setReceiveStatus(0); //设置验收状态为未验收
supplementOrder.setCorpOrderId(CustomUtil.getId() + "x");
//修改往来单位及当前库存号
supplementOrder.setFromCorpId(orderEntity.getLocStorageCode());
supplementOrder.setLocStorageCode(orderEntity.getFromCorpId());
String name = invWarehouseDao.getNameByCode(supplementOrder.getFromCorpId());
supplementOrder.setFromCorp(name);
supplementOrder.setFromType(ConstantStatus.FROM_PEACE_CHANGE);
supplementOrder.setMainAction(bussinessTypeEntity.getMainAction());
supplementOrder.setAction(bussinessTypeEntity.getAction());
supplementOrder.setErpFk(null);
//复制码表
List<WarehouseEntity> supplementCodes = new ArrayList<>();
warehouseEntities.forEach(
code -> {
WarehouseEntity supplementCode = new WarehouseEntity();
BeanUtil.copyProperties(code, supplementCode);
supplementCode.setFromCorpId(supplementOrder.getFromCorpId());
supplementCode.setFromCorp(supplementOrder.getFromCorp());
supplementCode.setLocStorageCode(supplementOrder.getLocStorageCode());
supplementCode.setOrderId(supplementOrderNo);
//查询补单设置
supplementCode.setAction(bussinessTypeEntity.getSupplementOrderType());
supplementCode.setMainAction(bussinessTypeEntity.getMainAction());
supplementCode.setId(null);
supplementCodes.add(supplementCode);
}
);
//更新数据
try {
orderDao.insertOrder(supplementOrder);
orderEntity.setUllageSupNo(supplementOrder.getId());
orderDao.updateOrder(orderEntity);
codesTempDao.insertCodesTemp(supplementCodes);
} catch (Exception e) {
}
}
public BaseResponse updateReview(AuthAdmin authAdmin, UpdateExportStatusRequest updateExportStatusRequest) {
OrderEntity orderEntity = orderService.findById(updateExportStatusRequest.getOrderId());
orderEntity.setReceiveStatus(1);
orderEntity.setReviewUser(authAdmin.getId().intValue());
orderEntity.setUpdateTime(new Date());
orderEntity.setAuditTime(new Date());
orderService.updateOrder(orderEntity);
List<String> erpIds = DataTransUtil.strToErpList(orderEntity.getErpFk());
if (erpIds != null && erpIds.size() > 0) {
@ -287,8 +436,9 @@ public class OrderController {
StockOrderEntity stockOrderEntity = stockOrderService.findOne(stockOrderFilterRequest);
stockOrderEntity.setStatus(ConstantStatus.SORDER_DELIVER);
stockOrderEntity.setReviewUser(authAdmin.getId().intValue());
stockOrderEntity.setAuditTime(new Date());
stockOrderEntity.setEntrustEnd(true);
stockOrderService.updateById(stockOrderEntity);
}
} else {
StockOrderFilterRequest stockOrderFilterRequest = new StockOrderFilterRequest();
@ -298,16 +448,36 @@ public class OrderController {
for (StockOrderEntity stockOrderEntity : stockOrderEntityLit) {
stockOrderEntity.setStatus(ConstantStatus.SORDER_DELIVER);
stockOrderEntity.setReviewUser(authAdmin.getId().intValue());
stockOrderEntity.setAuditTime(new Date());
stockOrderService.updateById(stockOrderEntity);
}
}
}
invProductsTrService.genInvProducts(orderEntity.getId());
return ResultVOUtils.success("更新成功");
}
//前端直接验收完成
@AuthRuleAnnotation("")
@PostMapping("/spms/inout/order/web/updateStatus")
public BaseResponse webUpdateStatus(@RequestBody UpdateExportStatusRequest updateExportStatusRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
StockOrderEntity temp = stockOrderService.findByBillNo(updateExportStatusRequest.getStockOrderId());
if (temp == null) {
return ResultVOUtils.error(500, "未找到该业务单据");
}
updateExportStatusRequest.setOrderId(temp.getOrderIdFk());
AuthAdmin authAdmin = customerService.getUserBean();
return updateReview(authAdmin, updateExportStatusRequest);
}
@AuthRuleAnnotation("")
@GetMapping("/udiwms/inout/order/filterCode")
public BaseResponse filterOrderByCode(OrderFilterByCodeRequest orderFilterByCodeRequest,
@ -513,4 +683,34 @@ public class OrderController {
}
}
/**
*
*
* @param billNo
* @return
*/
@AuthRuleAnnotation("")
@GetMapping("/udiwms/inout/order/filterOrderForDelete")
public BaseResponse filterOrderForDelete(String billNo) {
if (StrUtil.isBlank(billNo)) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
}
List<OrderEntity> orderEntities = orderService.filterOrderForDelete(billNo);
PageInfo<OrderEntity> pageInfo = new PageInfo<>(orderEntities);
PageSimpleResponse<OrderEntity> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(orderEntities);
return ResultVOUtils.success(pageSimpleResponse);
}
@AuthRuleAnnotation("")
@PostMapping("/udiwms/inout/order/updateOrderInfo")
public BaseResponse updateOrderInfo(@RequestBody OrderEditRequest orderEditRequest) {
if (null == orderEditRequest || StrUtil.isBlank(orderEditRequest.getActDate()) || CollUtil.isEmpty(orderEditRequest.getOrderIds())) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
}
orderService.updateOrderInfo(orderEditRequest.getActDate(), orderEditRequest.getAuditTime(), orderEditRequest.getOrderIds());
return ResultVOUtils.success();
}
}

@ -1,5 +1,6 @@
package com.glxp.api.admin.controller.inout;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.github.pagehelper.PageInfo;
import com.glxp.api.admin.annotation.AuthRuleAnnotation;
@ -20,6 +21,7 @@ import com.glxp.api.admin.entity.inout.WarehouseEntity;
import com.glxp.api.admin.entity.thrsys.ThrOrderDetailEntity;
import com.glxp.api.admin.entity.thrsys.ThrOrderEntity;
import com.glxp.api.admin.httpclient.ErpOrderClient;
import com.glxp.api.admin.httpclient.SpsDirectClient;
import com.glxp.api.admin.req.business.StockOrderDetailFilterRequest;
import com.glxp.api.admin.req.business.StockOrderFilterRequest;
import com.glxp.api.admin.req.info.SystemParamConfigRequest;
@ -109,6 +111,8 @@ public class OrderDetailController {
BussinessOriginTypeService bussinessOriginTypeService;
@Resource
CustomerService customerService;
@Resource
SpsDirectClient spsDirectClient;
@AuthRuleAnnotation("")
@ -167,14 +171,14 @@ public class OrderDetailController {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
String billType = null;
if(StrUtil.isNotEmpty(filterErpOrderRequest.getBillAction())){
if (StrUtil.isNotEmpty(filterErpOrderRequest.getBillAction())) {
BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(filterErpOrderRequest.getBillAction());
billType = bussinessTypeEntity.getLocalAction();
}else {
} else {
billType = filterErpOrderRequest.getLocalAction();
}
StockOrderFilterRequest stockOrderFilterRequest = new StockOrderFilterRequest();
stockOrderFilterRequest.setBillNo(filterErpOrderRequest.getBillNo());
stockOrderFilterRequest.setStartTime(filterErpOrderRequest.getStartDate());
@ -373,6 +377,43 @@ public class OrderDetailController {
}
@AuthRuleAnnotation("")
@PostMapping("/udiwms/erpOrder/updateBind")
public BaseResponse updateBind(@RequestBody ErpOrderEntity erpOrderEntity, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
erpOrderEntity.setGoodsid(erpOrderEntity.getBindRlFk());
boolean b = orderDetailService.updateErpOrder(erpOrderEntity);
erpOrderEntity = orderDetailService.findById(erpOrderEntity.getId() + "");
codesService.updateRelId(erpOrderEntity.getBindRlFk(), erpOrderEntity.getNameCode(), erpOrderEntity.getOrderIdFk());
if (b) {
return ResultVOUtils.success("绑定成功");
} else {
return ResultVOUtils.error(500, "绑定失败");
}
}
@AuthRuleAnnotation("")
@PostMapping("/udiwms/erpOrder/updateBindSup")
public BaseResponse updateBindSup(@RequestBody ErpOrderEntity erpOrderEntity, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
erpOrderEntity.setBindSupStatus(ConstantStatus.ORDER_DETAIL_SUP_ONE);
boolean b = orderDetailService.updateErpOrder(erpOrderEntity);
erpOrderEntity = orderDetailService.findById(erpOrderEntity.getId() + "");
codesService.updateSupId(erpOrderEntity.getSupId(), erpOrderEntity.getNameCode(), erpOrderEntity.getOrderIdFk());
if (b) {
return ResultVOUtils.success("绑定成功");
} else {
return ResultVOUtils.error(500, "绑定失败");
}
}
@AuthRuleAnnotation("")
@GetMapping("/warehouse/getMyErpOrders")
public BaseResponse getMyErpOrders(FilterErpOrderRequest filterErpOrderRequest,
@ -393,7 +434,6 @@ public class OrderDetailController {
return ResultVOUtils.success(pageSimpleResponse);
}
@AuthRuleAnnotation("")
@PostMapping("/warehouse/deleteErpOrder")
public BaseResponse deleteErpOrder(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) {
@ -409,7 +449,6 @@ public class OrderDetailController {
}
}
@AuthRuleAnnotation("")
@GetMapping(value = "/warehouse/inout/order/detail")//TODO 订单详情
public BaseResponse orderDetail(FilterErpOrderRequest filterErpOrderRequest,
@ -423,10 +462,12 @@ public class OrderDetailController {
filterErpOrderRequest.setPage(1);
filterErpOrderRequest.setLimit(100);
List<ErpOrderEntity> erpOrderEntities = orderDetailService.filterMyErpOrder(filterErpOrderRequest);
if (CollUtil.isEmpty(erpOrderEntities)) {
return spsDirectClient.downloadOrderDetail(filterErpOrderRequest.getOrderId(), customerService.getUserId() + "");
}
return ResultVOUtils.success(erpOrderEntities);
}
@AuthRuleAnnotation("")
@GetMapping(value = "/warehouse/inout/order/uploadOrder")
public BaseResponse uploadOrder(FilterErpOrderRequest filterErpOrderRequest,
@ -478,44 +519,6 @@ public class OrderDetailController {
}
}
@AuthRuleAnnotation("")
@PostMapping("/udiwms/erpOrder/updateBind")
public BaseResponse updateBind(@RequestBody ErpOrderEntity erpOrderEntity, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
erpOrderEntity.setGoodsid(erpOrderEntity.getBindRlFk());
boolean b = orderDetailService.updateErpOrder(erpOrderEntity);
erpOrderEntity = orderDetailService.findById(erpOrderEntity.getId() + "");
codesService.updateRelId(erpOrderEntity.getBindRlFk(), erpOrderEntity.getNameCode(), erpOrderEntity.getOrderIdFk());
if (b) {
return ResultVOUtils.success("绑定成功");
} else {
return ResultVOUtils.error(500, "绑定失败");
}
}
@AuthRuleAnnotation("")
@PostMapping("/udiwms/erpOrder/updateBindSup")
public BaseResponse updateBindSup(@RequestBody ErpOrderEntity erpOrderEntity, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
erpOrderEntity.setBindSupStatus(ConstantStatus.ORDER_DETAIL_SUP_ONE);
boolean b = orderDetailService.updateErpOrder(erpOrderEntity);
erpOrderEntity = orderDetailService.findById(erpOrderEntity.getId() + "");
codesService.updateSupId(erpOrderEntity.getSupId(), erpOrderEntity.getNameCode(), erpOrderEntity.getOrderIdFk());
if (b) {
return ResultVOUtils.success("绑定成功");
} else {
return ResultVOUtils.error(500, "绑定失败");
}
}
@AuthRuleAnnotation("")
@PostMapping("/warehouse/selectErpOrder")
public BaseResponse selectErpOrder(@RequestBody ImportErpOrderRequest importErpOrderRequest, BindingResult bindingResult) {
@ -631,7 +634,32 @@ public class OrderDetailController {
}
}
// if (!bussinessTypeEntity.getCheckEnable()
// || (orderEntity.getFromType().intValue() == ConstantStatus.FROM_CHANGE && !bussinessTypeEntity.isCheckChange())) { //不需要校验,则直接生成库存
// orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_UN);
// orderService.updateOrder(orderEntity);
// transInoutService.checkMutiDi(orderEntity.getId());
// if (orderEntity.getContrastStatus() != ConstantStatus.ORDER_CHECK_FAIL) {
// orderService.updateOrderStatus(orderEntity.getId(), ConstantStatus.ORDER_STATUS_SUCCESS);
// if (orderEntity.getCustomerId().equals(Constant.SYSTEM_CUSTOMER_ID)) {
// invProductsTrService.genInvProducts(orderEntity.getId());
// }
// transInoutService.printOrder(orderEntity.getId());
// }
// } else {
//
// List<String> erpIds = DataTransUtil.strToErpList(orderEntity.getErpFk());
// if (erpIds != null && erpIds.size() > 0) { //已经绑定ERPID则自动校验
// List<ErpOrderEntity> erpOrderEntities = thrDataService.getStockOrders(erpIds);
// checkOrderUtils.check(orderEntity.getId(), erpOrderEntities);
// } else {
// //未绑定Id,则更改状态,等待校验
// orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_UN);
// orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK);
// orderService.updateOrder(orderEntity);
// }
//
// }
return ResultVOUtils.success("后台已开始校验,请稍后刷新重试!");
}
}

@ -10,6 +10,7 @@ import com.glxp.api.admin.constant.Constant;
import com.glxp.api.admin.constant.ConstantStatus;
import com.glxp.api.admin.controller.business.StockOrderController;
import com.glxp.api.admin.dao.auth.AuthLicenseDao;
import com.glxp.api.admin.dao.inventory.InvWarehouseDao;
import com.glxp.api.admin.entity.auth.AuthAdmin;
import com.glxp.api.admin.entity.auth.AuthLicense;
import com.glxp.api.admin.entity.basic.BasicUnitMaintainEntity;
@ -18,12 +19,10 @@ import com.glxp.api.admin.entity.basic.UdiEntity;
import com.glxp.api.admin.entity.business.StockOrderEntity;
import com.glxp.api.admin.entity.info.CompanyEntity;
import com.glxp.api.admin.entity.info.SystemParamConfigEntity;
import com.glxp.api.admin.entity.inout.ErpOrderEntity;
import com.glxp.api.admin.entity.inout.OrderEntity;
import com.glxp.api.admin.entity.inout.WarehouseEntity;
import com.glxp.api.admin.entity.inout.WarehouseUserEntity;
import com.glxp.api.admin.entity.inout.*;
import com.glxp.api.admin.entity.inventory.InvProductDetailEntity;
import com.glxp.api.admin.exception.JsonException;
import com.glxp.api.admin.httpclient.SpsDirectClient;
import com.glxp.api.admin.req.basic.CompanyProductRelevanceRequest;
import com.glxp.api.admin.req.inout.*;
import com.glxp.api.admin.res.PageSimpleResponse;
@ -107,6 +106,10 @@ public class WareHouseController {
private UdiInfoService udiInfoService;
@Resource
InvPreInProductDetailService invPreInProductDetailService;
@Resource
SpsDirectClient spsDirectClient;
@Resource
InvWarehouseDao invWarehouseService;
@AuthRuleAnnotation("")
@GetMapping("admin/warehouse/inout/list")
@ -188,6 +191,11 @@ public class WareHouseController {
warehouseQueryRequest.setOrderId(stockOrderEntity.getOrderIdFk());
}
List<WarehouseEntity> warehouseEntityList = codesService.findByOrderId(warehouseQueryRequest);
if (CollUtil.isEmpty(warehouseEntityList)) {
return spsDirectClient.downloadCodes(customerService.getUserId() + "", warehouseQueryRequest.getOrderId());
}
PageInfo<WarehouseEntity> pageInfo;
pageInfo = new PageInfo<>(warehouseEntityList);
PageSimpleResponse<WarehouseEntity> pageSimpleResponse = new PageSimpleResponse<>();
@ -455,16 +463,16 @@ public class WareHouseController {
boolean checkSuccess = true;
String lostMsg = "";
//校验条码完整性
if (!checkUdi.isAllowNoBatch() && StrUtil.isEmpty(udiEntity.getBatchNo())) {
if ("是".equals(checkUdi.getScbssfbhph()) && StrUtil.isEmpty(udiEntity.getBatchNo())) {
checkSuccess = false;
lostMsg = lostMsg + ",批次号";
}
if (!checkUdi.isAllowNoProduct() && StrUtil.isEmpty(udiEntity.getProduceDate())) {
if ("是".equals(checkUdi.getScbssfbhscrq()) && StrUtil.isEmpty(udiEntity.getProduceDate())) {
checkSuccess = false;
lostMsg = lostMsg + ",生产日期";
}
if (!checkUdi.isAllowNoExpire() && StrUtil.isEmpty(udiEntity.getExpireDate())) {
if ("是".equals(checkUdi.getScbssfbhsxrq()) && StrUtil.isEmpty(udiEntity.getExpireDate())) {
checkSuccess = false;
lostMsg = lostMsg + ",失效日期";
}
@ -525,7 +533,6 @@ public class WareHouseController {
return null;
}
//网页端数据上传调用接口
@AuthRuleAnnotation("")
@PostMapping("warehouse/inout/addOrderWeb")
@ -953,12 +960,20 @@ public class WareHouseController {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
Integer userId = customerService.getUserId();
try {
SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("sps_sync_upload_order");
if (systemParamConfigEntity.getParamValue().equals("1")) {
postOrderRequest.setWmsUserId(userId + "");
return spsDirectClient.uploadPdaOrder(postOrderRequest);
} else {
String customerId = getCustomerId();
Integer userId = customerService.getUserId();
postOrderRequest.setCustomerId(customerId);
postOrderRequest.setUserId(userId);
ioTransInoutService.creatOrder(postOrderRequest, null);
}
} catch (Exception e) {
return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
}
@ -1067,6 +1082,8 @@ public class WareHouseController {
public BaseResponse deleteWarehouseUser(Integer id) {
if (null == id)
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
WarehouseUserEntity warehouseUserEntity = warehouseUserService.selectById(id);
invWarehouseService.updateTime(warehouseUserEntity.getCode(), new Date());
warehouseUserService.deleteWarehouseUser(id);
return ResultVOUtils.success();
}
@ -1076,6 +1093,8 @@ public class WareHouseController {
public BaseResponse deleteWarehouseBussinessType(Integer id) {
if (null == id)
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
WarehouseBussinessTypeEntity warehouseBussinessTypeEntity = warehouseBussinessTypeService.selectById(id);
invWarehouseService.updateTime(warehouseBussinessTypeEntity.getCode(), new Date());
warehouseBussinessTypeService.deleteWarehouseByssuinessType(id);
return ResultVOUtils.success();
}

@ -57,7 +57,7 @@ public class CheckOrderUtils {
filterUdiInfoRequest.setNameCode(myErpOrder.getNameCode());
UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectGroupById(myErpOrder.getBindRlFk());
for (ErpOrderEntity vailOrderEntity : vailOrderEntities) {
if(!vailOrderEntity.isCheckSuccess()){
if (!vailOrderEntity.isCheckSuccess()) {
if (checkId(vailOrderEntity, udiRelevanceResponse, bussinessTypeEntity) == null
&& checkBatchNo(vailOrderEntity, myErpOrder) == null
&& checkProductDate(vailOrderEntity, myErpOrder) == null
@ -192,6 +192,10 @@ public class CheckOrderUtils {
if (bussinessTypeEntity.isSecCheckBalacne()) {
return ConstantStatus.SORDER_CHECKED;
}
} else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_UDISP) {
if (bussinessTypeEntity.isSecCheckSp()) {
return ConstantStatus.SORDER_CHECKED;
}
}
} else {
return ConstantStatus.SORDER_DELIVER;

@ -55,8 +55,6 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.glxp.api.admin.constant.Constant;
import static com.glxp.api.admin.constant.Constant.SYSTEM_CUSTOMER_ID;
@ -188,6 +186,7 @@ public class InvProductsController {
}
InvProductStatResponse invProductStatResponse = new InvProductStatResponse();
//统计预入库数量
FilterInvProductDetailRequest temp1 = new FilterInvProductDetailRequest();
@ -261,11 +260,9 @@ public class InvProductsController {
}
@AuthRuleAnnotation("")
@GetMapping("spms/inv/products/order/trace")
public BaseResponse filterOrderTrace(FilterCodeTraceRequest filterCodeTraceRequest) {
if (filterCodeTraceRequest.getCode() == null) {
return ResultVOUtils.success();
}
@ -279,11 +276,9 @@ public class InvProductsController {
}
List<UdiInfoEntity> udiInfoEntities = udiInfoService.findByUuids(udiInfoBean.getUuid());
FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest();
// String code = null;
if (udiInfoEntities != null && udiInfoEntities.size() > 1) {
filterInvProductDetailRequest.setProductIdFk(udiInfoBean.getId() + "");
filterInvProductDetailRequest.setBatchNo(udiEntity.getBatchNo());
} else {
filterInvProductDetailRequest.setOriginCode(filterCodeTraceRequest.getCode());
}
@ -312,7 +307,6 @@ public class InvProductsController {
return ResultVOUtils.error(500, "未查询到数据!");
}
}
/**

@ -3,18 +3,17 @@ package com.glxp.api.admin.controller.thrsys;
import com.github.pagehelper.PageInfo;
import com.glxp.api.admin.annotation.AuthRuleAnnotation;
import com.glxp.api.admin.constant.BasicProcessStatus;
import com.glxp.api.admin.constant.Constant;
import com.glxp.api.admin.entity.thrsys.*;
import com.glxp.api.admin.req.basic.BasicUnitMaintainFilterRequest;
import com.glxp.api.admin.req.inout.DeleteRequest;
import com.glxp.api.admin.req.thrsys.FilterThrCorpRequest;
import com.glxp.api.admin.req.thrsys.FilterThrProductsRequest;
import com.glxp.api.admin.req.thrsys.PostThrCorpRequest;
import com.glxp.api.admin.res.PageSimpleResponse;
import com.glxp.api.admin.res.basic.ErpUnitsResponse;
import com.glxp.api.admin.service.thrsys.ThrCorpImportLogService;
import com.glxp.api.admin.service.thrsys.ThrCorpService;
import com.glxp.api.admin.thread.ThrCorpsDlService;
import com.glxp.api.admin.util.Constant;
import com.glxp.api.admin.util.CustomUtil;
import com.glxp.api.admin.util.RedisUtil;
import com.glxp.api.common.enums.ResultEnum;

@ -2,9 +2,9 @@ package com.glxp.api.admin.controller.thrsys;
import com.github.pagehelper.PageInfo;
import com.glxp.api.admin.constant.BasicProcessStatus;
import com.glxp.api.admin.constant.Constant;
import com.glxp.api.admin.entity.thrsys.ThrInvProductsEntity;
import com.glxp.api.admin.entity.thrsys.ThrInvProductsImportLogEntity;
import com.glxp.api.admin.req.basic.BasicUnitMaintainFilterRequest;
import com.glxp.api.admin.req.inout.DeleteRequest;
import com.glxp.api.admin.req.inventory.ErpOnhandRequest;
import com.glxp.api.admin.req.thrsys.FilterThrInvProductsRequest;
@ -14,7 +14,6 @@ import com.glxp.api.admin.res.inventory.ErpInvProductResponse;
import com.glxp.api.admin.service.thrsys.ThrInvProductsImportLogService;
import com.glxp.api.admin.service.thrsys.ThrInvProductsService;
import com.glxp.api.admin.thread.ThrInvProductsDlService;
import com.glxp.api.admin.util.Constant;
import com.glxp.api.admin.util.CustomUtil;
import com.glxp.api.admin.util.RedisUtil;
import com.glxp.api.common.enums.ResultEnum;

@ -5,6 +5,7 @@ import com.alibaba.fastjson.TypeReference;
import com.github.pagehelper.PageInfo;
import com.glxp.api.admin.annotation.AuthRuleAnnotation;
import com.glxp.api.admin.constant.BasicProcessStatus;
import com.glxp.api.admin.constant.Constant;
import com.glxp.api.admin.entity.info.SystemParamConfigEntity;
import com.glxp.api.admin.entity.inout.ErpOrderEntity;
import com.glxp.api.admin.entity.inout.FilterErpOrderRequest;
@ -21,7 +22,6 @@ import com.glxp.api.admin.service.thrsys.ThrOrderImportLogService;
import com.glxp.api.admin.service.thrsys.ThrOrderService;
import com.glxp.api.admin.thread.ThrOrderImportService;
import com.glxp.api.admin.thread.ThrOrdersDlService;
import com.glxp.api.admin.util.Constant;
import com.glxp.api.admin.util.CustomUtil;
import com.glxp.api.admin.util.HttpClient;
import com.glxp.api.admin.util.RedisUtil;
@ -36,7 +36,6 @@ import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@RestController
public class ThrOrderController {

@ -3,6 +3,7 @@ package com.glxp.api.admin.controller.thrsys;
import com.github.pagehelper.PageInfo;
import com.glxp.api.admin.annotation.AuthRuleAnnotation;
import com.glxp.api.admin.constant.BasicProcessStatus;
import com.glxp.api.admin.constant.Constant;
import com.glxp.api.admin.entity.basic.BasicThirdSysEntity;
import com.glxp.api.admin.entity.thrsys.ThrProductsEntity;
import com.glxp.api.admin.entity.thrsys.ThrProductsImportLogEntity;
@ -18,7 +19,6 @@ import com.glxp.api.admin.service.basic.UdiRelevanceService;
import com.glxp.api.admin.service.thrsys.ThrProductsImportLogService;
import com.glxp.api.admin.service.thrsys.ThrProductsService;
import com.glxp.api.admin.thread.ThrProductsDlService;
import com.glxp.api.admin.util.Constant;
import com.glxp.api.admin.util.CustomUtil;
import com.glxp.api.admin.util.RedisUtil;
import com.glxp.api.common.enums.ResultEnum;

@ -16,6 +16,8 @@ public interface AuthAdminDao {
*/
List<AuthAdmin> listAdminPage(AuthAdminQueryRequest authAdminQueryRequest);
boolean replaceAuthAdmin(AuthAdmin authAdmin);
/**
* id
*

@ -42,10 +42,20 @@ public interface StockOrderDao {
List<StockOrderEntity> selectSupplementOrderList();
/**
* ID
* ID
*
* @param id
* @return
*/
StockOrderEntity selectById(@Param("id") String id);
/**
*
*
* @param orderIdFk
* @return
*/
boolean deleteByOrderIdFk(String orderIdFk);
StockOrderEntity findById(@Param("id") String id);
}

@ -53,6 +53,24 @@ public interface OrderDao {
List<OrderEntity> findAllByTime(OrderQueryRequest orderFilterRequest);
Integer selectExportStatus(@Param("id") String id);
/**
* IDID
*
* @param billNo
* @return
*/
OrderEntity selectByBillNo(String billNo);
List<OrderEntity> selectByIds(@Param("orderIds") List<String> orderIds);
/**
*
*
* @param actDate
* @param orderIds
* @return
*/
boolean updateOrderTime(@Param("actDate") String actDate, @Param("auditTime") String auditTime, @Param("updateTime") String updateTime, @Param("orderIds") List<String> orderIds);
}

@ -1,11 +1,14 @@
package com.glxp.api.admin.dao.inout;
import com.glxp.api.admin.entity.inout.WarehouseBussinessTypeEntity;
import com.glxp.api.admin.req.basic.FilterInvBusTypeRequest;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface WarehouseBussinessTypeDao {
WarehouseBussinessTypeEntity selectById(Integer id);
int deleteByPrimaryKey(Integer id);
int insert(WarehouseBussinessTypeEntity record);
@ -30,5 +33,7 @@ public interface WarehouseBussinessTypeDao {
List<WarehouseBussinessTypeEntity> selectListByCode(@Param("code") String code);
List<WarehouseBussinessTypeEntity> filterList(FilterInvBusTypeRequest filterInvBusTypeRequest);
void deleteByCode(@Param("code") String code);
}

@ -9,7 +9,7 @@ import java.util.List;
public interface WarehouseUserDao {
int deleteByPrimaryKey(Integer id);
List<WarehouseUserEntity> filterWarehouseUsers(FilterInvUserRequest filterInvUserRequest);
List<WarehouseUserEntity> filterList(FilterInvUserRequest filterInvUserRequest);
int insert(WarehouseUserEntity record);

@ -33,4 +33,5 @@ public interface InvProductDao {
//库存统计查询
List<InvProductResponse> stockStatistics(FilterInvProductRequest filterInvProductRequest);
}

@ -29,4 +29,13 @@ public interface InvProductDetailDao {
InvProductDetailEntity isExit(FilterInvProductDetailRequest filterInvProductDetailRequest);
/**
* orderId
*
* @param orderIdFk
*/
boolean deleteByOrderId(@Param("orderIdFk") String orderIdFk);
boolean deleteByOrderIdAndCode(@Param("orderId") String orderId, @Param("code") String code);
}

@ -4,6 +4,7 @@ import com.glxp.api.admin.entity.inventory.InvWarehouseEntity;
import com.glxp.api.admin.req.inventory.FilterInvWarehouseRequest;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List;
public interface InvWarehouseDao {
@ -43,4 +44,6 @@ public interface InvWarehouseDao {
*/
boolean updateThridId(@Param("id") Integer id, @Param("thridWarehouseId") String thridWarehouseId, @Param("sysId") String sysId);
boolean updateTime(@Param("code") String code, @Param("updateTime") Date updateTime);
}

@ -4,10 +4,10 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class StockOrderEntity {
private String id;
private String billNo;
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@ -35,4 +35,12 @@ public class StockOrderEntity {
private Integer createUser;
private Integer reviewUser;
//审核时间
private Date auditTime;
//更新时间
private Date updateTime;
//委托验收已完成
private boolean entrustEnd;
}

@ -47,9 +47,9 @@ public class OrderEntity {
private boolean outChangeEnable;
private String originUllageSupNo;
private Date updateTime;
private boolean preCheck;
//审核时间
private Date auditTime;
private String thirdBillNo;
}

@ -1,4 +1,4 @@
package com.glxp.api.admin.util;
package com.glxp.api.admin.httpclient;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
@ -24,7 +24,7 @@ import java.util.List;
import java.util.Map;
@Service
public class SpGetHttp {
public class SpGetHttpClient {
@Value("${SPSYNC_IP}")
private String spsSyncUrl;

@ -0,0 +1,92 @@
package com.glxp.api.admin.httpclient;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.glxp.api.admin.req.inout.OrderFilterRequest;
import com.glxp.api.admin.req.inout.PostOrderRequest;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.Map;
@Service
public class SpsDirectClient {
@Value("${SPSYNC_IP}")
private String spsSyncUrl;
//单据验收
public BaseResponse reviewOrder(OrderFilterRequest orderFilterRequest) {
String result = UHttpClient.postJson(spsSyncUrl + "/sps/review/download/order/finsih", orderFilterRequest);
BaseResponse<String> response =
JSONObject.parseObject(result, new TypeReference<BaseResponse<String>>() {
});
return response;
}
//获取未验收的单据
public BaseResponse downloadOrder(String orderId, String wmsUserId, String action) {
Map<String, Object> paramMap = new HashMap<>(16);
paramMap.put("wmsUserId", wmsUserId);
paramMap.put("orderId", orderId);
paramMap.put("action", action);
String response = UHttpClient.mipsGet(spsSyncUrl + "/sps/review/download/order", paramMap);
try {
BaseResponse data = JSONObject.parseObject(response, new TypeReference<BaseResponse>() {
});
return data;
} catch (Exception e) {
e.printStackTrace();
return ResultVOUtils.error(500, "连接失败!");
}
}
//获取未验收的单据详情
public BaseResponse downloadOrderDetail(String orderId, String wmsUserId) {
Map<String, Object> paramMap = new HashMap<>(16);
paramMap.put("wmsUserId", wmsUserId);
paramMap.put("orderId", orderId);
String response = UHttpClient.mipsGet(spsSyncUrl + "/sps/review/download/orderDetail", paramMap);
try {
BaseResponse data = JSONObject.parseObject(response, new TypeReference<BaseResponse>() {
});
return data;
} catch (Exception e) {
e.printStackTrace();
return ResultVOUtils.error(500, "连接失败!");
}
}
//获取未验收的单据条码
public BaseResponse downloadCodes(String wmsUserId, String orderId) {
Map<String, Object> paramMap = new HashMap<>(16);
paramMap.put("wmsUserId", wmsUserId);
paramMap.put("orderId", orderId);
String response = UHttpClient.mipsGet(spsSyncUrl + "/sps/review/download/codes", paramMap);
try {
BaseResponse data = JSONObject.parseObject(response, new TypeReference<BaseResponse>() {
});
return data;
} catch (Exception e) {
e.printStackTrace();
return ResultVOUtils.error(500, "连接失败!");
}
}
//单据上传
public BaseResponse uploadPdaOrder(PostOrderRequest postOrderRequest) {
String result = UHttpClient.postJson(spsSyncUrl + "/sps/pda/upload/orders", postOrderRequest);
BaseResponse<String> response =
JSONObject.parseObject(result, new TypeReference<BaseResponse<String>>() {
});
return response;
}
}

@ -1,5 +1,6 @@
package com.glxp.api.admin.httpclient;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -42,7 +43,7 @@ public class UHttpClient {
factory.setConnectTimeout(600000);
factory.setReadTimeout(600000);
RestTemplate restTemplate = new RestTemplate(factory);
String json = JSONObject.toJSON(object).toString();
String json = JSONUtil.toJsonStr(object);
logger.info(url + "\n" + json);
HttpHeaders headers = new HttpHeaders();
headers.add("Content-Type", "application/json");

@ -0,0 +1,11 @@
package com.glxp.api.admin.req.basic;
import com.glxp.api.admin.req.ListPageRequest;
import lombok.Data;
@Data
public class FilterInvBusTypeRequest extends ListPageRequest {
private String lastUpdateTime;
private Integer id;
private String code;
}

@ -0,0 +1,19 @@
package com.glxp.api.admin.req.inout;
import lombok.Data;
import java.util.List;
@Data
public class OrderEditRequest {
//创建时间
private String actDate;
//审核时间
private String auditTime;
//扫码单据号
private List<String> orderIds;
}

@ -38,4 +38,7 @@ public class OrderFilterRequest extends ListPageRequest {
private Integer unionUser;
private String thirdBillNo;
private String wmsUserId;
private String wmsUserName;
}

@ -13,6 +13,8 @@ public class PostOrderRequest {
private String customerId;
private Integer userId;
private String wmsUserId;
private String wmsUserName;
public List<PostOrder> getPostOrder() {
return postOrders;

@ -4,8 +4,10 @@ import lombok.Data;
@Data
public class UpdateExportStatusRequest {
private String orderId;
private Integer exportStatus;
private Integer checkStatus;
private String stockOrderId;
private Integer entrustId;
private boolean entrust;
}

@ -8,7 +8,6 @@ import java.util.List;
@Data
public class FilterInvProductDetailRequest extends ListPageRequest {
private String id;
private String code;
private String productIdFk;
@ -25,9 +24,11 @@ public class FilterInvProductDetailRequest extends ListPageRequest {
private String stockIdFk;
private String supId;
private String originCode;
private String orderIdFk;
private String invStorageCode;
private String invWarehouseCode;
private List<String> invCodes;
}

@ -1,9 +1,10 @@
package com.glxp.api.admin.req.inventory;
import com.glxp.api.admin.req.ListPageRequest;
import lombok.Data;
@Data
public class FilterInvUserRequest {
public class FilterInvUserRequest extends ListPageRequest {
private Integer id;
@ -14,4 +15,5 @@ public class FilterInvUserRequest {
private String username;
private Boolean isDirector;
private String lastUpdateTime;
}

@ -1,9 +1,12 @@
package com.glxp.api.admin.res.basic;
import com.glxp.api.admin.entity.auth.AuthAdmin;
import com.glxp.api.admin.entity.basic.BasicUnitMaintainEntity;
import com.glxp.api.admin.entity.basic.CompanyProductRelevanceEntity;
import com.glxp.api.admin.entity.basic.UdiInfoEntity;
import com.glxp.api.admin.entity.basic.UdiRelevanceEntity;
import com.glxp.api.admin.entity.inout.WarehouseBussinessTypeEntity;
import com.glxp.api.admin.entity.inout.WarehouseUserEntity;
import com.glxp.api.admin.entity.inventory.InvWarehouseEntity;
import com.glxp.api.admin.entity.thrsys.*;
import lombok.Data;
@ -23,4 +26,9 @@ public class SpsSyncDataResponse {
List<ThrOrderEntity> thrOrderEntities;
List<CompanyProductRelevanceEntity> companyProductRelevanceEntities;
List<UdiRelevanceEntity> udiRelevanceEntities;
List<WarehouseBussinessTypeEntity> warehouseBussinessTypeEntities;
List<WarehouseUserEntity> warehouseUserEntities;
List<AuthAdmin> authAdminList;
}

@ -23,7 +23,7 @@ import com.glxp.api.admin.entity.business.StockOrderPrintEntity;
import com.glxp.api.admin.entity.inout.OrderEntity;
import com.glxp.api.admin.entity.inventory.InvWarehouseEntity;
import com.glxp.api.admin.entity.thrsys.ThrInvWarehouseEntity;
import com.glxp.api.admin.httpclient.UdiwmsOrderResponse;
import com.glxp.api.admin.httpclient.res.UdiwmsOrderResponse;
import com.glxp.api.admin.httpclient.req.UdiwmsOrderDetail;
import com.glxp.api.admin.httpclient.req.UdiwmsOrderRequest;
import com.glxp.api.admin.req.business.StockOrderDetailFilterRequest;

@ -48,6 +48,7 @@ public interface OrderService {
OrderEntity findById(String orderId);
List<String> findCodesById(String orderId);
List<OrderEntity> filterListByOrder(List<String> orderList);
@ -79,4 +80,36 @@ public interface OrderService {
* @return
*/
List<StockOrderResponse> checkSubmitOrder(List<StockOrderResponse> orderResponseList);
/**
*
*
* @param billNo
* @return
*/
List<OrderEntity> filterOrderForDelete(String billNo);
/**
*
*
* @param ids
*/
void deleteOrders(List<String> ids);
/**
*
*
* @param actDate
* @param auditTime
* @param orderIds
* @return
*/
boolean updateOrderInfo(String actDate, String auditTime, List<String> orderIds);
/**
*
*
* @param orderEntity
* @param orders
*/
public void getAllOrder(OrderEntity orderEntity, List<OrderEntity> orders);
}

@ -2,12 +2,13 @@ package com.glxp.api.admin.service.inout;
import com.glxp.api.admin.entity.inout.WarehouseBussinessTypeEntity;
import com.glxp.api.admin.req.basic.FilterInvBusTypeRequest;
import com.glxp.api.admin.res.basic.BussinessTypResponse;
import java.util.List;
public interface WarehouseBussinessTypeService {
WarehouseBussinessTypeEntity selectById(Integer id);
/**
* code
@ -17,6 +18,8 @@ public interface WarehouseBussinessTypeService {
*/
List<WarehouseBussinessTypeEntity> getListByCode(String code);
List<WarehouseBussinessTypeEntity> filterList(FilterInvBusTypeRequest filterInvBusTypeRequest);
/**
* -
*

@ -15,6 +15,9 @@ public interface WarehouseUserService {
* @param code
* @return
*/
WarehouseUserEntity selectById(Integer id);
List<WarehouseUserEntity> getListByCode(String code);
List<WarehouseUserEntity> selectCodeByUser(String userId);

@ -4,13 +4,19 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.github.pagehelper.PageHelper;
import com.glxp.api.admin.constant.Constant;
import com.glxp.api.admin.constant.ConstantStatus;
import com.glxp.api.admin.constant.ConstantType;
import com.glxp.api.admin.dao.basic.BasicThirdSysBusApiDao;
import com.glxp.api.admin.dao.basic.BussinessTypeDao;
import com.glxp.api.admin.dao.business.StockOrderDao;
import com.glxp.api.admin.dao.business.StockOrderDetailDao;
import com.glxp.api.admin.dao.inout.CodesDao;
import com.glxp.api.admin.dao.inout.CodesTempDao;
import com.glxp.api.admin.dao.inout.OrderDao;
import com.glxp.api.admin.dao.inout.OrderDetailDao;
import com.glxp.api.admin.dao.inventory.InvProductDao;
import com.glxp.api.admin.dao.inventory.InvProductDetailDao;
import com.glxp.api.admin.dao.inventory.InvWarehouseDao;
import com.glxp.api.admin.entity.basic.BasicThirdSysBusApiEntity;
import com.glxp.api.admin.entity.basic.BussinessTypeEntity;
@ -18,29 +24,32 @@ import com.glxp.api.admin.entity.business.StockOrderEntity;
import com.glxp.api.admin.entity.info.SystemParamConfigEntity;
import com.glxp.api.admin.entity.inout.OrderEntity;
import com.glxp.api.admin.entity.inout.WarehouseEntity;
import com.glxp.api.admin.entity.inventory.InvProductDetailEntity;
import com.glxp.api.admin.entity.inventory.InvProductEntity;
import com.glxp.api.admin.req.business.StockOrderFilterRequest;
import com.glxp.api.admin.req.inout.OrderFilterRequest;
import com.glxp.api.admin.req.inout.OrderQueryRequest;
import com.glxp.api.admin.req.inventory.FilterInvProductDetailRequest;
import com.glxp.api.admin.req.inventory.FilterInvProductRequest;
import com.glxp.api.admin.res.inout.StockOrderResponse;
import com.glxp.api.admin.service.info.SystemParamConfigService;
import com.glxp.api.admin.service.inout.OrderService;
import com.glxp.api.admin.util.CustomUtil;
import com.glxp.api.admin.util.GennerOrderUtils;
import com.glxp.api.admin.util.MyStrUtil;
import com.glxp.api.admin.util.OrderNoTypeBean;
import com.glxp.api.admin.util.*;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.*;
import java.util.stream.Collectors;
@Slf4j
@Service
public class OrderServiceImpl implements OrderService {
@Resource
OrderDao orderDao;
@Resource
@ -59,6 +68,14 @@ public class OrderServiceImpl implements OrderService {
GennerOrderUtils gennerOrderUtils;
@Resource
private BasicThirdSysBusApiDao basicThirdSysBusApiDao;
@Resource
private InvProductDao invProductDao;
@Resource
private InvProductDetailDao invProductDetailDao;
@Resource
private StockOrderDetailDao stockOrderDetailDao;
@Resource
private OrderDetailDao orderDetailDao;
@Override
public List<OrderEntity> listOrders(OrderQueryRequest orderQueryRequest) {
@ -151,8 +168,11 @@ public class OrderServiceImpl implements OrderService {
if (orderFilterRequest == null) {
return Collections.emptyList();
}
if(orderFilterRequest.getPage()!=null){
int offset = (orderFilterRequest.getPage() - 1) * orderFilterRequest.getLimit();
PageHelper.offsetPage(offset, orderFilterRequest.getLimit());
}
return orderDao.filterListOr(orderFilterRequest);
}
@ -178,6 +198,11 @@ public class OrderServiceImpl implements OrderService {
return orderDao.findOne(orderFilterRequest);
}
@Override
public List<String> findCodesById(String orderId) {
return codesDao.findCodesById(orderId);
}
@Override
public List<OrderEntity> filterListByOrder(List<String> orderList) {
return orderDao.filterListByOrder(orderList);
@ -213,9 +238,7 @@ public class OrderServiceImpl implements OrderService {
OrderEntity supplementOrder = new OrderEntity();
BeanUtil.copyProperties(order, supplementOrder);
//生成补单单号
String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean("MS" + MyStrUtil.trim(bussinessTypeEntity.getPrefix()), "yyyyMMdd"));
String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + MyStrUtil.trim(bussinessTypeEntity.getPrefix()), "yyyyMMdd"));
String supplementOrderNo = orderNo;
supplementOrder.setSupplementNo(order.getId());
supplementOrder.setId(supplementOrderNo);
@ -269,6 +292,8 @@ public class OrderServiceImpl implements OrderService {
//更新数据
try {
orderDao.insertOrder(supplementOrder);
order.setSupplementNo(supplementOrder.getId());
orderDao.updateOrder(order);
//更新配货单表对应单据的补单单号
stockOrderDao.updateSupplementNoByBillNo(billNo, supplementOrderNo);
codesTempDao.insertCodesTemp(supplementCodes);
@ -326,4 +351,170 @@ public class OrderServiceImpl implements OrderService {
return orderResponseList;
}
@Override
public List<OrderEntity> filterOrderForDelete(String billNo) {
OrderEntity orderEntity = orderDao.selectByBillNo(billNo);
if (null == orderEntity) {
return Collections.emptyList();
}
//查询码表中所有的单据号
List<OrderEntity> orders = new ArrayList<>();
orders.add(orderEntity);
getAllOrder(orderEntity, orders);
return orders;
}
/**
*
*
* @param orderEntity
* @param orders
*/
@Override
public void getAllOrder(OrderEntity orderEntity, List<OrderEntity> orders) {
OrderFilterRequest orderFilterRequest = new OrderFilterRequest();
//补单单号
if (StrUtil.isNotBlank(orderEntity.getSupplementNo())) {
//补单单号不为空,查询补单数据
orderFilterRequest.setId(orderEntity.getSupplementNo());
OrderEntity order = orderDao.findOne(orderFilterRequest);
if (null != order && !orders.contains(order)) {
orders.add(order);
getAllOrder(order, orders);
}
}
//缺量补单上级单号
if (StrUtil.isNotBlank(orderEntity.getOriginUllageSupNo())) {
//缺量补单上级单号不为空,查询单据数据
orderFilterRequest.setId(orderEntity.getOriginUllageSupNo());
OrderEntity order = orderDao.findOne(orderFilterRequest);
if (null != order && !orders.contains(order)) {
orders.add(order);
getAllOrder(order, orders);
}
}
//缺量补单
if (StrUtil.isNotBlank(orderEntity.getUllageSupNo())) {
//缺量补单单号不为空,查询单据数据
orderFilterRequest.setId(orderEntity.getUllageSupNo());
OrderEntity order = orderDao.findOne(orderFilterRequest);
if (null != order && !orders.contains(order)) {
orders.add(order);
getAllOrder(order, orders);
}
}
}
@Transactional(rollbackFor = Exception.class)
@Override
public void deleteOrders(List<String> ids) {
for (String id : ids) {
log.info("开始删除单号为:" + id + "的单据");
//查询扫码单据
OrderFilterRequest orderFilterRequest = new OrderFilterRequest();
orderFilterRequest.setId(id);
OrderEntity orderEntity = orderDao.findOne(orderFilterRequest);
if (orderEntity.getStatus().equals(ConstantStatus.ORDER_STATUS_SUCCESS)) {
//查询库存详情
FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest();
filterInvProductDetailRequest.setOrderIdFk(id);
List<InvProductDetailEntity> invProductDetailEntities = invProductDetailDao.filterInvProductDetail(filterInvProductDetailRequest);
Map<String, List<InvProductDetailEntity>> invProductDetailMap = invProductDetailEntities.stream().collect(Collectors.groupingBy(InvProductDetailEntity::getProductIdFk));
List<InvProductEntity> invProductList = new ArrayList<>(invProductDetailMap.keySet().size());
for (InvProductDetailEntity invProductDetailEntity : invProductDetailEntities) {
FilterInvProductRequest filterInvProductRequest = new FilterInvProductRequest();
filterInvProductRequest.setRelIdFk(invProductDetailEntity.getProductIdFk());
filterInvProductRequest.setSupId(invProductDetailEntity.getSupId());
filterInvProductRequest.setInvStorageCode(invProductDetailEntity.getInvStorageCode());
if (StrUtil.isBlank(invProductDetailEntity.getBatchNo())) {
filterInvProductRequest.setBatchNo("empty");
} else {
filterInvProductRequest.setBatchNo(invProductDetailEntity.getBatchNo());
}
List<InvProductEntity> invProductEntities = invProductDao.filterInvProduct(filterInvProductRequest);
InvProductEntity productEntity = invProductEntities.get(0);
if (ConstantType.TYPE_PUT.equals(invProductDetailEntity.getMainAction())) {
//入库,在原有库存基础上减库存
int count = productEntity.getInCount() - invProductDetailEntity.getCount();
productEntity.setInCount(count);
} else if (ConstantType.TYPE_OUT.equals(invProductDetailEntity.getMainAction())) {
//出库,在原有库存上增加库存
int count = productEntity.getOutCount() - invProductDetailEntity.getCount();
productEntity.setOutCount(count);
}
invProductList.add(productEntity);
}
//删除单据相关数据,更新库存
try {
//删除库存详情
invProductDetailDao.deleteByOrderId(id);
//更新库存
for (InvProductEntity invProductEntity : invProductList) {
//查询库存码详情,如果库存码详情为空,则删除此库存
FilterInvProductDetailRequest detailParams = new FilterInvProductDetailRequest();
detailParams.setBatchNo(invProductEntity.getBatchNo());
detailParams.setInvCodes(Collections.singletonList(invProductEntity.getInvStorageCode()));
detailParams.setProductIdFk(invProductEntity.getRelIdFk());
int count = invProductDetailDao.statCount(detailParams);
if (count == 0) {
//如果库存码详情为空,则删除此库存
invProductDao.deleteById(String.valueOf(invProductEntity.getId()));
} else {
invProductDao.updateInvProduct(invProductEntity);
}
}
//删除码详情
codesDao.deleteByOrderId(id);
//查询业务单据
StockOrderFilterRequest stockOrderFilterRequest = new StockOrderFilterRequest();
stockOrderFilterRequest.setBillNo(orderEntity.getErpFk());
StockOrderEntity stockOrderEntity = stockOrderDao.findOne(stockOrderFilterRequest);
//删除业务单据详情
stockOrderDetailDao.deleteByOrderIdFk(stockOrderEntity.getId());
//删除业务单据
stockOrderDao.deleteById(stockOrderEntity.getId());
//删除扫码单据详情
orderDetailDao.deleteByOrderId(id);
//删除扫码单据
orderDao.deleteById(id);
log.info("单号为:" + id + " 的单据已删除");
} catch (Exception e) {
log.error("删除单据失败", e);
throw new RuntimeException("删除单据失败");
}
} else {
//未验收单据,删除单据,单据详情,码详情
try {
orderDao.deleteById(id);
orderDetailDao.deleteByOrderId(id);
//查询业务单据
StockOrderFilterRequest stockOrderFilterRequest = new StockOrderFilterRequest();
stockOrderFilterRequest.setBillNo(orderEntity.getErpFk());
StockOrderEntity stockOrderEntity = stockOrderDao.findOne(stockOrderFilterRequest);
//删除业务单据详情
stockOrderDetailDao.deleteByOrderIdFk(stockOrderEntity.getId());
//删除业务单据
stockOrderDao.deleteById(stockOrderEntity.getId());
//删除码
codesDao.deleteByOrderId(id);
} catch (Exception e) {
throw new RuntimeException("删除单据失败");
}
}
}
}
@Override
public boolean updateOrderInfo(String actDate, String auditTime, List<String> orderIds) {
return orderDao.updateOrderTime(actDate, auditTime, DateUtil.getDateTime(), orderIds);
}
}

@ -1,8 +1,10 @@
package com.glxp.api.admin.service.inout.impl;
import cn.hutool.core.collection.CollUtil;
import com.github.pagehelper.PageHelper;
import com.glxp.api.admin.dao.inout.WarehouseBussinessTypeDao;
import com.glxp.api.admin.entity.inout.WarehouseBussinessTypeEntity;
import com.glxp.api.admin.req.basic.FilterInvBusTypeRequest;
import com.glxp.api.admin.res.basic.BussinessTypResponse;
import com.glxp.api.admin.service.inout.WarehouseBussinessTypeService;
import lombok.extern.slf4j.Slf4j;
@ -20,6 +22,11 @@ public class WarehouseBussinessTypeServiceImpl implements WarehouseBussinessType
@Resource
private WarehouseBussinessTypeDao warehouseBussinessTypeDao;
@Override
public WarehouseBussinessTypeEntity selectById(Integer id) {
return warehouseBussinessTypeDao.selectById(id);
}
@Override
public List<WarehouseBussinessTypeEntity> getListByCode(String code) {
List<WarehouseBussinessTypeEntity> warehouseBussinessTypeEntities = warehouseBussinessTypeDao.selectListByCode(code);
@ -29,6 +36,19 @@ public class WarehouseBussinessTypeServiceImpl implements WarehouseBussinessType
return warehouseBussinessTypeEntities;
}
@Override
public List<WarehouseBussinessTypeEntity> filterList(FilterInvBusTypeRequest filterInvBusTypeRequest) {
if (filterInvBusTypeRequest == null) {
return Collections.emptyList();
}
if (filterInvBusTypeRequest.getPage() != null) {
int offset = (filterInvBusTypeRequest.getPage() - 1) * filterInvBusTypeRequest.getLimit();
PageHelper.offsetPage(offset, filterInvBusTypeRequest.getLimit());
}
return warehouseBussinessTypeDao.filterList(filterInvBusTypeRequest);
}
@Override
public void saveWarehouseBussinessType(String code, List<BussinessTypResponse> bussinessTypResponseList) {
if (CollUtil.isNotEmpty(bussinessTypResponseList)) {

@ -1,6 +1,7 @@
package com.glxp.api.admin.service.inout.impl;
import cn.hutool.core.collection.CollUtil;
import com.github.pagehelper.PageHelper;
import com.glxp.api.admin.dao.inout.WarehouseUserDao;
import com.glxp.api.admin.entity.auth.AuthAdmin;
import com.glxp.api.admin.entity.inout.WarehouseUserEntity;
@ -19,10 +20,20 @@ import java.util.List;
public class WarehouseUserServiceImpl implements WarehouseUserService {
@Resource
private WarehouseUserDao warehouseUserDao;
@Override
public WarehouseUserEntity selectById(Integer id) {
FilterInvUserRequest filterInvUserRequest = new FilterInvUserRequest();
filterInvUserRequest.setId(id);
List<WarehouseUserEntity> warehouseUserEntities = warehouseUserDao.filterList(filterInvUserRequest);
if (CollUtil.isNotEmpty(warehouseUserEntities)) {
return warehouseUserEntities.get(0);
}
return null;
}
@Override
public List<WarehouseUserEntity> getListByCode(String code) {
List<WarehouseUserEntity> warehouseUserEntities = warehouseUserDao.selectListByCode(code);
@ -39,10 +50,15 @@ public class WarehouseUserServiceImpl implements WarehouseUserService {
@Override
public List<WarehouseUserEntity> filterWarehouseUsers(FilterInvUserRequest filterInvUserRequest) {
if (filterInvUserRequest == null) {
return Collections.emptyList();
}
if (filterInvUserRequest.getPage() != null) {
int offset = (filterInvUserRequest.getPage() - 1) * filterInvUserRequest.getLimit();
PageHelper.offsetPage(offset, filterInvUserRequest.getLimit());
}
List<WarehouseUserEntity> warehouseUserEntities = warehouseUserDao.filterWarehouseUsers(filterInvUserRequest);
return warehouseUserEntities;
return warehouseUserDao.filterList(filterInvUserRequest);
}

@ -8,6 +8,7 @@ import com.glxp.api.admin.res.inventory.InvProductResponse;
import java.util.List;
public interface InvProductService {
List<InvProductEntity> filterInvProduct(FilterInvProductRequest filterInvProductRequest);
List<InvProductResponse> filterJoinInvProduct(FilterInvProductRequest filterInvProductRequest);
@ -26,5 +27,4 @@ public interface InvProductService {
//库存统计
List<InvProductResponse> stockStatistics(FilterInvProductRequest filterInvProductRequest);
}

@ -1,5 +1,6 @@
package com.glxp.api.admin.service.inventory.impl;
import cn.hutool.core.util.StrUtil;
import com.github.pagehelper.PageHelper;
import com.glxp.api.admin.dao.inventory.InvPreInProductDao;
import com.glxp.api.admin.entity.inventory.InvProductEntity;
@ -46,6 +47,9 @@ public class InvPreInProductServiceImpl implements InvPreInProductService {
@Override
public InvProductEntity selectByUuid(String uuid, String batchNo, String supId, String invStorageCode, String invWarehouseCode) {
if (StrUtil.isEmpty(batchNo)) {
batchNo = "empty";
}
return invPreInProductDao.selectByUuid(uuid, batchNo, supId, invStorageCode, invWarehouseCode);
}

@ -1,5 +1,6 @@
package com.glxp.api.admin.service.inventory.impl;
import cn.hutool.core.util.StrUtil;
import com.github.pagehelper.PageHelper;
import com.glxp.api.admin.dao.inventory.InvPreProductDao;
import com.glxp.api.admin.entity.inventory.InvProductEntity;
@ -48,19 +49,10 @@ public class InvPreProductServiceImpl implements InvPreProductService {
@Override
public InvProductEntity selectByUuid(String uuid, String batchNo, String supId, String invStorageCode, String invWarehouseCode) {
if (StrUtil.isEmpty(batchNo)) {
batchNo = "empty";
}
return invPreProductDao.selectByUuid(uuid, batchNo, supId, invStorageCode, invWarehouseCode);
// FilterInvProductRequest filterInvProductRequest = new FilterInvProductRequest();
// filterInvProductRequest.setRelIdFk(uuid);
// filterInvProductRequest.setBatchNo(batchNo);
// filterInvProductRequest.setSupId(supId);
// filterInvProductRequest.setInvWarehouseCode(invWarehouseCode);
// filterInvProductRequest.setInvStorageCode(invStorageCode);
// List<InvProductEntity> data = filterInvProduct(filterInvProductRequest);
// if (data != null && data.size() > 0) {
// return data.get(0);
// }
// return null;
}
@Override

@ -1,6 +1,7 @@
package com.glxp.api.admin.service.inventory.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.github.pagehelper.PageHelper;
import com.glxp.api.admin.dao.inventory.InvProductDao;
import com.glxp.api.admin.entity.inventory.InvProductEntity;
@ -47,6 +48,20 @@ public class InvProductServiceImpl implements InvProductService {
@Override
public InvProductEntity selectByUuid(String uuid, String batchNo, String supId, String invStorageCode, String invWarehouseCode) {
// FilterInvProductRequest filterInvProductRequest = new FilterInvProductRequest();
// filterInvProductRequest.setRelIdFk(uuid);
// filterInvProductRequest.setBatchNo(batchNo);
// filterInvProductRequest.setSupId(supId);
// filterInvProductRequest.setInvWarehouseCode(invWarehouseCode);
// filterInvProductRequest.setInvStorageCode(invStorageCode);
// List<InvProductEntity> data = filterInvProduct(filterInvProductRequest);
// if (data != null && data.size() > 0) {
// return data.get(0);
// }
// return null;
if (StrUtil.isEmpty(batchNo)) {
batchNo = "empty";
}
return invProductDao.selectByUuid(uuid, batchNo, supId, invStorageCode, invWarehouseCode);
}

@ -1,40 +1,31 @@
package com.glxp.api.admin.thread;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.glxp.api.admin.constant.BasicProcessStatus;
import com.glxp.api.admin.constant.ConstantStatus;
import com.glxp.api.admin.dao.auth.AuthAdminDao;
import com.glxp.api.admin.dao.basic.*;
import com.glxp.api.admin.dao.inout.CodesDao;
import com.glxp.api.admin.dao.inout.OrderDao;
import com.glxp.api.admin.dao.inout.OrderDetailDao;
import com.glxp.api.admin.dao.inout.*;
import com.glxp.api.admin.dao.thrsys.ThrCorpDao;
import com.glxp.api.admin.dao.thrsys.ThrOrderDao;
import com.glxp.api.admin.dao.thrsys.ThrOrderDetailDao;
import com.glxp.api.admin.dao.thrsys.ThrProductsDao;
import com.glxp.api.admin.entity.auth.AuthAdmin;
import com.glxp.api.admin.entity.basic.*;
import com.glxp.api.admin.entity.info.SystemParamConfigEntity;
import com.glxp.api.admin.entity.inout.ErpOrderEntity;
import com.glxp.api.admin.entity.inout.OrderEntity;
import com.glxp.api.admin.entity.inout.WarehouseEntity;
import com.glxp.api.admin.entity.inout.*;
import com.glxp.api.admin.entity.inventory.InvWarehouseEntity;
import com.glxp.api.admin.entity.thrsys.*;
import com.glxp.api.admin.req.basic.BasicExportStatusRequest;
import com.glxp.api.admin.res.basic.*;
import com.glxp.api.admin.res.inventory.InvWarehouseExportResponse;
import com.glxp.api.admin.service.auth.AuthAdminService;
import com.glxp.api.admin.service.basic.UdiInfoImportDetailService;
import com.glxp.api.admin.service.info.CompanyProductRelevanceService;
import com.glxp.api.admin.service.inout.OrderService;
import com.glxp.api.admin.service.inventory.InvWarehouseService;
import com.glxp.api.admin.service.thrsys.ThrInvProductsService;
import com.glxp.api.admin.service.thrsys.ThrInvWarehouseService;
import com.glxp.api.admin.util.CustomUtil;
import com.glxp.api.admin.util.FileUtils;
import com.glxp.api.admin.util.RedisUtil;
import com.glxp.api.admin.util.SpGetHttp;
import com.glxp.api.admin.httpclient.SpGetHttpClient;
import com.glxp.api.common.res.BaseResponse;
import org.apache.ibatis.session.ExecutorType;
import org.apache.ibatis.session.SqlSession;
@ -54,7 +45,7 @@ public class DlBasicService {
@Resource
SpGetHttp spGetHttp;
SpGetHttpClient spGetHttp;
@Resource
UdiInfoImportDetailService udiInfoImportDetailService;
@Resource
@ -69,6 +60,12 @@ public class DlBasicService {
HeartService heartService;
@Resource
RedisUtil redisUtil;
@Resource
AuthAdminDao authAdminService;
@Resource
WarehouseUserDao warehouseUserDao;
@Resource
WarehouseBussinessTypeDao warehouseBussinessTypeDao;
@Resource
ThrInvWarehouseService thrInvWarehouseService;
@ -147,6 +144,7 @@ public class DlBasicService {
List<CompanyProductRelevanceEntity> companyProductRelevanceEntities = syncDataResponse.getCompanyProductRelevanceEntities();
CompanyProductRelevanceDao mapper = batchSession.getMapper(CompanyProductRelevanceDao.class);
for (CompanyProductRelevanceEntity companyProductRelevanceEntity : companyProductRelevanceEntities) {
companyProductRelevanceEntity.setUpdate_time(null);
mapper.importCompanyProductRelevance(companyProductRelevanceEntity);
}
batchSession.commit();
@ -212,13 +210,44 @@ public class DlBasicService {
}
}
//第三方仓库信息插入
if (CollUtil.isNotEmpty(syncDataResponse.getThrInvWarehouseEntities())) {
for (ThrInvWarehouseEntity invWarehouseEntity : syncDataResponse.getThrInvWarehouseEntities()) {
invWarehouseEntity.setUpdateTime(null);
}
thrInvWarehouseService.insertInvWarehouses(syncDataResponse.getThrInvWarehouseEntities());
}
//用户表
if (CollUtil.isNotEmpty(syncDataResponse.getAuthAdminList())) {
for (AuthAdmin authAdmin : syncDataResponse.getAuthAdminList()) {
authAdmin.setLastModifyTime(null);
authAdminService.replaceAuthAdmin(authAdmin);
}
}
//仓库用户表
if (CollUtil.isNotEmpty(syncDataResponse.getWarehouseUserEntities())) {
for (WarehouseUserEntity warehouseUserEntity : syncDataResponse.getWarehouseUserEntities()) {
warehouseUserDao.insertOrUpdate(warehouseUserEntity);
}
}
//仓库单据类型表
if (CollUtil.isNotEmpty(syncDataResponse.getWarehouseBussinessTypeEntities())) {
for (WarehouseBussinessTypeEntity warehouseUserEntity : syncDataResponse.getWarehouseBussinessTypeEntities()) {
warehouseBussinessTypeDao.insertOrUpdate(warehouseUserEntity);
}
}
//用户表
if (CollUtil.isNotEmpty(syncDataResponse.getAuthAdminList())) {
for (AuthAdmin authAdmin : syncDataResponse.getAuthAdminList()) {
authAdmin.setLastModifyTime(null);
authAdminService.replaceAuthAdmin(authAdmin);
}
}
spGetHttp.postBasicStatus(basicExportStatusEntity.getId());
batchSession.close();
}
@ -262,7 +291,7 @@ public class DlBasicService {
BussinessLocalTypeDao mapper = batchSession.getMapper(BussinessLocalTypeDao.class);
for (SpsBusLoclTypeResponse spsBusLoclTypeResponse : spsBusLoclTypeResponses) {
BussinessLocalTypeEntity bussinessTypeEntity = new BussinessLocalTypeEntity();
BeanUtils.copyProperties(spsBusLoclTypeResponse,bussinessTypeEntity);
BeanUtils.copyProperties(spsBusLoclTypeResponse, bussinessTypeEntity);
bussinessTypeEntity.setUpdateTime(null);
mapper.insertBussinessType(bussinessTypeEntity);
}
@ -314,6 +343,8 @@ public class DlBasicService {
orderEntity.setUpdateTime(null);
orderEntity.setFromType(ConstantStatus.FROM_UDISP);
orderEntity.setReceiveStatus(0);
orderEntity.setErpFk(null);
orderEntity.setOutChangeEnable(false);
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_PROCESS);
orderService.deleteByOrderId(orderEntity.getId());
mapper.importOrder(orderEntity);
@ -322,23 +353,23 @@ public class DlBasicService {
} catch (Exception e) {
}
}
if (CollUtil.isNotEmpty(syncDataResponse.getOrderDetailEntityList())) {
try {
List<ErpOrderEntity> erpOrderEntities = syncDataResponse.getOrderDetailEntityList();
OrderDetailDao mapper = batchSession.getMapper(OrderDetailDao.class);
for (ErpOrderEntity erpOrderEntity : erpOrderEntities) {
mapper.insertErpOrder(erpOrderEntity);
}
batchSession.commit();
} catch (Exception e) {
}
}
// if (CollUtil.isNotEmpty(syncDataResponse.getOrderDetailEntityList())) {
// try {
// List<ErpOrderEntity> erpOrderEntities = syncDataResponse.getOrderDetailEntityList();
// OrderDetailDao mapper = batchSession.getMapper(OrderDetailDao.class);
// for (ErpOrderEntity erpOrderEntity : erpOrderEntities) {
// mapper.insertErpOrder(erpOrderEntity);
// }
// batchSession.commit();
// } catch (Exception e) {
// }
// }
if (CollUtil.isNotEmpty(syncDataResponse.getWarehouseEntityList())) {
try {
List<WarehouseEntity> warehouseEntityList = syncDataResponse.getWarehouseEntityList();
CodesDao mapper = batchSession.getMapper(CodesDao.class);
CodesTempDao mapper = batchSession.getMapper(CodesTempDao.class);
for (WarehouseEntity warehouseEntity : warehouseEntityList) {
mapper.insertWarehouse(warehouseEntity);
mapper.replaceCodesTempSingle(warehouseEntity);
}
batchSession.commit();
} catch (Exception e) {

@ -8,7 +8,7 @@ import com.glxp.api.admin.req.inout.PostOrderRequest;
import com.glxp.api.admin.res.PageSimpleResponse;
import com.glxp.api.admin.res.inout.DlOrderResponse;
import com.glxp.api.admin.service.inout.IOOrderStatusService;
import com.glxp.api.admin.util.SpGetHttp;
import com.glxp.api.admin.httpclient.SpGetHttpClient;
import com.glxp.api.common.res.BaseResponse;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
@ -20,7 +20,7 @@ import java.util.List;
@Service
public class DlSpOrderService {
@Resource
SpGetHttp spGetHttp;
SpGetHttpClient spGetHttp;
@Resource
IOOrderStatusService ioOrderStatusService;
@Resource

@ -15,7 +15,7 @@ import com.glxp.api.admin.service.basic.BasicExportService;
import com.glxp.api.admin.service.basic.BasicExportTimeService;
import com.glxp.api.admin.util.CustomUtil;
import com.glxp.api.admin.util.DateUtil;
import com.glxp.api.admin.util.SpGetHttp;
import com.glxp.api.admin.httpclient.SpGetHttpClient;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import org.springframework.stereotype.Service;
@ -31,7 +31,7 @@ public class HeartService {
@Resource
UpBasicService upBasicService;
@Resource
SpGetHttp spGetHttp;
SpGetHttpClient spGetHttp;
@Resource
BasicExportTimeService basicExportTimeService;

@ -55,19 +55,20 @@ public class InvProductsTrService {
@Resource
private InvPreProductService invPreProductService;
@Resource
private InvPreProductDetailService invPreProductDetailService;
@Resource
private InvPreInProductService invPreInProductService;
@Resource
private InvPreInProductDetailService invPreInProductDetailService;
@Resource
private InvPreProductDetailService invPreProductDetailService;
@Resource
private BussinessChangeTypeService bussinessChangeTypeService;
@Resource
private BasicUnitMaintainService basicUnitMaintainService;
@Resource
SystemParamConfigService systemParamConfigService;
@Resource
IOOrderStatusService ioOrderStatusService;
@Resource
InvWarehouseService invWarehouseService;
@Resource
GennerOrderUtils gennerOrderUtils;
@ -127,7 +128,6 @@ public class InvProductsTrService {
} else if (orderEntity.getMainAction().equals(ConstantType.TYPE_PUT)) {
invPreProductEntity.setInCount(invPreProductEntity.getInCount() + count);
}
if (erpOrderEntity.getPrice() != null) {
invPreProductEntity.setPrice(erpOrderEntity.getPrice() + "");
}
@ -148,7 +148,6 @@ public class InvProductsTrService {
} else if (orderEntity.getMainAction().equals(ConstantType.TYPE_PUT)) {
invProductEntity.setInCount(invProductEntity.getInCount() + count);
}
if (erpOrderEntity.getPrice() != null) {
invProductEntity.setPrice(erpOrderEntity.getPrice() + "");
}
@ -163,7 +162,6 @@ public class InvProductsTrService {
if (orderEntity.getMainAction().equals(ConstantType.TYPE_OUT)) {
preInvEntity.setOutCount(preInvEntity.getOutCount() + count);
}
if (erpOrderEntity.getPrice() != null) {
preInvEntity.setPrice(erpOrderEntity.getPrice() + "");
}
@ -262,6 +260,9 @@ public class InvProductsTrService {
//缺量补单时是否全量补单
SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("ullage_supplement_all");
if (systemParamConfigEntity != null && systemParamConfigEntity.getParamValue().equals("1")) {
BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(orderEntity.getAction());
insetInv(bussinessTypeEntity, invProductDetailEntities);//2.插入当前库存
WarehouseEntity warehouseEntity = warehouseEntities.get(0);
InvWarehouseEntity locWarehouseEntity = invWarehouseService.selectByCode(warehouseEntity.getLocStorageCode());
if (locWarehouseEntity.getLevel() == 1 && isAdavnce(warehouseEntity)) {//补寄售转入
@ -327,10 +328,10 @@ public class InvProductsTrService {
warehouseEntity.setFromCorp(invWarehouseEntity.getName());
if (invCount > 0) {//仓库已存在该产品
if (count > invCount) { //当前数量>结余数量,说明该产品是无序列号或者是多级包装
UdiEntity udiEntity = FilterUdiUtils.getUdi(warehouseEntity.getCode());
// UdiEntity udiEntity = FilterUdiUtils.getUdi(warehouseEntity.getCode());
if (actCount > invCount) { //该产品实际数量大于结余数量,说明是多级包装,直接补
preiInList.add(warehouseEntity);
} else if (udiEntity.getSerialNo() == null) { //无序列号(多级包装无序列号的已在上一步被排除),补齐数量
} else if (warehouseEntity.getSerialNo() == null) { //无序列号(多级包装无序列号的已在上一步被排除),补齐数量
int lea = count - invCount;
warehouseEntity.setCount(lea / (warehouseEntity.getCount())); //
preiInList.add(warehouseEntity);
@ -372,10 +373,10 @@ public class InvProductsTrService {
if (invCount > 0) {//仓库已存在该产品
if (count > invCount) { //当前数量>结余数量,说明该产品是无序列号或者是多级包装
UdiEntity udiEntity = FilterUdiUtils.getUdi(warehouseEntity.getCode());
// UdiEntity udiEntity = FilterUdiUtils.getUdi(warehouseEntity.getCode());
if (actCount > invCount) { //该产品实际数量大于结余数量,说明是多级包装,直接补
inList.add(warehouseEntity);
} else if (udiEntity.getSerialNo() == null) { //无序列号(多级包装无序列号的已在上一步被排除),补齐数量
} else if (warehouseEntity.getSerialNo() == null) { //无序列号(多级包装无序列号的已在上一步被排除),补齐数量
int lea = count - invCount;
warehouseEntity.setCount(lea / (warehouseEntity.getCount())); //
inList.add(warehouseEntity);
@ -442,10 +443,10 @@ public class InvProductsTrService {
int invCount = getPreCountByOrder(null, udiInfoEntity.getRelId(), warehouseEntity.getBatchNo(), warehouseEntity.getSupId(), warehouseEntity.getLocStorageCode());
if (invCount > 0) {//仓库已存在该产品
if (count > invCount) { //当前数量>结余数量,说明该产品是无序列号或者是多级包装
UdiEntity udiEntity = FilterUdiUtils.getUdi(warehouseEntity.getCode());
// UdiEntity udiEntity = FilterUdiUtils.getUdi(warehouseEntity.getCode());
if (actCount > invCount) { //该产品实际数量大于结余数量,说明是多级包装,直接补
prePutList.add(warehouseEntity);
} else if (udiEntity.getSerialNo() == null) { //无序列号(多级包装无序列号的已在上一步被排除),补齐数量
} else if (warehouseEntity.getSerialNo() == null) { //无序列号(多级包装无序列号的已在上一步被排除),补齐数量
int lea = count - invCount;
warehouseEntity.setCount(lea / (warehouseEntity.getCount())); //
prePutList.add(warehouseEntity);
@ -512,6 +513,7 @@ public class InvProductsTrService {
outOrder.setCreateUser(null);
outOrder.setReviewUser(null);
outOrder.setPreCheck(false);
outOrder.setReceiveStatus(0);
orderService.insertOrder(outOrder);
for (WarehouseEntity warehouseEntity : preOutList) {
warehouseEntity.setOrderId(outOrder.getId());
@ -588,6 +590,7 @@ public class InvProductsTrService {
outOrder.setCreateUser(null);
outOrder.setReviewUser(null);
outOrder.setPreCheck(false);
outOrder.setReceiveStatus(0);
orderService.insertOrder(outOrder);
for (WarehouseEntity warehouseEntity : temps) {
warehouseEntity.setOrderId(outOrder.getId());
@ -632,6 +635,7 @@ public class InvProductsTrService {
outOrder.setCreateUser(null);
outOrder.setReviewUser(null);
outOrder.setPreCheck(false);
outOrder.setReceiveStatus(0);
orderService.insertOrder(outOrder);
warehouseEntity.setOrderId(outOrder.getId());
warehouseEntity.setId(null);
@ -688,7 +692,6 @@ public class InvProductsTrService {
outOrder.setFromCorpId(corpName);
outOrder.setFromCorp(temps.get(0).getFromCorp());
outOrder.setCorpOrderId(CustomUtil.getId() + "x");
outOrder.setPreCheck(false);
outOrder.setLocStorageCode(orderEntity.getLocStorageCode());
SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("additional_auto_submit");
if ("1".equals(systemParamConfigEntity.getParamValue())) {
@ -704,6 +707,8 @@ public class InvProductsTrService {
outOrder.setOriginUllageSupNo(orderEntity.getId());
outOrder.setCreateUser(null);
outOrder.setReviewUser(null);
outOrder.setPreCheck(false);
outOrder.setReceiveStatus(0);
orderService.insertOrder(outOrder);
for (WarehouseEntity warehouseEntity : temps) {
warehouseEntity.setOrderId(outOrder.getId());
@ -766,6 +771,7 @@ public class InvProductsTrService {
outOrder.setLocStorageCode(orderEntity.getLocStorageCode());
outOrder.setErpFk(null);
outOrder.setFromType(ConstantStatus.FROM_CHANGE);
outOrder.setReceiveStatus(0);
String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + MyStrUtil.trim(bussinessTypeEntity.getPrefix()), "yyyyMMdd"));
outOrder.setId(orderNo);
SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("additional_auto_submit");
@ -805,19 +811,22 @@ public class InvProductsTrService {
orderEntity, WarehouseEntity warehouseEntity) {
InvProductEntity invProductEntity = new InvProductEntity();
invProductEntity.setRelIdFk(relId);
if (StrUtil.isNotEmpty(erpOrderEntity.getBatchNo())) {
invProductEntity.setBatchNo(erpOrderEntity.getBatchNo());
} else
invProductEntity.setBatchNo(null);
invProductEntity.setCustomerId(orderEntity.getCustomerId());
invProductEntity.setExpireDate(erpOrderEntity.getExpireDate());
invProductEntity.setProductionDate(erpOrderEntity.getProductDate());
invProductEntity.setGgxh(erpOrderEntity.getPackSpec());
invProductEntity.setSupId(warehouseEntity.getSupId());
invProductEntity.setNameCode(erpOrderEntity.getNameCode());
invProductEntity.setPrice(erpOrderEntity.getPrice() + "");
invProductEntity.setProductsName(erpOrderEntity.getCoName());
invProductEntity.setYlqxzcrbarmc(erpOrderEntity.getProductCompany());
invProductEntity.setZczbhhzbapzbh(erpOrderEntity.getAuthCode());
invProductEntity.setInvStorageCode(warehouseEntity.getLocStorageCode());
invProductEntity.setInvWarehouseCode(warehouseEntity.getInvWarehouseCode());
invProductEntity.setPrice(erpOrderEntity.getPrice() + "");
int count = getActCount(warehouseEntity) * warehouseEntity.getCount();
if (orderEntity.getMainAction().equals(ConstantType.TYPE_OUT)) {
invProductEntity.setOutCount(count);
@ -852,6 +861,9 @@ public class InvProductsTrService {
warehouseEntity.setCode(code);
}
invProductDetailEntity.setCode(code);
if (StrUtil.isEmpty(warehouseEntity.getBatchNo())) {
invProductDetailEntity.setBatchNo(null);
} else
invProductDetailEntity.setBatchNo(warehouseEntity.getBatchNo());
invProductDetailEntity.setProductionDate(warehouseEntity.getProduceDate());
invProductDetailEntity.setExpireDate(warehouseEntity.getExpireDate());

@ -532,6 +532,11 @@ public class IoTransInoutService {
unCheckFinish(orderEntity, warehouseEntityList);
return;
}
} else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_UDISP) {
if (!bussinessTypeEntity.isCheckSp()) {
unCheckFinish(orderEntity, warehouseEntityList);
return;
}
}
genOrderDetail(warehouseEntityList);
// checkMutiDi(orderEntity.getId(), bussinessTypeEntity); //校验一个DI是否绑定多个产品ID

@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.glxp.api.admin.config.WebSocketServer;
import com.glxp.api.admin.constant.BasicProcessStatus;
import com.glxp.api.admin.constant.Constant;
import com.glxp.api.admin.entity.basic.BasicThirdSysDetailEntity;
import com.glxp.api.admin.entity.thrsys.*;
import com.glxp.api.admin.httpclient.ErpBasicClient;

@ -2,6 +2,7 @@ package com.glxp.api.admin.thread;
import com.glxp.api.admin.config.WebSocketServer;
import com.glxp.api.admin.constant.BasicProcessStatus;
import com.glxp.api.admin.constant.Constant;
import com.glxp.api.admin.entity.basic.BasicThirdSysDetailEntity;
import com.glxp.api.admin.entity.thrsys.*;
import com.glxp.api.admin.httpclient.ErpInvClient;
@ -13,8 +14,6 @@ import com.glxp.api.admin.res.PageSimpleResponse;
import com.glxp.api.admin.res.inventory.ErpInvProductResponse;
import com.glxp.api.admin.service.basic.BasicThirdSysDetailService;
import com.glxp.api.admin.service.thrsys.*;
import com.glxp.api.admin.util.Constant;
import com.glxp.api.admin.util.CustomUtil;
import com.glxp.api.admin.util.ExcelUtil;
import com.glxp.api.admin.util.RedisUtil;
import com.glxp.api.common.res.BaseResponse;

@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.glxp.api.admin.config.WebSocketServer;
import com.glxp.api.admin.constant.BasicProcessStatus;
import com.glxp.api.admin.constant.Constant;
import com.glxp.api.admin.entity.basic.BasicThirdSysDetailEntity;
import com.glxp.api.admin.entity.basic.BasicUnitMaintainEntity;
import com.glxp.api.admin.entity.basic.BussinessTypeEntity;
@ -24,7 +25,6 @@ import com.glxp.api.admin.service.basic.BasicThirdSysDetailService;
import com.glxp.api.admin.service.basic.BasicUnitMaintainService;
import com.glxp.api.admin.service.basic.BussinessTypeService;
import com.glxp.api.admin.service.thrsys.*;
import com.glxp.api.admin.util.Constant;
import com.glxp.api.admin.util.ExcelUtil;
import com.glxp.api.admin.util.HttpClient;
import com.glxp.api.admin.util.RedisUtil;

@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.glxp.api.admin.config.WebSocketServer;
import com.glxp.api.admin.constant.BasicProcessStatus;
import com.glxp.api.admin.constant.Constant;
import com.glxp.api.admin.entity.basic.BasicThirdSysDetailEntity;
import com.glxp.api.admin.entity.thrsys.ThrProductsEntity;
import com.glxp.api.admin.entity.thrsys.ThrProductsExportLogEntity;

@ -279,10 +279,10 @@ public class UpBasicService {
List<WarehouseEntity> warehouseEntityList = new ArrayList<>();
if (CollUtil.isNotEmpty(orderEntities)) {
for (OrderEntity orderEntity : orderEntities) {
List<ErpOrderEntity> orderDetailEntityList = orderDetailService.filterAllByOrderIdFk(orderEntity.getId());
if (CollUtil.isNotEmpty(orderDetailEntityList)) {
allOrderDetailEntityList.addAll(orderDetailEntityList);
}
// List<ErpOrderEntity> orderDetailEntityList = orderDetailService.filterAllByOrderIdFk(orderEntity.getId());
// if (CollUtil.isNotEmpty(orderDetailEntityList)) {
// allOrderDetailEntityList.addAll(orderDetailEntityList);
// }
List<WarehouseEntity> codes = codesService.findByReceiptId(orderEntity.getId());
if (CollUtil.isNotEmpty(codes)) {
warehouseEntityList.addAll(codes);

@ -1,11 +0,0 @@
package com.glxp.api.admin.util;
public class Constant {
public static final String dlThrProducts = "THR_DOWNLOAD_PRODUCTS";
public static final String dlThrInvProducts = "THR_DOWNLOAD_INV_PRODUCTS";
public static final String dlThrOrders = "THR_DOWNLOAD_ORDERS";
public static final String dlThrCorps = "THR_DOWNLOAD_CORPS";
public static final String SERIAL_CACHE_PREFIX = "serial_";
public static final String SERIAL_CACHE_PREFIX_ST = "serialst_";
}

@ -1,5 +1,6 @@
package com.glxp.api.admin.util;
import com.glxp.api.admin.constant.Constant;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@ -53,7 +53,8 @@
</select>
<insert id="insertAuthAdmin" keyProperty="id" parameterType="com.glxp.api.admin.entity.auth.AuthAdmin">
INSERT INTO auth_user(userName,passWord,lastLoginIp,lastLoginTime,createTime,userFlag,employeeName)
INSERT INTO auth_user(userName,passWord,lastLoginIp,
lastLoginTime,createTime,userFlag,lastModifyTime,employeeName)
values
(#{userName},
<choose>
@ -84,9 +85,28 @@
</choose>
#{createTime},
#{userFlag,jdbcType=INTEGER},
#{lastModifyTime},
#{employeeName})
</insert>
<insert id="replaceAuthAdmin" keyProperty="id" parameterType="com.glxp.api.admin.entity.auth.AuthAdmin">
replace
INTO auth_user(id, userName, passWord, lastLoginIp,
lastLoginTime, createTime, userFlag, lastModifyTime, employeeName)
values (
#{id},
#{userName},
#{passWord},
#{lastLoginIp},
#{lastLoginTime},
#{createTime},
#{userFlag,jdbcType=INTEGER},
#{lastModifyTime},
#{employeeName}
)
</insert>
<update id="updateAuthAdmin" parameterType="com.glxp.api.admin.entity.auth.AuthAdmin">
UPDATE auth_user
<set>
@ -94,6 +114,7 @@
<if test="passWord != null">passWord=#{passWord},</if>
<if test="lastLoginIp != null">lastLoginIp=#{lastLoginIp},</if>
<if test="lastLoginTime != null">lastLoginTime=#{lastLoginTime},</if>
<if test="lastModifyTime != null">lastModifyTime=#{lastModifyTime},</if>
<if test="userFlag != null">userFlag=#{userFlag},</if>
<if test="employeeName != null">employeeName=#{employeeName}</if>
</set>

@ -22,15 +22,14 @@
group by stock_order.id
ORDER BY id DESC
</select>
<insert id="insertStockOrder" useGeneratedKeys="true" keyProperty="id"
parameterType="com.glxp.api.admin.entity.business.StockOrderEntity">
insert INTO stock_order(id, billNo, billdate, corpId, corpName, billType, billFlag,
thirdSysFk, status, statusInfo, `type`, sourceType,
thirdSysFk, status, statusInfo, type, sourceType,
printStatus, unitIdFk, customerId, thirdOrderFk, orderIdFk,
totalPrice, locStorageCode, supplementNo, createUser, reviewUser)
totalPrice, locStorageCode, supplementNo, createUser, reviewUser, entrustEnd)
values (#{id},
#{billNo},
#{billdate},
@ -44,7 +43,7 @@
#{type},
#{sourceType},
#{printStatus}, #{unitIdFk}, #{customerId}, #{thirdOrderFk}, #{orderIdFk}, #{totalPrice},
#{locStorageCode}, #{supplementNo}, #{createUser}, #{reviewUser})
#{locStorageCode}, #{supplementNo}, #{createUser}, #{reviewUser}, #{entrustEnd})
</insert>
<update id="updateById" parameterType="com.glxp.api.admin.entity.business.StockOrderEntity">
UPDATE stock_order
@ -70,6 +69,7 @@
<if test="supplementNo != null">supplementNo=#{supplementNo},</if>
<if test="createUser != null">createUser=#{createUser},</if>
<if test="reviewUser != null">reviewUser=#{reviewUser},</if>
<if test="entrustEnd != null">entrustEnd=#{entrustEnd},</if>
</trim>
WHERE id = #{id}
</update>
@ -91,7 +91,6 @@
SET `status` = #{status}
where id = #{orderId}
</update>
<update id="updateSupplementNoByBillNo">
update stock_order
set supplementNo = #{supplementOrderNo}
@ -161,7 +160,8 @@
and locStorageCode = #{locStorageCode}
</if>
<if test="unionUser != '' and unionUser!=null">
and ((createUser =#{unionUser} or reviewUser =#{unionUser}) or (reviewUser is null and createUser is null) )
and ((createUser =#{unionUser} or reviewUser =#{unionUser}) or (reviewUser is null and createUser is
null) )
</if>
<if test="createUser!=null">
and createUser = #{createUser}
@ -178,12 +178,34 @@
<if test="userId!=null">
and inv_warehouse_user.userId =#{userId}
</if>
</where>
group by stock_order.id
ORDER BY id DESC
</select>
<select id="filterEntrust" parameterType="com.glxp.api.admin.req.business.StockOrderFilterRequest"
resultType="com.glxp.api.admin.entity.business.StockOrderEntity">
SELECT stock_order.* FROM stock_order
INNER JOIN basic_entrust_accept on locStorageCode = basic_entrust_accept.curInv
<where>
<if test="status != '' and status!=null">
and status = #{status}
</if>
<if test="locStorageCode != '' and locStorageCode!=null">
and locStorageCode = #{locStorageCode}
</if>
<if test="entrustUser != '' and entrustUser!=null">
and basic_entrust_accept.entrustUser = #{entrustUser}
</if>
</where>
group by stock_order.id
ORDER BY id DESC
</select>
<select id="findOne" parameterType="com.glxp.api.admin.req.business.StockOrderFilterRequest"
resultType="com.glxp.api.admin.entity.business.StockOrderEntity">
SELECT * FROM stock_order
@ -201,9 +223,7 @@
and billType =#{billType}
</if>
<if test="customerId != '' and customerId !=null">
and customerId =#{customerId}
</if>
<if test="thirdOrderFk != '' and thirdOrderFk !=null">
and thirdOrderFk =#{thirdOrderFk}
</if>
@ -216,6 +236,7 @@
<if test="reviewUser!=null">
and reviewUser = #{reviewUser}
</if>
</where>
limit 1
</select>
@ -232,7 +253,6 @@
stock_order_detail.orderIdFk
left join inv_warehouse on inv_warehouse.code = stock_order.locStorageCode
<where>
<if test="id != '' and id!=null">
and stock_order.id =#{id}
</if>
@ -262,5 +282,15 @@
from stock_order
where id = #{id}
</select>
<select id="selectById" resultType="com.glxp.api.admin.entity.business.StockOrderEntity">
select *
from stock_order
where id = #{id}
</select>
<delete id="deleteByOrderIdFk">
delete
from stock_order
where orderIdFk = #{orderIdFk}
</delete>
</mapper>

@ -17,29 +17,8 @@
from io_order
where `status` <![CDATA[ <> ]]> 'success'
ORDER BY actDate DESC
</select>
<select id="findAllByTime" parameterType="com.glxp.api.admin.req.inout.OrderQueryRequest"
resultType="com.glxp.api.admin.entity.inout.OrderEntity">
SELECT * FROM io_order
<where>
<if test="status != '' and status!=null">
and status = #{status}
</if>
<if test="receiveStatus != '' and receiveStatus!=null">
and receiveStatus = #{receiveStatus}
</if>
<if test="lastUpdateTime!=null and lastUpdateTime!=''">
<![CDATA[ and DATE_FORMAT(updateTime, '%Y-%m-%d %H:%i:%S')>= DATE_FORMAT(#{lastUpdateTime}, '%Y-%m-%d %H:%i:%S') ]]>
</if>
<if test="filterActions!=null">
and `action` in
<foreach collection="filterActions" item="item" index="index" separator="," open="(" close=")">
#{item}
</foreach>
</if>
</where>
</select>
<select id="listOrderRepeat" parameterType="com.glxp.api.admin.req.inout.OrderQueryRequest"
resultType="com.glxp.api.admin.entity.inout.OrderEntity">
@ -147,17 +126,10 @@
<if test="originUllageSupNo != null">originUllageSupNo=#{originUllageSupNo},</if>
<if test="preCheck != null">preCheck=#{preCheck},</if>
<if test="thirdBillNo != null">thirdBillNo=#{thirdBillNo},</if>
<if test="auditTime != null">auditTime=#{auditTime},</if>
</trim>
WHERE id = #{id}
</update>
<select id="listOrderByIds" resultType="com.glxp.api.admin.entity.inout.OrderEntity">
select * from io_order where id in
<foreach item="item" index="index" collection="list" open="(" separator="," close=")">
#{item}
</foreach>
</select>
<delete id="deleteById" parameterType="Map">
DELETE
@ -351,17 +323,13 @@
<if test="locStorageCode!=null">
and locStorageCode =#{locStorageCode}
</if>
<if test="thirdBillNo!=null">
and thirdBillNo =#{thirdBillNo}
</if>
</where>
group by io_order.id
ORDER BY actDate DESC
</select>
<select id="filterNoSort" parameterType="com.glxp.api.admin.req.inout.OrderFilterRequest"
<select id="filterListByUser" parameterType="com.glxp.api.admin.req.inout.OrderFilterRequest"
resultType="com.glxp.api.admin.entity.inout.OrderEntity">
SELECT io_order.* FROM io_order
INNER JOIN inv_warehouse_user on io_order.locStorageCode = inv_warehouse_user.`code`
@ -372,15 +340,21 @@
<if test="mainAction != '' and mainAction!=null">
and mainAction =#{mainAction}
</if>
<if test="fromCorpId != '' and fromCorpId!=null">
and fromCorpId =#{fromCorpId}
</if>
<if test="action != '' and action!=null">
and action = #{action}
</if>
<if test="action==null or action == ''">
and `action` <![CDATA[ <> ]]> 'StockCheck'
</if>
<if test="status != '' and status!=null">
<if test="status != '' and status!=null and status!=10">
and status = #{status}
</if>
<if test="status ==10">
and ( status = 1 or status=-1)
</if>
<if test="exportStatus != '' and exportStatus!=null">
and exportStatus = #{exportStatus}
</if>
@ -393,9 +367,6 @@
<if test="stockCheckFk != '' and stockCheckFk!=null">
and stockCheckFk = #{stockCheckFk}
</if>
<if test="fromCorpId != '' and fromCorpId!=null">
and fromCorpId =#{fromCorpId}
</if>
<if test="receiveStatus != '' and receiveStatus!=null">
and receiveStatus = #{receiveStatus}
</if>
@ -405,6 +376,9 @@
<if test="endTime!=null and endTime!=''">
<![CDATA[ and DATE_FORMAT(actDate, '%Y-%m-%d') <= DATE_FORMAT(#{endTime}, '%Y-%m-%d') ]]>
</if>
<if test="customerId != '' and customerId!=null">
and customerId =#{customerId}
</if>
<if test=" createUser!=null">
and createUser =#{createUser}
</if>
@ -422,10 +396,10 @@
</if>
</where>
group by io_order.id
ORDER BY actDate DESC
</select>
<select id="filterListByUser" parameterType="com.glxp.api.admin.req.inout.OrderFilterRequest"
<select id="filterNoSort" parameterType="com.glxp.api.admin.req.inout.OrderFilterRequest"
resultType="com.glxp.api.admin.entity.inout.OrderEntity">
SELECT io_order.* FROM io_order
INNER JOIN inv_warehouse_user on io_order.locStorageCode = inv_warehouse_user.`code`
@ -436,21 +410,15 @@
<if test="mainAction != '' and mainAction!=null">
and mainAction =#{mainAction}
</if>
<if test="fromCorpId != '' and fromCorpId!=null">
and fromCorpId =#{fromCorpId}
</if>
<if test="action != '' and action!=null">
and action = #{action}
</if>
<if test="action==null or action == ''">
and `action` <![CDATA[ <> ]]> 'StockCheck'
</if>
<if test="status != '' and status!=null and status!=10">
<if test="status != '' and status!=null">
and status = #{status}
</if>
<if test="status ==10">
and ( status = 1 or status=-1)
</if>
<if test="exportStatus != '' and exportStatus!=null">
and exportStatus = #{exportStatus}
</if>
@ -463,6 +431,9 @@
<if test="stockCheckFk != '' and stockCheckFk!=null">
and stockCheckFk = #{stockCheckFk}
</if>
<if test="fromCorpId != '' and fromCorpId!=null">
and fromCorpId =#{fromCorpId}
</if>
<if test="receiveStatus != '' and receiveStatus!=null">
and receiveStatus = #{receiveStatus}
</if>
@ -489,7 +460,6 @@
</if>
</where>
group by io_order.id
ORDER BY actDate DESC
</select>
<select id="findOne" parameterType="com.glxp.api.admin.req.inout.OrderFilterRequest"
@ -521,7 +491,28 @@
limit 1
</select>
<select id="findAllByTime" parameterType="com.glxp.api.admin.req.inout.OrderQueryRequest"
resultType="com.glxp.api.admin.entity.inout.OrderEntity">
SELECT * FROM io_order
<where>
<if test="status != '' and status!=null">
and status = #{status}
</if>
<if test="receiveStatus != '' and receiveStatus!=null">
and receiveStatus = #{receiveStatus}
</if>
<if test="lastUpdateTime!=null and lastUpdateTime!=''">
and <![CDATA[ DATE_FORMAT(updateTime, '%Y-%m-%d %H:%i:%S')>= DATE_FORMAT(#{lastUpdateTime}, '%Y-%m-%d %H:%i:%S') ]]>
</if>
<if test="filterActions!=null">
and `action` in
<foreach collection="filterActions" item="item" index="index" separator="," open="(" close=")">
#{item}
</foreach>
</if>
</where>
</select>
<select id="filterListByCode" parameterType="java.util.List"
resultType="com.glxp.api.admin.entity.inout.OrderEntity">
@ -539,6 +530,33 @@
</foreach>
</select>
<select id="selectByBillNo" resultType="com.glxp.api.admin.entity.inout.OrderEntity">
select *
from io_order
where status = 4
and (id = #{billNo} or erpFk = #{billNo})
</select>
<select id="selectByIds" resultType="com.glxp.api.admin.entity.inout.OrderEntity">
select *
from io_order
where id in
<foreach collection="orderIds" separator="," index="index" item="item" open="(" close=")">
#{item}
</foreach>
order by id desc
</select>
<update id="updateOrderTime">
update io_order
set actDate = #{actDate},
auditTime = #{auditTime},
updateTime = #{updateTime}
where id in
<foreach collection="orderIds" item="item" index="index" open="(" close=")" separator=",">
#{item}
</foreach>
</update>
<select id="selectExportStatus" resultType="java.lang.Integer">
select exportStatus
from io_order

@ -233,12 +233,46 @@
</insert>
<select id="selectListByCode" resultMap="BaseResultMap">
select inv_warehouse_bussiness_type.id, inv_warehouse_bussiness_type.code, inv_warehouse_bussiness_type.action, basic_bussiness_type.name
select inv_warehouse_bussiness_type.id,
inv_warehouse_bussiness_type.code,
inv_warehouse_bussiness_type.action,
basic_bussiness_type.name
from inv_warehouse_bussiness_type
inner join basic_bussiness_type on inv_warehouse_bussiness_type.action = basic_bussiness_type.action
where code = #{code}
</select>
<select id="filterList" parameterType="com.glxp.api.admin.req.basic.FilterInvBusTypeRequest"
resultType="com.glxp.api.admin.entity.inout.WarehouseBussinessTypeEntity">
SELECT * FROM inv_warehouse_user
<where>
<if test="id != '' and id != null">
AND id = #{id}
</if>
<if test="code != '' and code != null">
AND code = #{code}
</if>
</where>
</select>
<select id="selectById" resultMap="BaseResultMap">
select *
from inv_warehouse_bussiness_type
where id = #{id}
</select>
<select id="selectListByAction" resultMap="BaseResultMap">
select inv_warehouse_bussiness_type.id,
inv_warehouse_bussiness_type.code,
inv_warehouse_bussiness_type.action,
basic_bussiness_type.name
from inv_warehouse_bussiness_type
inner join basic_bussiness_type on inv_warehouse_bussiness_type.action = basic_bussiness_type.action
where code = #{code}
</select>
<delete id="deleteByCode">
delete
from inv_warehouse_bussiness_type

@ -247,7 +247,7 @@
</select>
<select id="filterWarehouseUsers" parameterType="com.glxp.api.admin.req.inventory.FilterInvUserRequest"
<select id="filterList" parameterType="com.glxp.api.admin.req.basic.FilterInvBusTypeRequest"
resultType="com.glxp.api.admin.entity.inout.WarehouseUserEntity">
SELECT * FROM inv_warehouse_user
<where>
@ -260,10 +260,11 @@
<if test="userid != null">
and userId = #{userid}
</if>
<if test="isDirector != '' and isDirector != null">
AND isDirector = #{isDirector}
<if test="lastUpdateTime!=null and lastUpdateTime!=''">
<![CDATA[ and DATE_FORMAT(updateTime, '%Y-%m-%d %H:%i:%S')>= DATE_FORMAT(#{lastUpdateTime}, '%Y-%m-%d %H:%i:%S') ]]>
</if>
</where>
</select>

@ -51,9 +51,10 @@
<if test="invWarehouseCode != '' and invWarehouseCode != null">
AND invWarehouseCode = #{invWarehouseCode}
</if>
<if test="orderIdFk != null and orderIdFk != ''">
AND orderIdFk = #{orderIdFk}
</if>
</where>
</select>
<select id="filterJoinInvProduct" parameterType="com.glxp.api.admin.req.inventory.FilterInvProductDetailRequest"
resultType="com.glxp.api.admin.res.inventory.InvProductDetailJoinResponse">
@ -106,43 +107,39 @@
AND invWarehouseCode = #{invWarehouseCode}
</if>
</where>
</select>
<insert id="insertInvProductDetail" keyProperty="id"
parameterType="com.glxp.api.admin.entity.inventory.InvProductDetailEntity">
insert INTO inv_product_detail
(code, productIdFk, orderIdFk, customerId, mainAction, `action`, `count`, updateTime,
purchaseType, batchNo, productionDate, expireDate, unitFk, stockIdFk, supId, originCode, invStorageCode,
purchaseType, batchNo, productionDate, expireDate, unitFk, stockIdFk, supId, originCode,
invStorageCode,
invWarehouseCode)
values (#{code},
#{productIdFk}, #{orderIdFk},
#{customerId}, #{mainAction}, #{action}, #{count}, #{updateTime},
#{purchaseType}, #{batchNo}, #{productionDate}, #{expireDate}, #{unitFk}, #{stockIdFk}, #{supId},
#{originCode}, #{invStorageCode}, #{invWarehouseCode})
</insert>
<insert id="insertInvProductDetails" keyProperty="id"
parameterType="com.glxp.api.admin.entity.inventory.InvProductDetailEntity">
insert INTO inv_product_detail
(code, productIdFk, orderIdFk, customerId, mainAction, `action`, `count`, updateTime,
purchaseType, batchNo, productionDate, expireDate, unitFk, stockIdFk, supId,originCode, invStorageCode,
purchaseType, batchNo, productionDate, expireDate, unitFk, stockIdFk, supId, originCode,
invStorageCode,
invWarehouseCode)
values
<foreach collection="invProductDetailEntitys" item="item" index="index"
separator=",">
(
#{item.code},
#{item.productIdFk},#{item.orderIdFk},
#{item.customerId},#{item.mainAction},#{item.action},#{item.count},#{item.updateTime},
(#{item.code},
#{item.productIdFk}, #{item.orderIdFk},
#{item.customerId}, #{item.mainAction}, #{item.action}, #{item.count}, #{item.updateTime},
#{item.purchaseType}, #{item.batchNo}, #{item.productionDate}, #{item.expireDate},
#{item.unitFk},#{item.stockIdFk}
,#{item.supId},#{item.originCode},#{item.invStorageCode},#{item.invWarehouseCode}
)
#{item.unitFk}, #{item.stockIdFk},
#{item.supId}, #{item.originCode}, #{item.invStorageCode}, #{item.invWarehouseCode})
</foreach>
</insert>
@ -175,8 +172,8 @@
<if test="productIdFk != null">productIdFk=#{productIdFk},</if>
<if test="customerId != null">customerId=#{customerId},</if>
<if test="mainAction != null">mainAction=#{mainAction},</if>
<if test="action != null">action=#{action},</if>
<if test="count != null">count=#{count},</if>
<if test="action != null">`action`=#{action},</if>
<if test="count != null">`count`=#{count},</if>
<if test="unitFk != null">unitFk=#{unitFk},</if>
<if test="purchaseType != null">purchaseType=#{purchaseType},</if>
<if test="batchNo != null">batchNo=#{batchNo},</if>
@ -204,7 +201,7 @@
AND mainAction = #{mainAction}
</if>
<if test="action != '' and action != null">
AND action = #{action}
AND `action` = #{action}
</if>
<if test="purchaseType != null">
AND purchaseType = #{purchaseType}
@ -231,6 +228,7 @@
#{id}
</foreach>
</if>
</where>
</select>
@ -274,4 +272,17 @@
</select>
<delete id="deleteByOrderId">
delete
from inv_product_detail
where orderIdFk = #{orderIdFk}
</delete>
<delete id="deleteByOrderIdAndCode">
delete
from inv_product_detail
where orderIdFk = #{orderId}
and code = #{code}
</delete>
</mapper>

@ -38,6 +38,7 @@
<if test="spUse != null">
AND a.spUse = #{spUse}
</if>
</where>
</select>
@ -80,6 +81,7 @@
</if>
</where>
group by inv_warehouse.code
</select>
@ -161,7 +163,6 @@
</where>
</select>
<select id="getNameByCode" resultType="java.lang.String">
select name
from inv_warehouse
@ -213,23 +214,18 @@
<if test="status != null">status=#{status},</if>
<if test="updateTime != null">updateTime=#{updateTime},</if>
<if test="remark != null">remark=#{remark},</if>
<if test="level != null">level=#{level},</if>
<if test="pcode != null">pcode=#{pcode},</if>
<if test="thirdId != null">remark=#{thirdId},</if>
<if test="thirdId1 != null">remark=#{thirdId1},</if>
<if test="thirdId2 != null">remark=#{thirdId2},</if>
<if test="thirdId3 != null">remark=#{thirdId3},</if>
<if test="thirdId4 != null">remark=#{thirdId4},</if>
<if test="level != null">`level`=#{level},</if>
<if test="pcode != null">pcode=#{pcode},</if>
<if test="spUse != null">spUse=#{spUse},</if>
</trim>
WHERE id = #{id}
</update>
<update id="updateThridId" parameterType="Map">
update inv_warehouse
set ${sysId} = #{thridWarehouseId,jdbcType=VARCHAR}
where id = #{id}
</update>
<insert id="importInvWarehouse" parameterType="java.util.List">
replace into inv_warehouse (id, pid, code, `name`, advanceType, isDefault, status,
updateTime, remark, `level`, pcode, thirdId, thirdId1, thirdId2, thirdId3,
@ -250,5 +246,15 @@
</foreach>
</insert>
<update id="updateThridId" parameterType="Map">
update inv_warehouse
set ${sysId} = #{thridWarehouseId,jdbcType=VARCHAR}
where id = #{id}
</update>
<update id="updateTime" parameterType="Map">
update inv_warehouse
SET updateTime = #{updateTime}
where code = #{code}
</update>
</mapper>
Loading…
Cancel
Save