Merge branch 'dev' into test

dev
wj 2 years ago
commit 21ee80cd17

@ -8,7 +8,7 @@ import lombok.Getter;
@Getter
public enum ResultEnum {
SUCCESS(0, "success"),
SUCCESS(20000, "success"),
NOT_NETWORK(1, "系统繁忙,请稍后再试。"),
LOGIN_VERIFY_FALL(2, "登录失效"),
PARAM_VERIFY_FALL(3, "参数验证错误"),

@ -21,7 +21,7 @@ public class ResultVOUtils {
*/
public static BaseResponse success(Object data) {
BaseResponse<Object> baseResponse = new BaseResponse<>();
baseResponse.setCode(20000);
baseResponse.setCode(ResultEnum.SUCCESS.getCode());
baseResponse.setMessage("success");
baseResponse.setData(data);
return baseResponse;

@ -1,9 +1,10 @@
package com.glxp.api.config;
import org.springframework.beans.factory.annotation.Value;
import com.glxp.api.common.enums.ResultEnum;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
@ -11,13 +12,11 @@ import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;
@Profile({"dev","test"})
@Configuration
@EnableSwagger2WebMvc
public class Knife4jConfiguration {
@Value("${knife4j.enable:false}")
private boolean enable;
@Bean(value = "defaultApi2")
public Docket defaultApi2() {
Docket docket = new Docket(DocumentationType.SWAGGER_2)
@ -26,7 +25,6 @@ public class Knife4jConfiguration {
.description("UDI管理系统后台 - APIS")
.version("1.0")
.build())
.enable(enable)
.select()
//这里指定Controller扫描包路径
.apis(RequestHandlerSelectors.basePackage("com.glxp.api.controller"))

@ -316,4 +316,10 @@ public class ConstantStatus {
public static final int SCAN_NO_PI = 2; //有业务单无三期拣货
public static final int SCAN_ALL_PI = 3; //有业务单拣货(有无三期)
//按货位出库
public static final int SPACE_OUT_NULL = 0; //无,不按货位出库
public static final int SPACE_OUT_SET = 1; //按指定货位出库
public static final int SPACE_OUT_CODE = 2; //按条码默认货位出库
}

@ -0,0 +1,13 @@
package com.glxp.api.constant;
public class FileConstant {
public static String CERT_FILE_PATH = "";
public static String INVOICE_FILE_PATH = "";
public static String PDF_FILE_PATH = "";
public static String COMMON_FILE_PATH = "register/image2/";
}

@ -39,7 +39,9 @@ public class BaseController {
public String getCustomerId() {
AuthAdmin authAdmin = getUser();
return authAdmin.getCustomerId() + "";
if (authAdmin != null)
return authAdmin.getCustomerId() + "";
return "110";
}
public boolean isHosUser() {

@ -5,12 +5,15 @@ import com.github.pagehelper.PageInfo;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.ConstantStatus;
import com.glxp.api.entity.auth.InvSpace;
import com.glxp.api.entity.auth.InvWarehouseEntity;
import com.glxp.api.req.auth.FilterInvSpaceRequest;
import com.glxp.api.req.system.DeleteRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.auth.InvSpaceResponse;
import com.glxp.api.service.auth.InvSpaceService;
import com.glxp.api.service.auth.InvWarehouseService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping;
@ -30,9 +33,21 @@ public class InvSpaceController {
@Resource
private InvSpaceService invSpaceService;
@Resource
private InvWarehouseService invWarehouseService;
@GetMapping("/spms/inv/space/filter")
public BaseResponse filterList(FilterInvSpaceRequest filterInvSpaceRequest) {
if (StrUtil.isNotEmpty(filterInvSpaceRequest.getFilterType())) {
if (filterInvSpaceRequest.getFilterType().equals("preIn")) {
InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByOne(ConstantStatus.ACTION_TYPE_PREIN);
filterInvSpaceRequest.setInvWarehouseCode(invWarehouseEntity.getCode());
} else if (filterInvSpaceRequest.getFilterType().equals("pre")) {
InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByOne(ConstantStatus.ACTION_TYPE_ADVANCE);
filterInvSpaceRequest.setInvWarehouseCode(invWarehouseEntity.getCode());
}
}
List<InvSpaceResponse> list = invSpaceService.filterList(filterInvSpaceRequest);
PageInfo<InvSpaceResponse> pageInfo = new PageInfo<>(list);
PageSimpleResponse<InvSpaceResponse> pageSimpleResponse = new PageSimpleResponse<>();

@ -84,6 +84,13 @@ public class SysRoleController extends BaseController {
*/
@PutMapping
public BaseResponse edit(@Validated @RequestBody SysRole role) {
//把角色改成禁用的时候 如果存在关联 不能禁用
if("1".equals(role.getStatus())){
List<SysUserRole> sysUserRoles = roleService.selectUserRoleList(role.getRoleId());
if( !sysUserRoles.isEmpty()){
return ResultVOUtils.error(500, "角色已关联用户,不能禁用!");
}
}
roleService.checkRoleAllowed(role);
roleService.checkRoleDataScope(role.getRoleId());
if (Constant.NOT_UNIQUE.equals(roleService.checkRoleNameUnique(role))) {

@ -409,7 +409,7 @@ public class BasicBussinessTypeController extends BaseController {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
bussinessTypeFilterRequest.setEnable(true);
bussinessTypeFilterRequest.setMainAction(ConstantType.TYPE_PUT);
//bussinessTypeFilterRequest.setMainAction(ConstantType.TYPE_PUT);
List<BasicBussinessTypeResponse> bussinessTypeEntities;
bussinessTypeEntities = basicBussinessTypeService.filterList(bussinessTypeFilterRequest);
PageSimpleResponse<BasicBussinessTypeResponse> pageSimpleResponse = new PageSimpleResponse<>();

@ -87,7 +87,7 @@ public class BasicGenExcelService {
List<Long> ids = basicCorpsExportRequest.getIds();
for (Long id : ids) {
BasicUnitMaintainFilterRequest filterRequest = new BasicUnitMaintainFilterRequest();
filterRequest.setId(id);
filterRequest.setId(id.longValue());
List<List<String>> genDatas = genExcelData(filterRequest);
if (genDatas != null && genDatas.size() > 0) {
excelData.addAll(genDatas);

@ -67,7 +67,7 @@ public class BasicGenJsonService {
List<Long> ids = basicCorpsExportRequest.getIds();
ids.forEach(id -> {
BasicUnitMaintainFilterRequest request = new BasicUnitMaintainFilterRequest();
request.setId(id);
request.setId(id.longValue());
List<BasicCorpEntity> basicUnitMaintainEntities = basicUnitMaintainService.filterList(request);
unitMaintainEntities.addAll(basicUnitMaintainEntities);
getThrCorpList(exportData, basicUnitMaintainEntities);
@ -96,7 +96,7 @@ public class BasicGenJsonService {
List<Long> ids = corpsExportRequest.getIds();
ids.forEach(id -> {
BasicUnitMaintainFilterRequest request = new BasicUnitMaintainFilterRequest();
request.setId(id);
request.setId(id.longValue());
List<BasicCorpEntity> basicUnitMaintainEntities = basicUnitMaintainService.filterList(request);
unitMaintainEntities.addAll(basicUnitMaintainEntities);
getThrCorpList(exportData, basicUnitMaintainEntities);

@ -13,6 +13,7 @@ import com.glxp.api.entity.inout.IoOrderEntity;
import com.glxp.api.entity.purchase.SupCertEntity;
import com.glxp.api.entity.purchase.SupManufacturerEntity;
import com.glxp.api.entity.purchase.SupProductEntity;
import com.glxp.api.entity.system.SysPdfTemplateRelevanceCodeEntity;
import com.glxp.api.entity.system.SystemPDFModuleEntity;
import com.glxp.api.entity.system.SystemPDFTemplateEntity;
import com.glxp.api.entity.system.SystemPDFTemplateRelevanceEntity;
@ -30,6 +31,7 @@ import com.glxp.api.service.inout.IoCodeService;
import com.glxp.api.service.inout.IoOrderDetailBizService;
import com.glxp.api.service.inout.IoOrderService;
import com.glxp.api.service.system.SystemPDFModuleService;
import com.glxp.api.service.system.SystemPDFTemplateRelevanceCodeService;
import com.glxp.api.service.system.SystemPDFTemplateRelevanceService;
import com.glxp.api.service.system.SystemPDFTemplateService;
import com.glxp.api.util.JasperUtils;
@ -71,6 +73,8 @@ public class BasicOrderPrintController {
IoCodeService ioCodeService;
@Value("${file_path}")
private String filePath;
@Resource
SystemPDFTemplateRelevanceCodeService systemPDFTemplateRelevanceCodeService;
//校验模板是否正确
@AuthRuleAnnotation("")
@ -78,9 +82,10 @@ public class BasicOrderPrintController {
public BaseResponse inspectionStockOrderPDFFromTemplateFile(@RequestBody FilterOrderPrintRequest filterOrderPrintRequest) {
SystemPDFTemplateRelevanceEntity systemPDFTemplateRelevanceEntityt = systemPDFTemplateRelevanceService.selectModuleldAndAction(filterOrderPrintRequest.getModuleId(), filterOrderPrintRequest.getAction());
if (systemPDFTemplateRelevanceEntityt != null) {
SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(systemPDFTemplateRelevanceEntityt.getTemplateId() + "");
String name=getStatusName(filterOrderPrintRequest.getStatus());
SysPdfTemplateRelevanceCodeEntity sysPdfTemplateRelevanceCodeEntity = systemPDFTemplateRelevanceCodeService.selectNameAndAction(name, filterOrderPrintRequest.getAction());
if (sysPdfTemplateRelevanceCodeEntity != null) {
SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(sysPdfTemplateRelevanceCodeEntity.getTemplateId() + "");
if (systemPDFTemplateEntity == null) {
return ResultVOUtils.error(999, "所属模板错误!");
} else {
@ -97,7 +102,8 @@ public class BasicOrderPrintController {
@PostMapping("/udiwms/pdf/template/order/file")
public void printSupCertProduction(@RequestBody FilterOrderPrintRequest filterOrderPrintRequest, HttpServletRequest request, HttpServletResponse response) throws Exception {
SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(filterOrderPrintRequest.getTemplateId());
SystemPDFTemplateRelevanceEntity systemPDFTemplateRelevanceEntityt = systemPDFTemplateRelevanceService.selectModuleldAndAction(filterOrderPrintRequest.getModuleId(), filterOrderPrintRequest.getAction());
String name=getStatusName(filterOrderPrintRequest.getStatus());
SysPdfTemplateRelevanceCodeEntity sysPdfTemplateRelevanceCodeEntity = systemPDFTemplateRelevanceCodeService.selectNameAndAction(name, filterOrderPrintRequest.getAction());
//打印单号标签
Map<String, Object> data = new HashMap<>(1);
List<Object> list = new ArrayList<>();
@ -125,8 +131,8 @@ public class BasicOrderPrintController {
bizData.put("locInv", ioOrderResponse.getInvName() == null ? ' ' : ioOrderResponse.getInvName());
bizData.put("billNo", ioOrderResponse.getBillNo() == null ? ' ' : ioOrderResponse.getBillNo());
bizData.put("billdate", formatter.format(ioOrderResponse.getCreateTime()));
bizData.put("remark1", systemPDFTemplateRelevanceEntityt.getRemark1() == null ? ' ' : systemPDFTemplateRelevanceEntityt.getRemark1());
bizData.put("remark2", systemPDFTemplateRelevanceEntityt.getRemark2() == null ? ' ' : systemPDFTemplateRelevanceEntityt.getRemark2());
bizData.put("remark1", sysPdfTemplateRelevanceCodeEntity.getRemark1() == null ? ' ' : sysPdfTemplateRelevanceCodeEntity.getRemark1());
bizData.put("remark2", sysPdfTemplateRelevanceCodeEntity.getRemark2() == null ? ' ' : sysPdfTemplateRelevanceCodeEntity.getRemark2());
bizData.put("productName", udiProductEntity.getCpms() == null ? ' ' : udiProductEntity.getCpms());
bizData.put("spmc", obj.getCoName() == null ? ' ' : obj.getCoName());
bizData.put("spec", obj.getSpec() == null ? ' ' : obj.getSpec());
@ -174,8 +180,8 @@ public class BasicOrderPrintController {
bizData.put("locInv", ioOrderResponse.getInvName() == null ? ' ' : ioOrderResponse.getInvName());
bizData.put("billNo", ioOrderResponse.getBillNo() == null ? ' ' : ioOrderResponse.getBillNo());
bizData.put("billdate", formatter.format(ioOrderResponse.getCreateTime()));
bizData.put("remark1", systemPDFTemplateRelevanceEntityt.getRemark1() == null ? ' ' : systemPDFTemplateRelevanceEntityt.getRemark1());
bizData.put("remark2", systemPDFTemplateRelevanceEntityt.getRemark2() == null ? ' ' : systemPDFTemplateRelevanceEntityt.getRemark2());
bizData.put("remark1", sysPdfTemplateRelevanceCodeEntity.getRemark1() == null ? ' ' : sysPdfTemplateRelevanceCodeEntity.getRemark1());
bizData.put("remark2", sysPdfTemplateRelevanceCodeEntity.getRemark2() == null ? ' ' : sysPdfTemplateRelevanceCodeEntity.getRemark2());
bizData.put("productName", udiProductEntity.getCpms() == null ? ' ' : udiProductEntity.getCpms());
bizData.put("spmc", ioOrderDetailBizEntity.getCoName() == null ? ' ' : ioOrderDetailBizEntity.getCoName());
bizData.put("spec", ioOrderDetailBizEntity.getSpec() == null ? ' ' : ioOrderDetailBizEntity.getSpec());
@ -198,7 +204,21 @@ public class BasicOrderPrintController {
data.put("data", list);
String param = JSON.toJSONString(data);
JasperUtils.jasperReport(request, response, param, filePath + "/pdf/template/"+systemPDFTemplateEntity.getPath(), "pdf");
JasperUtils.jasperReport(request, response, param, systemPDFTemplateEntity.getPath(), "pdf");
}
public String getStatusName(Integer type){
String name="";
if(type==3){
name="ScanCodeVerification";
}else if(type==5){
name="ScanCodeCheck";
}else if(type==10){
name="ScanCode";
}else if(type==7){
name="ScanCodeAlready";
}
return name;
}
}

@ -26,6 +26,7 @@ import com.glxp.api.entity.inout.*;
import com.glxp.api.entity.inv.InvPreInProductDetailEntity;
import com.glxp.api.entity.inv.InvPreProductDetailEntity;
import com.glxp.api.entity.inv.InvPreinDetailEntity;
import com.glxp.api.entity.inv.InvProductDetailEntity;
import com.glxp.api.entity.system.SystemParamConfigEntity;
import com.glxp.api.req.basic.CompanyProductRelevanceRequest;
import com.glxp.api.req.inout.AddEnterCodeRequest;
@ -37,6 +38,7 @@ import com.glxp.api.res.basic.UdiRelevanceResponse;
import com.glxp.api.res.basic.UdiRlSupResponse;
import com.glxp.api.res.inout.AddCodeResult;
import com.glxp.api.res.inout.IoCodeTempResponse;
import com.glxp.api.res.inv.InvPlaceDetailResponse;
import com.glxp.api.service.auth.InvWarehouseService;
import com.glxp.api.service.basic.*;
import com.glxp.api.service.inout.*;
@ -516,104 +518,12 @@ public class IoCodeTempController extends BaseController {
}
}
}
} else {
return ResultVOUtils.error(500, "未选择预验收入库单,请先选择预验收入库单!");
}
} else if (bussinessTypeEntity.getBackPreinType() == 2) { //按货位出库
if (StrUtil.isEmpty(addOrderRequest.getCheckPreInSpaceCode()))
return ResultVOUtils.error(500, "" +
"请选择预验收货位!");
int preInCount = invPreinProductDetailService.findCountBySpaceCode(addOrderRequest.getCheckPreInSpaceCode(), code);
InvPreInProductDetailEntity invPreinDetailEntity = invPreinProductDetailService.findUseOneByCode(code);
if (preInCount <= 0) {
return ResultVOUtils.error(500, "预验收库存数量不足!");
} else {
if (StrUtil.isNotEmpty(invPreinDetailEntity.getBatchNo()) && StrUtil.isNotEmpty(udiEntity.getBatchNo())
&& !invPreinDetailEntity.getBatchNo().equals(udiEntity.getBatchNo())) {
return ResultVOUtils.error(500, "当前批次号与预验收录入批次号不匹配!");
}
if (StrUtil.isNotEmpty(orderId)) {//非首次添加
if (StrUtil.isEmpty(udiEntity.getSerialNo())) {//该单据已有该产品
//无序列号,则可能存在多个预验收入库单
IoCodeTempEntity codeTempEntity = codeTempService.findByUnique(orderId, code);
if (codeTempEntity != null) {
if (preInCount < (codeTempEntity.getMyCount() + 1)) {
return ResultVOUtils.error(500, "超出预验收库存数量");
}
}
} else {
if (preInCount < 1) {
return ResultVOUtils.error(500, "预验收库存数量不足");
}
}
}
}
}
/**
* else { //按库存出库
* int preInCount = invPreinProductDetailService.findCountByCode(code);
* InvPreInProductDetailEntity invPreinDetailEntity = invPreinProductDetailService.findUseOneByCode(code);
* if (preInCount <= 0) {
* return ResultVOUtils.error(500, "预验收库存数量不足!");
* } else {
* if (StrUtil.isNotEmpty(invPreinDetailEntity.getBatchNo()) && StrUtil.isNotEmpty(udiEntity.getBatchNo())
* && !invPreinDetailEntity.getBatchNo().equals(udiEntity.getBatchNo())) {
* return ResultVOUtils.error(500, "当前批次号与预验收录入批次号不匹配!");
* }
* if (StrUtil.isNotEmpty(orderId)) {//非首次添加
* if (StrUtil.isEmpty(udiEntity.getSerialNo())) {//该单据已有该产品
* //无序列号,则可能存在多个预验收入库单
* IoCodeTempEntity codeTempEntity = codeTempService.findByUnique(orderId, code);
* if (codeTempEntity != null) {
* if (preInCount < (codeTempEntity.getMyCount() + 1)) {
* return ResultVOUtils.error(500, "超出预验收库存数量");
* }
* }
* } else {
* if (preInCount < 1) {
* return ResultVOUtils.error(500, "预验收库存数量不足");
* }
* }
* }
* }
* }
*/
}
// 是否检验寄售库存
if (bussinessTypeEntity.isAdvancePreIn()) {
int preInCount = invPreProductDetailService.findCountByCode(code);
InvPreProductDetailEntity invPreinDetailEntity = invPreProductDetailService.findUseOneByCode(code);
if (preInCount <= 0) {
return ResultVOUtils.error(500, "寄售库存数量不足!");
} else {
if (StrUtil.isNotEmpty(invPreinDetailEntity.getBatchNo()) && StrUtil.isNotEmpty(udiEntity.getBatchNo())
&& !invPreinDetailEntity.getBatchNo().equals(udiEntity.getBatchNo())) {
return ResultVOUtils.error(500, "当前批次号与预验收录入批次号不匹配!");
}
if (StrUtil.isNotEmpty(orderId)) {//非首次添加
if (StrUtil.isEmpty(udiEntity.getSerialNo())) {//该单据已有该产品
//无序列号,则可能存在多个预验收入库单
IoCodeTempEntity codeTempEntity = codeTempService.findByUnique(orderId, code);
if (codeTempEntity != null) {
if (preInCount < (codeTempEntity.getMyCount() + 1)) {
return ResultVOUtils.error(500, "超出寄售存数量");
}
}
} else {
if (preInCount < 1) {
return ResultVOUtils.error(500, "寄售库存数量不足");
}
}
}
}
}
if (addOrderRequest.getFromCorp() == null) {
BasicCorpEntity basicCorpEntity = basicUnitMaintainService.selectByName(addOrderRequest.getFromCorp());
if (basicCorpEntity == null && bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_INPUT && bussinessTypeEntity.isGenUnit()) {
@ -655,7 +565,14 @@ public class IoCodeTempController extends BaseController {
exitLocalEntity.setCount(exitLocalEntity.getMyCount() + 1);
exitLocalEntity.setReCount(exitLocalEntity.getMyCount() * udiCalCountUtil.getActCount(udiRelevanceResponses.get(0)));
BaseResponse invRes = checkInv(bussinessTypeEntity, exitLocalEntity);
BaseResponse invRes = null;
if (bussinessTypeEntity.isScanPreIn()) { //校验预验收库存
invRes = checkPreInInv(bussinessTypeEntity, exitLocalEntity);
} else if (bussinessTypeEntity.isAdvancePreIn()) { //校验寄售库存
invRes = checkPreInv(bussinessTypeEntity, exitLocalEntity);
} else {
invRes = checkInv(bussinessTypeEntity, exitLocalEntity);
}
if (invRes != null) {
return invRes;
}
@ -699,6 +616,9 @@ public class IoCodeTempController extends BaseController {
codeEnttity.setSerialNo(udiEntity.getSerialNo());
codeEnttity.setDeptCode(invWarehouseEntity.getParentId());
codeEnttity.setInvCode(addOrderRequest.getInvCode());
codeEnttity.setWarehouseCode(addOrderRequest.getCurSpaceCode());
codeEnttity.setPreSpaceCode(addOrderRequest.getPreCurSpaceCode());
codeEnttity.setPreInSpaceCode(addOrderRequest.getCheckPreInSpaceCode());
codeEnttity.setCount(1);
String unitFk = null;
if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_OUT) {
@ -799,11 +719,27 @@ public class IoCodeTempController extends BaseController {
// if (DateUtil.)
// }
BaseResponse invRes = checkInv(bussinessTypeEntity, codeEnttity);
if (invRes != null) {
deleteEmptyBillNo(orderEntity);
return invRes;
if (bussinessTypeEntity.isScanPreIn()) { //校验预验收库存
BaseResponse invRes = checkPreInInv(bussinessTypeEntity, codeEnttity);
if (invRes != null) {
deleteEmptyBillNo(orderEntity);
return invRes;
}
} else if (bussinessTypeEntity.isAdvancePreIn()) { //校验寄售库存
BaseResponse invRes = checkPreInv(bussinessTypeEntity, codeEnttity);
if (invRes != null) {
deleteEmptyBillNo(orderEntity);
return invRes;
}
} else {
BaseResponse invRes = checkInv(bussinessTypeEntity, codeEnttity);
if (invRes != null) {
deleteEmptyBillNo(orderEntity);
return invRes;
}
}
genDetaiEntity = codeEnttity;
if (baseResponse == null) {
baseResponse = checkSupId(bussinessTypeEntity, codeEnttity, unitFk);
@ -841,6 +777,119 @@ public class IoCodeTempController extends BaseController {
return ResultVOUtils.success(addCodeResult);
}
// 校验寄售库存
public BaseResponse checkPreInv(BasicBussinessTypeEntity bussinessTypeEntity, IoCodeTempEntity codeTempEntity) {
InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByOne(ConstantStatus.ACTION_TYPE_ADVANCE);
int count = 0;
if (bussinessTypeEntity.getSpaceOut() == ConstantStatus.SPACE_OUT_NULL) {
count = invPreProductDetailService.vailStockCount(codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getSupId(), null, invWarehouseEntity.getCode(), null);
} else if (bussinessTypeEntity.getSpaceOut() == ConstantStatus.SPACE_OUT_SET) {
count = invPreProductDetailService.vailStockCount(codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getSupId(), null, invWarehouseEntity.getCode(), codeTempEntity.getPreSpaceCode());
} else if (bussinessTypeEntity.getSpaceOut() == ConstantStatus.SPACE_OUT_CODE) {
//按指定货位出库
if (StrUtil.isEmpty(codeTempEntity.getPreSpaceCode())) {
List<InvPlaceDetailResponse> invProductDetailEntities = invPreProductDetailService.findByGroupCode(invWarehouseEntity.getCode(), codeTempEntity.getCode());
if (CollUtil.isNotEmpty(invProductDetailEntities) && invProductDetailEntities.size() > 1) {
BaseResponse baseResponse = ResultVOUtils.error(511, "存在多个货位,请指定当前货位!");
baseResponse.setData(invProductDetailEntities);
return baseResponse;
} else if (invProductDetailEntities.size() == 1) {
InvPlaceDetailResponse invPlaceDetailResponse = invProductDetailEntities.get(0);
count = invPlaceDetailResponse.getReCount();
codeTempEntity.setPreSpaceCode(invPlaceDetailResponse.getInvSpaceCode());
} else {
return ResultVOUtils.error(500, "添加失败,该产品未上架货位!");
}
} else {
count = invPreProductDetailService.vailStockCount(codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getSupId(), null, invWarehouseEntity.getCode(), codeTempEntity.getPreSpaceCode());
}
}
InvPreProductDetailEntity invPreinDetailEntity = invPreProductDetailService.findUseOneByCode(codeTempEntity.getCode());
if (count <= 0) {
return ResultVOUtils.error(500, "寄售库存数量不足!");
} else {
if (StrUtil.isNotEmpty(invPreinDetailEntity.getBatchNo()) && StrUtil.isNotEmpty(codeTempEntity.getBatchNo())
&& !invPreinDetailEntity.getBatchNo().equals(codeTempEntity.getBatchNo())) {
return ResultVOUtils.error(500, "当前批次号与预验收录入批次号不匹配!");
}
if (StrUtil.isNotEmpty(codeTempEntity.getOrderId())) {//非首次添加
if (StrUtil.isEmpty(codeTempEntity.getSerialNo())) {//该单据已有该产品
//无序列号,则可能存在多个预验收入库单
IoCodeTempEntity tempEntity = codeTempService.findByUnique(codeTempEntity.getOrderId(), codeTempEntity.getCode());
if (tempEntity != null) {
if (count < (tempEntity.getMyCount() + 1)) {
return ResultVOUtils.error(500, "超出寄售库存数量");
}
}
} else {
if (count < 1) {
return ResultVOUtils.error(500, "寄售库存数量不足");
}
}
}
}
return null;
}
// 校验预验收库存
public BaseResponse checkPreInInv(BasicBussinessTypeEntity bussinessTypeEntity, IoCodeTempEntity codeTempEntity) {
InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByOne(ConstantStatus.ACTION_TYPE_PREIN);
int count = 0;
if (bussinessTypeEntity.getSpaceOut() == ConstantStatus.SPACE_OUT_NULL) {
count = invPreinProductDetailService.vailStockCount(codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getSupId(), null, invWarehouseEntity.getCode(), null);
} else if (bussinessTypeEntity.getSpaceOut() == ConstantStatus.SPACE_OUT_SET) {
count = invPreinProductDetailService.vailStockCount(codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getSupId(), null, invWarehouseEntity.getCode(), codeTempEntity.getPreInSpaceCode());
} else if (bussinessTypeEntity.getSpaceOut() == ConstantStatus.SPACE_OUT_CODE) {
//按指定货位出库
if (StrUtil.isEmpty(codeTempEntity.getPreSpaceCode())) {
List<InvPlaceDetailResponse> invProductDetailEntities = invPreinProductDetailService.findByGroupCode(invWarehouseEntity.getCode(), codeTempEntity.getCode());
if (CollUtil.isNotEmpty(invProductDetailEntities) && invProductDetailEntities.size() > 1) {
BaseResponse baseResponse = ResultVOUtils.error(511, "存在多个货位,请指定当前货位!");
baseResponse.setData(invProductDetailEntities);
return baseResponse;
} else if (invProductDetailEntities.size() == 1) {
InvPlaceDetailResponse invPlaceDetailResponse = invProductDetailEntities.get(0);
count = invPlaceDetailResponse.getReCount();
codeTempEntity.setPreSpaceCode(invPlaceDetailResponse.getInvSpaceCode());
} else {
return ResultVOUtils.error(500, "添加失败,该产品未上架货位!");
}
} else {
count = invPreinProductDetailService.vailStockCount(codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getSupId(), null, codeTempEntity.getInvCode(), codeTempEntity.getPreInSpaceCode());
}
}
InvPreInProductDetailEntity invPreinDetailEntity = invPreinProductDetailService.findUseOneByCode(codeTempEntity.getCode());
if (count <= 0) {
return ResultVOUtils.error(500, "预验收库存数量不足!");
} else {
if (StrUtil.isNotEmpty(invPreinDetailEntity.getBatchNo()) && StrUtil.isNotEmpty(codeTempEntity.getBatchNo())
&& !invPreinDetailEntity.getBatchNo().equals(codeTempEntity.getBatchNo())) {
return ResultVOUtils.error(500, "当前批次号与预验收录入批次号不匹配!");
}
if (StrUtil.isNotEmpty(codeTempEntity.getOrderId())) {//非首次添加
if (StrUtil.isEmpty(codeTempEntity.getSerialNo())) {//该单据已有该产品
//无序列号,则可能存在多个预验收入库单
IoCodeTempEntity tempEntity = codeTempService.findByUnique(codeTempEntity.getOrderId(), codeTempEntity.getCode());
if (tempEntity != null) {
if (count < (tempEntity.getMyCount() + 1)) {
return ResultVOUtils.error(500, "超出预验收存数量");
}
}
} else {
if (count < 1) {
return ResultVOUtils.error(500, "寄售预验收数量不足");
}
}
}
}
return null;
}
//校验条码完整性
public BaseResponse checkOriginCode(UdiEntity udiEntity) {
//校验条码的完整性
@ -979,24 +1028,38 @@ public class IoCodeTempController extends BaseController {
public BaseResponse checkInv(BasicBussinessTypeEntity bussinessTypeEntity, IoCodeTempEntity codeTempEntity) {
if (bussinessTypeEntity.isVailInv() && bussinessTypeEntity.getMainAction().equals(ConstantType.TYPE_OUT)) {
if (bussinessTypeEntity.getActionType() == ConstantStatus.ACTION_TYPE_ADVANCE) {
// int count = invPreProductDetailService.vailStockCount(code); //todo 寄售
// if (count < 0) {
// return ResultVOUtils.error(500, "当前库存不足不允许0库存出库");
// }
} else {
int count = invProductDetailService.vailStockCount(codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getSupId(), codeTempEntity.getDeptCode(), codeTempEntity.getInvCode(), null);
if (count <= 0) {
return ResultVOUtils.error(500, "当前库存不足不允许0库存出库");
} else {
//查询此单据已扫描的条码数量
if (codeTempEntity.getMyReCount() > count) {
return ResultVOUtils.error(500, "当前库存不足不允许0库存出库");
int count = 0;
if (bussinessTypeEntity.getSpaceOut() == ConstantStatus.SPACE_OUT_NULL) {
count = invProductDetailService.vailStockCount(codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getSupId(), codeTempEntity.getDeptCode(), codeTempEntity.getInvCode(), null);
} else if (bussinessTypeEntity.getSpaceOut() == ConstantStatus.SPACE_OUT_SET) {
count = invProductDetailService.vailStockCount(codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getSupId(), codeTempEntity.getDeptCode(), codeTempEntity.getInvCode(), codeTempEntity.getWarehouseCode());
} else if (bussinessTypeEntity.getSpaceOut() == ConstantStatus.SPACE_OUT_CODE) {
//按指定货位出库
if (StrUtil.isEmpty(codeTempEntity.getWarehouseCode())) {
List<InvPlaceDetailResponse> invProductDetailEntities = invProductDetailService.findByGroupCode(codeTempEntity.getInvCode(), codeTempEntity.getCode());
if (CollUtil.isNotEmpty(invProductDetailEntities) && invProductDetailEntities.size() > 1) {
BaseResponse baseResponse = ResultVOUtils.error(511, "存在多个货位,请指定当前货位!");
baseResponse.setData(invProductDetailEntities);
return baseResponse;
} else if (invProductDetailEntities.size() == 1) {
InvPlaceDetailResponse invPlaceDetailResponse = invProductDetailEntities.get(0);
count = invPlaceDetailResponse.getReCount();
} else {
return ResultVOUtils.error(500, "添加失败,该产品未上架货位!");
}
} else {
count = invProductDetailService.vailStockCount(codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getSupId(), codeTempEntity.getDeptCode(), codeTempEntity.getInvCode(), codeTempEntity.getWarehouseCode());
}
}
if (count <= 0) {
return ResultVOUtils.error(500, "当前库存不足");
} else {
//查询此单据已扫描的条码数量
if (codeTempEntity.getMyReCount() > count) {
return ResultVOUtils.error(500, "当前库存不足");
}
}
}
return null;
}
@ -1156,10 +1219,25 @@ public class IoCodeTempController extends BaseController {
}
}
if (codeTempEntity.getMyCount() <= 0) {
return ResultVOUtils.error(500, "数量不能小于0");
return ResultVOUtils.error(500, "数量需要大于0");
}
IoCodeTempEntity tempEntity = codeTempService.selectById(codeTempEntity.getId());
codeTempEntity.setReCount(codeTempEntity.getMyCount() * udiCalCountUtil.getActCount(codeTempEntity.getNameCode()));
int count = tempEntity.getCount() - codeTempEntity.getCount();
//更新扫码详情
IoOrderDetailCodeEntity orderDetailCodeEntity = ioOrderDetailCodeService.findByUnique(codeTempEntity.getOrderId(), codeTempEntity.getRelId(), codeTempEntity.getBatchNo());
if (orderDetailCodeEntity != null) {
//扫码数量-1
int orderCount = orderDetailCodeEntity.getCount();
orderDetailCodeEntity.setCount(orderCount - count);
orderDetailCodeEntity.setReCount(orderDetailCodeEntity.getCount() * udiCalCountUtil.getActCount(codeTempEntity.getNameCode()));
ioOrderDetailCodeService.update(orderDetailCodeEntity);
}
int b = codeTempService.updateById(codeTempEntity);
if (b > 0)
return ResultVOUtils.success("修改成功");
else return ResultVOUtils.error(500, "修改失败!");

@ -18,6 +18,7 @@ import com.glxp.api.entity.auth.InvWarehouseEntity;
import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.entity.basic.EntrustReceEntity;
import com.glxp.api.entity.inout.*;
import com.glxp.api.http.sync.SpGetHttpClient;
import com.glxp.api.req.auth.FilterInvBusUserRequest;
import com.glxp.api.req.basic.BasicEntrustRecRequest;
import com.glxp.api.req.inout.*;
@ -34,6 +35,7 @@ import com.glxp.api.service.basic.IBasicBussinessTypeService;
import com.glxp.api.service.inout.*;
import com.glxp.api.util.CustomUtil;
import com.glxp.api.util.GennerOrderUtils;
import com.glxp.api.util.IntUtil;
import com.glxp.api.util.OrderNoTypeBean;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
@ -138,15 +140,15 @@ public class IoOrderController extends BaseController {
}
List<IoOrderResponse> list = orderService.getfilterList(filterOrderRequest);
for (IoOrderResponse ioOrderResponse : list) {
if(ioOrderResponse.getCheckStatus() == null){
ioOrderResponse.setCheckStatus(0+"");
if (ioOrderResponse.getCheckStatus() == null) {
ioOrderResponse.setCheckStatus(0 + "");
}
FilterOrderDetailCodeRequest filterOrderDetailCodeRequest = new FilterOrderDetailCodeRequest();
filterOrderDetailCodeRequest.setOrderIdFk(ioOrderResponse.getBillNo());
List<IoOrderDetailCodeResponse> ioOrderDetailCodeResponses = orderDetailBizService.getfilterList(filterOrderDetailCodeRequest);
BigDecimal amount=new BigDecimal(0.00);
BigDecimal amount = new BigDecimal(0.00);
for (IoOrderDetailCodeResponse ioOrderDetailCodeRespons : ioOrderDetailCodeResponses) {
if(ioOrderDetailCodeRespons.getCount() != 0 && ioOrderDetailCodeRespons.getPrice()!=null ) {
if (ioOrderDetailCodeRespons.getCount() != 0 && ioOrderDetailCodeRespons.getPrice() != null) {
amount = amount.add(new BigDecimal(ioOrderDetailCodeRespons.getCount()).multiply(ioOrderDetailCodeRespons.getPrice()));
}
}
@ -161,8 +163,6 @@ public class IoOrderController extends BaseController {
}
@AuthRuleAnnotation("")
@GetMapping("/udiwms/inout/preInorder/filter")
public BaseResponse filterPreInorder(FilterOrderRequest filterOrderRequest) {
@ -646,10 +646,22 @@ public class IoOrderController extends BaseController {
return ResultVOUtils.success();
}
@Resource
SpGetHttpClient spGetHttpClient;
@PostMapping("/udiwms/inout/order/updateOrder")
@Log(title = "单据管理", businessType = BusinessType.UPDATE)
public BaseResponse updateOrder(@RequestBody IoOrderEntity ioOrderEntity) {
ioOrderEntity.setUpdateTime(new Date());
orderService.updateByBillNo(ioOrderEntity);
if (IntUtil.value(ioOrderEntity.getCheckStatus()) != 0) {
IoOrderEntity orderEntity = new IoOrderEntity();
orderEntity.setBillNo(ioOrderEntity.getBillNo());
orderEntity.setCheckStatus(1);
spGetHttpClient.updateCheckStatus(orderEntity, getUserId() + "");
}
return ResultVOUtils.success();
}

@ -427,6 +427,9 @@ public class IoOrderDetailBizController extends BaseController {
purOrderEntity = purOrderService.selectById(purOrderEntity.getId());
List<PurOrderDetailEntity> purOrderDetailEntities = purOrderDetailService.findByOrderId(purOrderEntity.getId() + "");
BasicBusTypeChangeEntity basicBusTypeChangeEntity = basicBusTypeChangeService.selectByOriginAction(purOrderEntity.getBillType());
if (basicBusTypeChangeEntity == null) {
return ResultVOUtils.error(500, "采购订单未配置转换单据类型!");
}
BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(basicBusTypeChangeEntity.getTargetAction());
AuthAdmin authAdmin = getUser();
@ -588,11 +591,30 @@ public class IoOrderDetailBizController extends BaseController {
@PostMapping("/udiwms/inout/biz/updateById")
@Log(title = "发票管理", businessType = BusinessType.UPDATE)
public BaseResponse deleteById(@RequestBody IoOrderInvoiceRequest ioOrderInvoiceRequest) {
IoOrderEntity orderEntity = orderService.findByBillNo(ioOrderInvoiceRequest.getOrderIdFk());
if (orderEntity != null) {
orderEntity.setUpdateTime(new Date());
orderService.update(orderEntity);
}
return ResultVOUtils.success(ioOrderInvoiceService.updateByInvId(ioOrderInvoiceRequest));
}
@PostMapping("/udiwms/inout/bizDetail/updateById")
@Log(title = "发票管理", businessType = BusinessType.UPDATE)
public BaseResponse updateBizById(@RequestBody IoOrderDetailBizEntity ioOrderDetailBizEntity) {
IoOrderEntity orderEntity = orderService.findByBillNo(ioOrderDetailBizEntity.getOrderIdFk());
if (orderEntity != null) {
orderEntity.setUpdateTime(new Date());
orderService.update(orderEntity);
}
ioOrderDetailBizEntity.setCheckFileName(ioOrderDetailBizEntity.getFilePath());
ioOrderDetailBizEntity.setCheckColdFileName(ioOrderDetailBizEntity.getColdFilePath());
boolean b = orderDetailBizService.updateOrderDetailBiz(ioOrderDetailBizEntity);
return ResultVOUtils.success("修改成功!");
}
@PostMapping("/udiwms/inout/biz/insertInvoice")
@Log(title = "发票管理", businessType = BusinessType.INSERT)
@ -648,7 +670,8 @@ public class IoOrderDetailBizController extends BaseController {
String msg = "";
IoOrderInvoiceRequest ioOrderInvoiceEntity = new IoOrderInvoiceRequest();
ioOrderInvoiceEntity.setOrderIdFk(ioOrderDetailCodeRespons.getOrderIdFk());
ioOrderInvoiceEntity.setBizIdFk(ioOrderDetailCodeRespons.getId());
ioOrderInvoiceEntity.setBatchNo(ioOrderDetailCodeRespons.getBatchNo());
ioOrderInvoiceEntity.setBindRlFk(ioOrderDetailCodeRespons.getBindRlFk().toString());
List<IoOrderInvoiceEntity> ioOrderInvoiceEntityList = ioOrderInvoiceService.selectOrderInvoice(ioOrderInvoiceEntity);
for (IoOrderInvoiceEntity obj : ioOrderInvoiceEntityList) {
if (StrUtil.isNotEmpty(obj.getInvoiceEncode())) {

@ -2,30 +2,49 @@ package com.glxp.api.controller.inout;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.github.pagehelper.PageInfo;
import com.glxp.api.annotation.AuthRuleAnnotation;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.ConstantType;
import com.glxp.api.constant.FileConstant;
import com.glxp.api.controller.BaseController;
import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.entity.inout.IoOrderDetailBizEntity;
import com.glxp.api.entity.inout.IoOrderDetailCodeEntity;
import com.glxp.api.entity.inout.IoOrderEntity;
import com.glxp.api.req.inout.FilterCodeRequest;
import com.glxp.api.req.inout.FilterOrderDetailResultRequest;
import com.glxp.api.req.inout.FilterOrderRequest;
import com.glxp.api.entity.system.SysPdfTemplateRelevanceCodeEntity;
import com.glxp.api.entity.system.SysPdfTemplateRelevanceStatemenEntity;
import com.glxp.api.entity.system.SystemPDFTemplateEntity;
import com.glxp.api.req.basic.FilterOrderPrintRequest;
import com.glxp.api.req.inout.*;
import com.glxp.api.req.purchase.purPlanPrintRequest;
import com.glxp.api.res.inout.IoCodeResponse;
import com.glxp.api.res.inout.IoOrderDetailResultResponse;
import com.glxp.api.service.basic.IBasicBussinessTypeService;
import com.glxp.api.service.inout.*;
import com.glxp.api.service.system.SystemPDFModuleService;
import com.glxp.api.service.system.SystemPDFTemplateService;
import com.glxp.api.util.JasperUtils;
import net.sf.jasperreports.engine.JRException;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
*
@ -40,6 +59,12 @@ public class IoOrderDetailResultController extends BaseController {
IBasicBussinessTypeService basicBussinessTypeService;
@Resource
IoCodeService codeService;
@Resource
private SystemPDFTemplateService systemPDFTemplateService;
@Resource
private SystemPDFModuleService systemPDFModuleService;
@Value("${file_path}")
private String filePath;
/**
*
@ -135,5 +160,97 @@ public class IoOrderDetailResultController extends BaseController {
return ResultVOUtils.success(orderDetailBizEntities);
}
//校验模板是否正确
@AuthRuleAnnotation("")
@PostMapping("/udiwms/pdf/template/order/result/file")
public BaseResponse inspectionStockOrderPDFFromTemplateFile(@RequestBody InspectionPDFTemplateRequest inspectionPDFTemplateRequest) {
//查询模板文件是否存在
SysPdfTemplateRelevanceStatemenEntity sysPdfTemplateRelevanceStatemenEntity = systemPDFModuleService.selectByStatemenId(inspectionPDFTemplateRequest.getId());
if (null == sysPdfTemplateRelevanceStatemenEntity) {
return ResultVOUtils.error(ResultEnum.DATA_NOT, "所属模块错误");
}
SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(String.valueOf(sysPdfTemplateRelevanceStatemenEntity.getTemplateId()));
if (null == systemPDFTemplateEntity) {
return ResultVOUtils.error(ResultEnum.DATA_NOT, "模板错误");
}
return ResultVOUtils.success(sysPdfTemplateRelevanceStatemenEntity.getTemplateId());
}
/**
*
*
* @param filterOrderDetailResultRequest
* @return
*/
@AuthRuleAnnotation("")
@PostMapping("/udiwms/inout/resultDetail/filterOrderPrint")
public BaseResponse filterOrderPrint(@RequestBody FilterOrderDetailResultRequest filterOrderDetailResultRequest, HttpServletRequest request, HttpServletResponse response) throws JRException, IOException {
List<IoOrderDetailResultResponse> ioOrderDetailResultResponseList=new ArrayList<>();
SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(filterOrderDetailResultRequest.getTemplateId());
//打印单号标签
Map<String, Object> data = new HashMap<>(1);
List<Object> list = new ArrayList<>();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");//定义新的日期格式
//按选入打印
if(filterOrderDetailResultRequest.getList() != null && filterOrderDetailResultRequest.getList().size()>0){
ioOrderDetailResultResponseList =filterOrderDetailResultRequest.getList();
}else{
//按查询打印
FilterOrderRequest filterOrderRequest = new FilterOrderRequest();
filterOrderRequest.setVueType(filterOrderDetailResultRequest.getActionType());
List<String> actions = orderService.setActions(filterOrderRequest);
if (CollUtil.isEmpty(actions)) {
return ResultVOUtils.success("");
}
filterOrderDetailResultRequest.setActions(actions);
ioOrderDetailResultResponseList = orderDetailResultService.filterOrderList(filterOrderDetailResultRequest);
for (IoOrderDetailResultResponse orderDetailResultResponse : ioOrderDetailResultResponseList) {
if (orderDetailResultResponse.getMainAction().equals(ConstantType.TYPE_OUT)) {
orderDetailResultResponse.setOutCount(orderDetailResultResponse.getReCount());
orderDetailResultResponse.setInCount(0);
} else {
orderDetailResultResponse.setOutCount(0);
orderDetailResultResponse.setInCount(orderDetailResultResponse.getReCount());
}
}
}
int i=1;
for (IoOrderDetailResultResponse ioOrderDetailResultResponse : ioOrderDetailResultResponseList) {
//组装数据
Map<String, Object> ioOrderDetailResultData = new HashMap<>();
ioOrderDetailResultData.put("index", String.valueOf(i));
ioOrderDetailResultData.put("nameCode", ioOrderDetailResultResponse.getNameCode() == null ? ' ' : ioOrderDetailResultResponse.getNameCode());
ioOrderDetailResultData.put("batchNo", ioOrderDetailResultResponse.getBatchNo() == null ? ' ' : ioOrderDetailResultResponse.getBatchNo());
ioOrderDetailResultData.put("productDate", ioOrderDetailResultResponse.getProductDate() == null ? ' ' : ioOrderDetailResultResponse.getProductDate());
ioOrderDetailResultData.put("expireDate", ioOrderDetailResultResponse.getExpireDate() == null ? ' ' : ioOrderDetailResultResponse.getExpireDate());
ioOrderDetailResultData.put("coName", ioOrderDetailResultResponse.getCoName() == null ? ' ' : ioOrderDetailResultResponse.getCoName());
ioOrderDetailResultData.put("certCode", ioOrderDetailResultResponse.getCertCode() == null ? ' ' : ioOrderDetailResultResponse.getCertCode());
ioOrderDetailResultData.put("ylqxzcrbarmc", ioOrderDetailResultResponse.getYlqxzcrbarmc() == null ? ' ' : ioOrderDetailResultResponse.getYlqxzcrbarmc());
ioOrderDetailResultData.put("manufacturer", ioOrderDetailResultResponse.getManufacturer() == null ? ' ' : ioOrderDetailResultResponse.getManufacturer());
ioOrderDetailResultData.put("measname", ioOrderDetailResultResponse.getMeasname() == null ? ' ' : ioOrderDetailResultResponse.getMeasname());
ioOrderDetailResultData.put("spec", ioOrderDetailResultResponse.getSpec() == null ? ' ' : ioOrderDetailResultResponse.getSpec());
ioOrderDetailResultData.put("price", ioOrderDetailResultResponse.getPrice() == null ? ' ' : ioOrderDetailResultResponse.getPrice());
ioOrderDetailResultData.put("count", ioOrderDetailResultResponse.getCount());
ioOrderDetailResultData.put("reCount",ioOrderDetailResultResponse.getReCount());
ioOrderDetailResultData.put("inCount", ioOrderDetailResultResponse.getInCount());
ioOrderDetailResultData.put("acceptCount", ioOrderDetailResultResponse.getAcceptCount());
ioOrderDetailResultData.put("fromCorpName", ioOrderDetailResultResponse.getFromCorpName() == null ? ' ' : ioOrderDetailResultResponse.getFromCorpName());
ioOrderDetailResultData.put("billTypeName", ioOrderDetailResultResponse.getBillTypeName() == null ? ' ' : ioOrderDetailResultResponse.getBillTypeName());
ioOrderDetailResultData.put("mainAction", ioOrderDetailResultResponse.getMainAction() == null ? ' ' : ioOrderDetailResultResponse.getMainAction());
ioOrderDetailResultData.put("auditTime", ioOrderDetailResultResponse.getAuditTime() == null ? ' ' : formatter.format(ioOrderDetailResultResponse.getAuditTime()));
list.add(ioOrderDetailResultData);
i++;
}
String param = JSON.toJSONString(list);
JasperUtils.jasperReport(request, response, param, filePath+"pdf/template/"+systemPDFTemplateEntity.getPath(), "pdf");
return ResultVOUtils.success();
}
}

@ -8,11 +8,15 @@ import com.glxp.api.annotation.Log;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.BusinessType;
import com.glxp.api.dao.inout.IoOrderDetailCodeDao;
import com.glxp.api.dao.inout.IoOrderInvoiceMapper;
import com.glxp.api.entity.inout.IoOrderDetailCodeEntity;
import com.glxp.api.entity.inout.IoOrderInvoiceEntity;
import com.glxp.api.http.sync.SpGetHttpClient;
import com.glxp.api.idc.service.FileService;
import com.glxp.api.req.inout.RefreshInoiceRequest;
import com.glxp.api.res.inout.RefreshInoiceResponse;
import com.glxp.api.service.inout.IoOrderDetailCodeService;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
@ -29,14 +33,21 @@ public class IoOrderInvoiceController {
SpGetHttpClient spGetHttpClient;
@Resource
FileService fileService;
@Resource
IoOrderDetailCodeDao ioOrderDetailCodeDao;
@AuthRuleAnnotation("")
@PostMapping("/udiwms/inout/order/refrshInvoice")
@Log(title = "发票", businessType = BusinessType.INSERT)
public BaseResponse addBizProduct(@RequestBody RefreshInoiceRequest refreshInoiceRequest) {
BaseResponse baseResponse = spGetHttpClient.getIoOrderInvoices(refreshInoiceRequest);
public BaseResponse refrshInvoice(@RequestBody RefreshInoiceRequest refreshInoiceRequest) {
BaseResponse<RefreshInoiceResponse> baseResponse = spGetHttpClient.getIoOrderInvoices(refreshInoiceRequest);
if (baseResponse.getCode() == 20000) {
List<IoOrderInvoiceEntity> orderInvoiceEntities = BeanUtil.toBean(baseResponse.getData(),List.class);
RefreshInoiceResponse refreshInoiceResponse = baseResponse.getData();
List<IoOrderDetailCodeEntity> orderDetailCodeEntities = refreshInoiceResponse.getOrderDetailCodeEntities();
ioOrderDetailCodeDao.insertOrUpdateBatch(orderDetailCodeEntities);
List<IoOrderInvoiceEntity> orderInvoiceEntities = refreshInoiceResponse.getOrderInvoiceEntities();
if (CollUtil.isNotEmpty(orderInvoiceEntities)) {
List<String> syncFiles = new ArrayList<>();
for (IoOrderInvoiceEntity orderInvoiceEntity : orderInvoiceEntities) {

@ -36,10 +36,7 @@ import com.glxp.api.service.basic.IBasicBussinessTypeService;
import com.glxp.api.service.inout.*;
import com.glxp.api.service.sync.HeartService;
import com.glxp.api.service.system.SystemParamConfigService;
import com.glxp.api.util.CustomUtil;
import com.glxp.api.util.GennerOrderUtils;
import com.glxp.api.util.OrderNoTypeBean;
import com.glxp.api.util.RedisUtil;
import com.glxp.api.util.*;
import com.glxp.api.util.udi.UdiCalCountUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.BindingResult;
@ -354,11 +351,11 @@ public class IoOrderReviewController extends BaseController {
for (IoCodeEntity checkOrderCodesBean : codesList) {
if (checkOrderCodesBean.getCode().toUpperCase(Locale.ROOT).equals(code.toUpperCase(Locale.ROOT))) {
if (checkOrderCodesBean.getStatus() == Constant.DB_CHECK_ED
&& checkOrderCodesBean.getMyCount() == checkOrderCodesBean.getScanCount()) {
&& IntUtil.value(checkOrderCodesBean.getReCount()) == checkOrderCodesBean.getScanCount()) {
return Constant.CHECK_REPEAT;
}
int curCount = checkOrderCodesBean.getScanCount() + calCountUtil.getActCount(checkOrderCodesBean.getNameCode());
if (curCount == checkOrderCodesBean.getMyCount()) {
if (curCount == IntUtil.value(checkOrderCodesBean.getReCount())) {
checkOrderCodesBean.setStatus(Constant.DB_CHECK_ED);
}
checkOrderCodesBean.setScanCount(curCount);

@ -1,5 +1,6 @@
package com.glxp.api.controller.inv;
import com.alibaba.fastjson.JSON;
import com.github.pagehelper.PageInfo;
import com.glxp.api.annotation.AuthRuleAnnotation;
import com.glxp.api.annotation.Log;
@ -9,10 +10,10 @@ import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.BusinessType;
import com.glxp.api.entity.inout.IoOrderEntity;
import com.glxp.api.entity.inv.InnerOrderEntity;
import com.glxp.api.entity.inv.InvInnerOrderPrintEntity;
import com.glxp.api.entity.inv.InvInnerOrderPdfTempEntity;
import com.glxp.api.entity.inv.InvInnerOrderPrintEntity;
import com.glxp.api.entity.system.SysPdfTemplateRelevanceLabelEntity;
import com.glxp.api.entity.system.SystemPDFModuleEntity;
import com.glxp.api.entity.system.SysPdfTemplateRelevanceStatemenEntity;
import com.glxp.api.entity.system.SystemPDFTemplateEntity;
import com.glxp.api.req.inout.InspectionPDFTemplateRequest;
import com.glxp.api.req.inv.*;
@ -40,7 +41,10 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.util.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@RestController
public class InvInnerOrderPrintController {
@ -184,34 +188,122 @@ public class InvInnerOrderPrintController {
} else {
Map<String, Object> data = new HashMap<String, Object>();
data.put("data", printEntities);
JasperUtils.jasperReport(request, response, data, filePath + "/pdf/template/"+systemPDFTemplateEntity.getPath(), "pdf");
JasperUtils.jasperReport(request, response, data, filePath + "/pdf/template/" + systemPDFTemplateEntity.getPath(), "pdf");
}
String orderId="";
String orderId = "";
for (InnerOrderPrintResponse InnerOrderPrintResponse : mStockPrintEntities) {
InvInnerOrderPrintEntity innerOrderPrintEntity = new InvInnerOrderPrintEntity();
innerOrderPrintEntity.setStatus(1);
innerOrderPrintEntity.setId(InnerOrderPrintResponse.getId());
invInnerOrderPrintService.updateOrder(innerOrderPrintEntity);
orderId=InnerOrderPrintResponse.getId()+"";
orderId = InnerOrderPrintResponse.getId() + "";
}
//查询订单id
InvInnerOrderPrintEntity innerOrderPrintEntity=invInnerOrderPrintService.selectById(orderId);
InvInnerOrderPrintEntity innerOrderPrintEntity = invInnerOrderPrintService.selectById(orderId);
//更新内部码状态
InnerOrderEntity innerOrderEntity=innerOrderService.findByRecordKey(innerOrderPrintEntity.getOrderIdFk());
if(innerOrderEntity!=null){
InnerOrderEntity innerOrderEntity = innerOrderService.findByRecordKey(innerOrderPrintEntity.getOrderIdFk());
if (innerOrderEntity != null) {
innerOrderEntity.setGenStatus(2);
innerOrderEntity.setId(innerOrderEntity.getId());
innerOrderService.update(innerOrderEntity);
}
IoOrderEntity ioOrderEntity=new IoOrderEntity();
IoOrderEntity ioOrderEntity = new IoOrderEntity();
ioOrderEntity.setInCodeStatus(1);
ioOrderEntity.setBillNo(innerOrderPrintEntity.getOrderIdFk());
ioOrderService.updateByBillNo(ioOrderEntity);
return null;
}
//-----------打印码
@AuthRuleAnnotation("")
@PostMapping("/udiwms/pdf/template/inspection/stock/qrcode/text/statement/file")
public BaseResponse inspectionStockQRCodeTextPDFFromTemplateStatementFile(
@RequestBody InspectionPDFTemplateRequest inspectionPDFTemplateRequest) throws Exception {
//查询模板文件是否存在
SysPdfTemplateRelevanceStatemenEntity sysPdfTemplateRelevanceStatemenEntity = systemPDFModuleService.selectByStatemenId(inspectionPDFTemplateRequest.getLabelId()+"");
if (null == sysPdfTemplateRelevanceStatemenEntity) {
return ResultVOUtils.error(ResultEnum.DATA_NOT, "所属模块错误");
}
SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(String.valueOf(sysPdfTemplateRelevanceStatemenEntity.getTemplateId()));
if (null == systemPDFTemplateEntity) {
return ResultVOUtils.error(ResultEnum.DATA_NOT, "模板错误");
}
return ResultVOUtils.success(sysPdfTemplateRelevanceStatemenEntity.getTemplateId());
}
@AuthRuleAnnotation("")
@PostMapping("/udiwms/pdf/template/stock/qrcode/text/statement/file")
public BaseResponse stockQRCodeTextPDFFromTemplateStatementFile(
@RequestBody InnerOrderQRCodeTextPDFTemplateRequest stockQRCodeTextPDFTemplateRequest,
HttpServletRequest request, HttpServletResponse response) throws Exception {
SysPdfTemplateRelevanceStatemenEntity sysPdfTemplateRelevanceStatemenEntity = systemPDFModuleService.selectByStatemenId(stockQRCodeTextPDFTemplateRequest.getLabelId()+"");
if (sysPdfTemplateRelevanceStatemenEntity == null) return ResultVOUtils.error(500, "未找到单据模板模块设置,请检查");
SystemPDFTemplateEntity systemPDFTemplateEntity =
systemPDFTemplateService.selectById(String.valueOf(sysPdfTemplateRelevanceStatemenEntity.getTemplateId()));
if (systemPDFTemplateEntity == null) return ResultVOUtils.error(ResultEnum.DATA_NOT, "模板错误");
List<InnerOrderPrintResponse> printEntities = new ArrayList<>();
List<InnerOrderPrintResponse> mStockPrintEntities = new ArrayList<>();
FilterinnerOrderprintRequest filterinnerOrderprintRequest = new FilterinnerOrderprintRequest();
if (stockQRCodeTextPDFTemplateRequest.getOrderId() != null) {
filterinnerOrderprintRequest.setSOrderId(stockQRCodeTextPDFTemplateRequest.getOrderId());
} else {
filterinnerOrderprintRequest.setId(stockQRCodeTextPDFTemplateRequest.getQueryId());
}
List<InnerOrderPrintResponse> stockPrintEntities = invInnerOrderPrintService.filterJoinInnerPrint(filterinnerOrderprintRequest);
if (stockPrintEntities != null && stockPrintEntities.size() > 0) {
mStockPrintEntities.addAll(stockPrintEntities);
}
for (InnerOrderPrintResponse InnerOrderPrintResponse : mStockPrintEntities) {
PdfPrintCountEntity pdfPrintCount = getCount(stockQRCodeTextPDFTemplateRequest.getCountList(), InnerOrderPrintResponse);
if (pdfPrintCount != null && pdfPrintCount.getRowCount() > 0) {
for (int i = 0; i < pdfPrintCount.getRowCount(); i++) {
InnerOrderPrintResponse clone = new InnerOrderPrintResponse();
BeanUtils.copyProperties(InnerOrderPrintResponse, clone);
printEntities.add(clone);
}
} else {
printEntities.add(InnerOrderPrintResponse);
}
}
String param = JSON.toJSONString(printEntities);
JasperUtils.jasperReport(request, response, param, filePath + "/pdf/template/" + systemPDFTemplateEntity.getPath(), "pdf");
String orderId = "";
for (InnerOrderPrintResponse InnerOrderPrintResponse : mStockPrintEntities) {
InvInnerOrderPrintEntity innerOrderPrintEntity = new InvInnerOrderPrintEntity();
innerOrderPrintEntity.setStatus(1);
innerOrderPrintEntity.setId(InnerOrderPrintResponse.getId());
invInnerOrderPrintService.updateOrder(innerOrderPrintEntity);
orderId = InnerOrderPrintResponse.getId() + "";
}
//查询订单id
InvInnerOrderPrintEntity innerOrderPrintEntity = invInnerOrderPrintService.selectById(orderId);
//更新内部码状态
InnerOrderEntity innerOrderEntity = innerOrderService.findByRecordKey(innerOrderPrintEntity.getOrderIdFk());
if (innerOrderEntity != null) {
innerOrderEntity.setGenStatus(2);
innerOrderEntity.setId(innerOrderEntity.getId());
innerOrderService.update(innerOrderEntity);
}
IoOrderEntity ioOrderEntity = new IoOrderEntity();
ioOrderEntity.setInCodeStatus(1);
ioOrderEntity.setBillNo(innerOrderPrintEntity.getOrderIdFk());
ioOrderService.updateByBillNo(ioOrderEntity);
@ -219,6 +311,7 @@ public class InvInnerOrderPrintController {
}
public PdfPrintCountEntity getCount(List<PdfPrintCountEntity> countList, InnerOrderPrintResponse InnerOrderPrintResponse) {
for (PdfPrintCountEntity pdfPrintCount : countList) {
if (pdfPrintCount.getQueryId().equals(InnerOrderPrintResponse.getId() + "")) {

@ -16,6 +16,7 @@ import com.glxp.api.res.inv.InvPlaceDetailResponse;
import com.glxp.api.res.inv.InvPlaceOrderDetailResponse;
import com.glxp.api.service.inv.InvPlaceOrderService;
import com.glxp.api.service.inv.InvPlaceService;
import org.apache.commons.collections.ArrayStack;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@ -23,7 +24,9 @@ import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.validation.Valid;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
@ -38,7 +41,6 @@ public class InvPlaceController {
private InvPlaceOrderService invPlaceOrderService;
/**
*
*
@ -58,7 +60,7 @@ public class InvPlaceController {
* @return
*/
@PostMapping("/spms/inv/product/bindInvSpace")
public BaseResponse bindInvSpace(@RequestBody BindInvSpaceRequest bindInvSpaceRequest) {
public BaseResponse bindInvSpace(@RequestBody BindInvSpaceRequest bindInvSpaceRequest) {
if (null == bindInvSpaceRequest) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
}
@ -72,7 +74,7 @@ public class InvPlaceController {
* @return
*/
@PostMapping("/spms/inv/product/bindInvOrderSpace")
public BaseResponse bindInvOrderSpace(@RequestBody BindInvSpaceRequest bindInvSpaceRequest) {
public BaseResponse bindInvOrderSpace(@RequestBody BindInvSpaceRequest bindInvSpaceRequest) {
if (null == bindInvSpaceRequest) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
}
@ -87,13 +89,27 @@ public class InvPlaceController {
* @return
*/
@PostMapping("/spms/inv/product/bindCheckInvSpace")
public BaseResponse bindCheckInvSpace(@RequestBody BindInvSpaceRequest bindInvSpaceRequest) {
public BaseResponse bindCheckInvSpace(@RequestBody BindInvSpaceRequest bindInvSpaceRequest) {
if (null == bindInvSpaceRequest) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
}
return invPlaceService.bindInvSpace(bindInvSpaceRequest);
}
/**
*
*
* @param bindInvSpaceRequest
* @return
*/
@PostMapping("/spms/inv/product/unbindInvOrderSpace")
public BaseResponse unbindInvOrderSpace(@RequestBody BindInvSpaceRequest bindInvSpaceRequest) {
if (null == bindInvSpaceRequest) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
}
return invPlaceService.unbindInvOrderSpace(bindInvSpaceRequest);
}
/**
*
@ -131,20 +147,19 @@ public class InvPlaceController {
*/
@GetMapping("/spms/inv/product/getInvProductInfo")
private BaseResponse getInvProductInfo(BindInvSpaceRequest bindInvSpaceRequest) {
List<InvPlaceDetailResponse> list = new ArrayList<>();
List<InvPlaceDetailResponse> list = new ArrayList<>();
//判断有没有库存
String msg=invPlaceService.checkCount(bindInvSpaceRequest);
if(StrUtil.isEmpty(msg)){
String msg = invPlaceService.checkCount(bindInvSpaceRequest);
if (StrUtil.isEmpty(msg)) {
//有库存做插入货位号
return invPlaceOrderService.bindInvSpaceOne(bindInvSpaceRequest);
}else{
return invPlaceOrderService.bindInvSpaceOne(bindInvSpaceRequest);
} else {
return ResultVOUtils.error(500, msg);
}
}
/**
*
*
@ -165,11 +180,31 @@ public class InvPlaceController {
@GetMapping("/spms/inv/product/getCheckInvProductInfo")
private BaseResponse getCheckInvProductInfo(BindInvSpaceRequest bindInvSpaceRequest) {
//判断有没有库存
String msg=invPlaceService.checkCount(bindInvSpaceRequest);
if(StrUtil.isEmpty(msg)){
String msg = invPlaceService.checkCount(bindInvSpaceRequest);
if (StrUtil.isEmpty(msg)) {
//有库存做插入货位号
return invPlaceOrderService.bindInvSpaceOne(bindInvSpaceRequest);
}else{
} else {
return ResultVOUtils.error(500, msg);
}
}
/**
*
*
* @param bindInvSpaceRequest
* @return
*/
@GetMapping("/spms/inv/product/getInvProductOutInfo")
private BaseResponse getInvProductOutInfo(BindInvSpaceRequest bindInvSpaceRequest) {
List<InvPlaceDetailResponse> list = new ArrayList<>();
//判断有没有库存
String msg = invPlaceService.checkOutCount(bindInvSpaceRequest);
if (StrUtil.isEmpty(msg)) {
//有库存做插入货位号
return invPlaceOrderService.unbindInvSpaceOne(bindInvSpaceRequest);
} else {
return ResultVOUtils.error(500, msg);
}
@ -203,5 +238,45 @@ public class InvPlaceController {
return ResultVOUtils.page(pageInfo);
}
/**
*
*
* @return
*/
@GetMapping("/spms/inv/product/selectPlaceList")
public BaseResponse selectPlaceList(FilterInvPlaceRequest filterInvPlaceRequest) {
List<InvPlaceDetailResponse> invPlaceDetailResponseList = new ArrayStack();
if (StrUtil.isNotBlank(filterInvPlaceRequest.getCode())) {
List<String> list = Arrays.asList(filterInvPlaceRequest.getCode().split("#"));
if (list != null && list.size() >= 3) {
if (list.get(2) != null && !list.get(2).equals("null")) {
//用产品查询
filterInvPlaceRequest.setCode(list.get(2));
invPlaceDetailResponseList = invPlaceOrderService.filterProductList(filterInvPlaceRequest);
} else if (list.get(0) != null && list.get(1) != null && !list.get(0).equals("null") && !list.get(1).equals("null")) {
//用货位查询
filterInvPlaceRequest.setInvCode(list.get(0));
filterInvPlaceRequest.setInvSpaceCode(list.get(1));
filterInvPlaceRequest.setCode(null);
invPlaceDetailResponseList = invPlaceOrderService.filterSpaceList(filterInvPlaceRequest);
} else {
return ResultVOUtils.error(999, "扫码错误!");
}
}
}
PageInfo<InvPlaceDetailResponse> pageInfo = new PageInfo<>(invPlaceDetailResponseList);
return ResultVOUtils.page(pageInfo);
}
@GetMapping("/spms/inv/product/mutiPlace")
public BaseResponse selectMutiPlace(FilterInvPlaceRequest filterInvPlaceRequest) {
List<InvPlaceDetailResponse> invPlaceDetailResponseList = new ArrayStack();
invPlaceDetailResponseList = invPlaceOrderService.filterSpaceList(filterInvPlaceRequest);
PageInfo<InvPlaceDetailResponse> pageInfo = new PageInfo<>(invPlaceDetailResponseList);
return ResultVOUtils.page(pageInfo);
}
}

@ -71,7 +71,14 @@ public class InvPreProductController extends BaseController {
filterInvPreProductRequest.setInvCodes(invCodes);
}
}
List<InvPreProductResponse> list = invPreProductService.filterList(filterInvPreProductRequest);
List<InvPreProductResponse> list = new ArrayList<>();
if (StrUtil.isNotEmpty(filterInvPreProductRequest.getInvSpaceCode())) {
list = invPreProductService.findGroupBySpace(filterInvPreProductRequest);
} else {
list = invPreProductService.filterList(filterInvPreProductRequest);
}
PageInfo<InvPreProductResponse> pageInfo = new PageInfo<>(list);
InvPreProductPageResponse<InvPreProductResponse> pageResponse = new InvPreProductPageResponse<>();
pageResponse.setList(pageInfo.getList());

@ -13,10 +13,7 @@ import com.glxp.api.req.inv.FilterInvPreProductDetailRequest;
import com.glxp.api.req.inv.FilterInvPreinDetailRequest;
import com.glxp.api.req.inv.FilterInvPreinProductRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.inv.InvPreProductDetailResponse;
import com.glxp.api.res.inv.InvPreProductPageResponse;
import com.glxp.api.res.inv.InvPreinDetailResponse;
import com.glxp.api.res.inv.InvPreinProductResponse;
import com.glxp.api.res.inv.*;
import com.glxp.api.service.auth.CustomerService;
import com.glxp.api.service.auth.WarehouseUserService;
import com.glxp.api.service.inv.InvPreinDetailService;
@ -65,7 +62,14 @@ public class InvPreinProductController extends BaseController {
filterInvPreinProductRequest.setInvCodes(invCodes);
}
}
List<InvPreinProductResponse> list = invPreinProductService.filterList(filterInvPreinProductRequest);
List<InvPreinProductResponse> list = new ArrayList<>();
if (StrUtil.isNotEmpty(filterInvPreinProductRequest.getInvSpaceCode())) {
list = invPreinProductService.findGroupBySpace(filterInvPreinProductRequest);
} else {
list = invPreinProductService.filterList(filterInvPreinProductRequest);
}
PageInfo<InvPreinProductResponse> pageInfo = new PageInfo<>(list);
InvPreProductPageResponse<InvPreinProductResponse> pageResponse = new InvPreProductPageResponse<>();
pageResponse.setList(pageInfo.getList());

@ -0,0 +1,55 @@
package com.glxp.api.controller.inv;
import cn.hutool.core.util.StrUtil;
import com.glxp.api.annotation.Log;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.BusinessType;
import com.glxp.api.controller.BaseController;
import com.glxp.api.entity.inv.InvProductDetailEntity;
import com.glxp.api.entity.inv.InvProductEntity;
import com.glxp.api.entity.inv.InvUserProductEntity;
import com.glxp.api.req.inv.FilterInvProductDetailRequest;
import com.glxp.api.req.system.DeleteRequest;
import com.glxp.api.service.inv.InvProductDetailService;
import com.glxp.api.service.inv.InvUserProductService;
import groovy.util.logging.Slf4j;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
*
*/
@Slf4j
@RestController
public class InvUserProductController extends BaseController {
@Resource
private InvUserProductService invUserProductService;
@Resource
private InvProductDetailService invProductDetailServicel;
// /**
// * 添加库存
// *
// * @param invUserProductEntity
// * @return
// */
// @PostMapping("/spms/inv/user/product/add")
// @Log(title = "用户库存查询", businessType = BusinessType.INSERT)
// public BaseResponse addInvUserProduct(@RequestBody InvUserProductEntity invUserProductEntity) {
//
// invUserProductService.
//
//
// }
}

@ -0,0 +1,17 @@
package com.glxp.api.controller.inv;
import com.glxp.api.controller.BaseController;
import groovy.util.logging.Slf4j;
import org.springframework.web.bind.annotation.RestController;
/**
*
*/
@Slf4j
@RestController
public class InvUserProductDetailController{
}

@ -120,12 +120,16 @@ public class IoPurChangeService {
BasicBusTypeChangeEntity basicBusTypeChangeEntity = new BasicBusTypeChangeEntity();
//查询申购详情
List<PurApplyDetailEntity> purApplyDetailEntityList = purApplyDetailService.findByOrderId(purApplyEntity.getId() + "");
System.out.println("//---------------------------------判断申购为已审核就生成计划单-------------------------------------------//");
//---------------------------------判断申购为已审核就生成计划单-------------------------------------------//
PurPlanEntity purPlanEntity = new PurPlanEntity();
List<PurPlanDetailEntity> purPlanDetailEntityList = new ArrayList<>();
if (purApplyEntity.getStatus() == 3) {
basicBusTypeChangeEntity = basicBusTypeChangeService.selectByOriginAction("CPSG");
if (basicBusTypeChangeEntity != null && StrUtil.isNotEmpty(basicBusTypeChangeEntity.getTargetBusAction()) && basicBusTypeChangeEntity.isEnable() == true) {
purPlanEntity.setBillNo(gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.JH_ORDER, "yyyyMMdd")));
purPlanEntity.setBillDate(purApplyEntity.getBillDate());
purPlanEntity.setStatus(basicBusTypeChangeEntity.getBusAuditStatus());
@ -145,6 +149,7 @@ public class IoPurChangeService {
//插入计划主表
purPlanService.insert(purPlanEntity);
//用stream流复制list
System.out.println("111111111111111111111111111我要进来咯666666666666666++++++++++++++++");
purPlanDetailEntityList = purApplyDetailEntityList.stream().map(e -> {
PurPlanDetailEntity d = new PurPlanDetailEntity();
d.setOrderIdFk(purPlanEntity.getId() + "");
@ -153,6 +158,7 @@ public class IoPurChangeService {
d.setCount(e.getCount());
d.setSupId(e.getSupId());
d.setZczbhhzbapzbh(e.getZczbhhzbapzbh());
System.out.println("ddddddddddddddddddddddddddddddd"+d);
return d;
}).collect(Collectors.toList());
purPlanDetailService.insertPurPlanDetailEntity(purPlanDetailEntityList);

@ -164,6 +164,7 @@ public class PurApplyController {
purApplyService.update(purApplyEntity);
if (purApplyRequest.getStatus() == 3) {
// generateDocument(purApplyEntity);
purChangeService.purApplyChange(purApplyEntity);
}

@ -12,6 +12,7 @@ import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.BusinessType;
import com.glxp.api.constant.ConstantStatus;
import com.glxp.api.constant.FileConstant;
import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.purchase.*;
import com.glxp.api.entity.system.SysPdfTemplateRelevanceStatemenEntity;
@ -306,7 +307,7 @@ public class SupCertController {
@PostMapping("/sup/info/deleteCompanyCert")
public BaseResponse deleteCompanyCert(@RequestBody DeleteCompanyFileRequest deleteCompanyFileRequest, BindingResult bindingResult) {
boolean b = supCertService.deleteById(deleteCompanyFileRequest.getId());
String URL = filePath + "/register/file/image2/" + deleteCompanyFileRequest.getFilePath();
String URL = filePath + FileConstant.COMMON_FILE_PATH + deleteCompanyFileRequest.getFilePath();
File file = new File(URL);
if (file.exists() && file.isFile()) {
file.delete();
@ -396,7 +397,7 @@ public class SupCertController {
supData.put("status", obj.getStatus() == 0 ? "有效" : "失效");
supData.put("auditStatus", getAuditStatus(obj.getAuditStatus()));
supData.put("remark", obj.getRemark() == null ? ' ' : obj.getRemark());
supData.put("filePath", filePath + "register/image2/" + url);
supData.put("filePath", filePath + FileConstant.COMMON_FILE_PATH + url);
list.add(supData);
i++;
}
@ -405,7 +406,7 @@ public class SupCertController {
}
String param = JSON.toJSONString(list);
JasperUtils.jasperReport(request, response, param, filePath + "/pdf/template/"+systemPDFTemplateEntity.getPath(), "pdf");
JasperUtils.jasperReport(request, response, param, filePath+"pdf/template/"+systemPDFTemplateEntity.getPath(), "pdf");
}
/**
@ -512,7 +513,7 @@ public class SupCertController {
supData.put("status", obj.getStatus() == 0 ? "有效" : "失效");
supData.put("auditStatus", getAuditStatus(obj.getAuditStatus()));
supData.put("remark2", obj.getRemark() == null ? ' ' : obj.getRemark());
supData.put("filePath", filePath + "register/image2/" + url);
supData.put("filePath", filePath + FileConstant.COMMON_FILE_PATH + url);
list.add(supData);
i++;
}
@ -520,7 +521,7 @@ public class SupCertController {
}
String param = JSON.toJSONString(list);
JasperUtils.jasperReport(request, response, param, filePath + "/pdf/template/"+systemPDFTemplateEntity.getPath(), "pdf");
JasperUtils.jasperReport(request, response, param, filePath+"pdf/template/"+systemPDFTemplateEntity.getPath(), "pdf");
}
/**
@ -578,7 +579,7 @@ public class SupCertController {
supData.put("status", obj.getStatus() == 0 ? "有效" : "失效");
supData.put("auditStatus", getAuditStatus(obj.getAuditStatus()));
supData.put("remark2", obj.getRemark() == null ? ' ' : obj.getRemark());
supData.put("filePath", filePath + "register/image2/" + url);
supData.put("filePath", filePath + FileConstant.COMMON_FILE_PATH + url);
list.add(supData);
i++;
}
@ -586,7 +587,7 @@ public class SupCertController {
}
String param = JSON.toJSONString(list);
JasperUtils.jasperReport(request, response, param, filePath + "/pdf/template/"+systemPDFTemplateEntity.getPath(), "pdf");
JasperUtils.jasperReport(request, response, param, filePath+"pdf/template/"+systemPDFTemplateEntity.getPath(), "pdf");
}
//首营预览文件

@ -26,6 +26,7 @@ import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
@ -186,6 +187,8 @@ public class SysParamConfigController {
filterParamConfigRequest.setParamType(2);
filterParamConfigRequest.setParamStatus(1);
List<SystemParamConfigEntity> systemParamConfigEntities = systemParamConfigService.queryPage(filterParamConfigRequest);
systemParamConfigEntities = systemParamConfigEntities.stream().sorted(Comparator.comparing(SystemParamConfigEntity::getParamKey))
.collect(Collectors.toList());
ProductRemarkSetEntity productRemarkSetEntity = new ProductRemarkSetEntity();
if (CollUtil.isNotEmpty(systemParamConfigEntities) && systemParamConfigEntities.size() == 8) {

@ -1,8 +1,8 @@
package com.glxp.api.dao.auth;
import com.glxp.api.dao.BaseMapperPlus;
import com.glxp.api.entity.auth.DeptEntity;
import com.glxp.api.entity.auth.InvWarehouseEntity;
import com.glxp.api.entity.thrsys.ThrBusTypeOriginEntity;
import com.glxp.api.req.auth.FilterInvSubWarehouseRequest;
import com.glxp.api.req.auth.FilterInvWarehouseRequest;
import com.glxp.api.res.auth.InvSubWarehouseResponse;
@ -21,21 +21,18 @@ public interface InvWarehouseDao extends BaseMapperPlus<InvWarehouseDao, InvWare
InvWarehouseEntity selectMaxCode(FilterInvSubWarehouseRequest filterInvSubWarehouseRequest);
InvWarehouseEntity getByWareId(@Param("id") String id);
List<InvWarehouseEntity> getByWarePcode(@Param("parentCode") String parentCode);
boolean insertInvSubWarehouse(InvWarehouseEntity invWarehouseEntity);
boolean updateInvSubWarehouse(InvWarehouseEntity invWarehouseEntity);
void importInvSubWarehouse(@Param("invWarehouseEntities") List<InvWarehouseEntity> invSubWarehouseEntities);
boolean deleteById(String id);
boolean deleteByParentCode(@Param("code") String code);
InvWarehouseEntity getByWareId(@Param("id") String id);
List<InvWarehouseEntity> getByWarePcode(@Param("parentCode") String parentCode);
/**
* parentId
*
@ -83,12 +80,10 @@ public interface InvWarehouseDao extends BaseMapperPlus<InvWarehouseDao, InvWare
List<InvSubWarehouseResponse> filterSubInvList(FilterInvWarehouseRequest filterInvWarehouseRequest);
boolean updateTime(@Param("code") String code, @Param("updateTime") Date updateTime);
/**
* ID
*
* @param userId
* @param filterInvWarehouseRequest
* @return
*/
List<InvWarehouseEntity> selectInvListByUser(FilterInvWarehouseRequest filterInvWarehouseRequest);
@ -105,4 +100,5 @@ public interface InvWarehouseDao extends BaseMapperPlus<InvWarehouseDao, InvWare
List<InvWarehouseEntity> selectLowWarehouseAll(@Param("pcode") String pCode);
}

@ -15,4 +15,7 @@ public interface SysUserRoleMapper {
int insertBatch(@Param("sysUserRoles") List<SysUserRole> sysUserRoles);
List<SysUserRole> selectUserRoleList(Long roleId);
}

@ -0,0 +1,9 @@
package com.glxp.api.dao.inout;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.glxp.api.entity.inout.IoOrderMutiEntity;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface IoOrderMutiMapper extends BaseMapper<IoOrderMutiEntity> {
}

@ -0,0 +1,9 @@
package com.glxp.api.dao.inout;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.glxp.api.entity.inout.IoOrderMutiSetEntity;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface IoOrderMutiSetMapper extends BaseMapper<IoOrderMutiSetEntity> {
}

@ -0,0 +1,9 @@
package com.glxp.api.dao.inout;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.glxp.api.entity.inout.IoOrderMutiUseEntity;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface IoOrderMutiUseMapper extends BaseMapper<IoOrderMutiUseEntity> {
}

@ -46,4 +46,12 @@ public interface InvPreInProductDetailDao extends BaseMapperPlus<InvPreInProduct
Integer getInventoryQuantity(@Param("code") String code);
//用货架查询
List<InvPlaceDetailResponse> filterSpaceList(FilterInvPlaceRequest filterInvPlaceOrderRequest);
List<InvPlaceDetailResponse> findByGroupCode(@Param("invCode") String invCode, @Param("code") String code);
List<InvPreInProductDetailEntity> findBySpaceList(@Param("spaceList") List<String> spaceList);
}

@ -33,5 +33,9 @@ public interface InvPreProductDao extends BaseMapperPlus<InvPreProductDao, InvPr
*/
List<InvPreProductEntity> filterPreProductList(FilterInvPreProductRequest invPreProductRequest);
List<InvPreProductResponse> findGroupBySpace(FilterInvPreProductRequest invPreProductRequest);
}

@ -45,4 +45,9 @@ public interface InvPreProductDetailDao extends BaseMapperPlus<InvPreProductDeta
List<IoOrderResponse> getInvPlaceOrderList(FilterInvPlaceRequest filterInvPlaceRequest);
Integer getInventoryQuantity(@Param("code") String code);
//用货架查询
List<InvPlaceDetailResponse> filterSpaceList(FilterInvPlaceRequest filterInvPlaceOrderRequest);
List<InvPlaceDetailResponse> findByGroupCode(@Param("invCode") String invCode, @Param("code") String code);
}

@ -2,7 +2,9 @@ package com.glxp.api.dao.inv;
import com.glxp.api.dao.BaseMapperPlus;
import com.glxp.api.entity.inv.InvPreinProductEntity;
import com.glxp.api.req.inv.FilterInvPreProductRequest;
import com.glxp.api.req.inv.FilterInvPreinProductRequest;
import com.glxp.api.res.inv.InvPreProductResponse;
import com.glxp.api.res.inv.InvPreinProductResponse;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -33,4 +35,8 @@ public interface InvPreinProductDao extends BaseMapperPlus<InvPreinProductDao, I
*/
List<InvPreinProductEntity> filterPreProductList(FilterInvPreinProductRequest invPreProductRequest);
List<InvPreinProductResponse> findGroupBySpace(FilterInvPreinProductRequest invPreProductRequest);
}

@ -98,4 +98,11 @@ public interface InvProductDetailDao extends BaseMapperPlus<InvProductDetailDao,
List<IoOrderResponse> getInvPlaceOrderList(FilterInvPlaceRequest filterInvPlaceRequest);
Integer getInventoryQuantity(@Param("code") String code);
//用货架查询
List<InvPlaceDetailResponse> filterSpaceList(FilterInvPlaceRequest filterInvPlaceOrderRequest);
List<InvPlaceDetailResponse> findByGroupCode(@Param("invCode") String invCode, @Param("code") String code);
}

@ -0,0 +1,15 @@
package com.glxp.api.dao.inv;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.glxp.api.entity.inv.InvUserProductEntity;
/**
* @author Lenovo
* @description inv_user_product()Mapper
* @createDate 2023-05-12 10:19:43
*/
public interface InvUserProductDao extends BaseMapper<InvUserProductEntity> {
}

@ -0,0 +1,16 @@
package com.glxp.api.dao.inv;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.glxp.api.dao.BaseMapperPlus;
import com.glxp.api.entity.inv.InvUserProductDetailEntity;
/**
* @author Lenovo
* @description inv_user_product_detail()Mapper
* @createDate 2023-05-12 10:19:43
*/
public interface InvUserProductDetailDao extends BaseMapperPlus<InvUserProductDetailDao,InvUserProductDetailEntity,InvUserProductDetailEntity> {
}

@ -19,7 +19,6 @@ public interface SystemPDFTemplateDao extends BaseMapperPlus<SystemPDFTemplateDa
SystemPDFTemplateEntity findSystemPDFTemplate(FilterPdfTemplateRequest filterPdfTemplateRequest);
SystemPDFTemplateEntity selectById(String id);
boolean updateById(SysPdfTemplateSaveRequest sysPdfTemplateSaveRequest);

@ -1,11 +1,16 @@
package com.glxp.api.entity.auth;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
@Data
@TableName("auth_license")
public class AuthLicense {
@TableId(value = "id", type = IdType.AUTO)
private String id;
// 名称
private String name;

@ -193,7 +193,7 @@ public class BasicBussinessTypeEntity {
* 使
*/
@TableField(value = "useDyCount")
private boolean useDyCount;
private int useDyCount;
/**
*
@ -408,8 +408,9 @@ public class BasicBussinessTypeEntity {
@TableField(value = "sortNum")
private Integer sortNum;
//是否按货位出库 0不按货位出库1:按货位出库
//是否按货位出库 01:按指定货位出库2默认货位出库
@TableField(value = "spaceOut")
private int spaceOut;
}

@ -124,6 +124,16 @@ public class IoCodeEntity implements Serializable {
@TableField(value = "warehouseCode")
private String warehouseCode;
/**
*
*/
@TableField(value = "preSpaceCode")
private String preSpaceCode;
@TableField(value = "preInSpaceCode")
private String preInSpaceCode;
/**
*
*/

@ -123,6 +123,15 @@ public class IoCodeTempEntity {
@TableField(value = "warehouseCode")
private String warehouseCode;
/**
*
*/
@TableField(value = "preSpaceCode")
private String preSpaceCode;
@TableField(value = "preInSpaceCode")
private String preInSpaceCode;
/**
*
*/
@ -135,6 +144,7 @@ public class IoCodeTempEntity {
@TableField(value = "createTime")
private Date createTime;
@TableField(exist = false)
private int status; //条码校验状态
@TableField(exist = false)

@ -179,12 +179,21 @@ public class IoOrderDetailBizEntity {
@TableField(value = "filePath")
private String filePath;
@TableField(value = "coldFilePath")
private String coldFilePath;
/**
*
*/
@TableField(value = "checkFileName")
private String checkFileName;
/**
*
*/
@TableField(value = "checkColdFileName")
private String checkColdFileName;
@TableField(exist = false)
private boolean checkSuccess;

@ -257,5 +257,13 @@ public class IoOrderEntity {
@TableField(value = "checkPreInSpaceCode")
private String checkPreInSpaceCode;
// 当前货位
@TableField(value = "curSpaceCode")
private String curSpaceCode;
// 预验收、寄售当前货位
@TableField(value = "preCurSpaceCode")
private String preCurSpaceCode;
}

@ -0,0 +1,139 @@
package com.glxp.api.entity.inout;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;
import lombok.Data;
@Data
@TableName(value = "io_order_muti")
public class IoOrderMutiEntity {
@TableId(value = "id", type = IdType.INPUT)
private Long id;
/**
*
*/
@TableField(value = "orderIdFk")
private String orderIdFk;
/**
* udi
*/
@TableField(value = "udiCode")
private String udiCode;
/**
* ID
*/
@TableField(value = "relIdFk")
private String relIdFk;
/**
*
*/
@TableField(value = "mark")
private String mark;
/**
* 使
*/
@TableField(value = "totalCount")
private Integer totalCount;
/**
* 使
*/
@TableField(value = "useCount")
private Integer useCount;
/**
* 使
*/
@TableField(value = "reCount")
private Integer reCount;
/**
*
*/
@TableField(value = "createTime")
private Date createTime;
/**
*
*/
@TableField(value = "updateTime")
private Date updateTime;
/**
*
*/
@TableField(value = "`createUser`")
private String createUser;
/**
*
*/
@TableField(value = "updateUser")
private String updateUser;
/**
*
*/
@TableField(value = "reamrk")
private String reamrk;
/**
* DI
*/
@TableField(value = "nameCode")
private String nameCode;
/**
*
*/
@TableField(value = "batchNo")
private String batchNo;
/**
*
*/
@TableField(value = "produceDate")
private String produceDate;
/**
*
*/
@TableField(value = "expireDate")
private String expireDate;
/**
*
*/
@TableField(value = "serialNo")
private String serialNo;
/**
* ID
*/
@TableField(value = "supId")
private String supId;
/**
*
*/
@TableField(value = "auditUser")
private String auditUser;
/**
*
*/
@TableField(value = "auditTime")
private Date auditTime;
}

@ -0,0 +1,30 @@
package com.glxp.api.entity.inout;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;
import lombok.Data;
@Data
@TableName(value = "io_order_muti_set")
public class IoOrderMutiSetEntity {
@TableId(value = "id", type = IdType.INPUT)
private Long id;
@TableField(value = "curInv")
private String curInv;
@TableField(value = "fromCorp")
private String fromCorp;
@TableField(value = "targetAction")
private String targetAction;
@TableField(value = "remark")
private String remark;
@TableField(value = "updateTime")
private Date updateTime;
}

@ -0,0 +1,60 @@
package com.glxp.api.entity.inout;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;
import lombok.Data;
@Data
@TableName(value = "io_order_muti_use")
public class IoOrderMutiUseEntity {
@TableId(value = "id", type = IdType.INPUT)
private Long id;
@TableField(value = "mutiIdFk")
private Long mutiIdFk;
/**
* 使
*/
@TableField(value = "curIndex")
private Integer curIndex;
/**
* 使
*/
@TableField(value = "useUser")
private String useUser;
/**
* 使
*/
@TableField(value = "useTime")
private Date useTime;
/**
*
*/
@TableField(value = "auditUser")
private String auditUser;
/**
*
*/
@TableField(value = "auditTime")
private Date auditTime;
/**
*
*/
@TableField(value = "fromCorp")
private String fromCorp;
/**
*
*/
@TableField(value = "remark")
private String remark;
}

@ -1,9 +1,6 @@
package com.glxp.api.entity.inv;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import java.util.Date;
@ -118,7 +115,7 @@ public class InvPreInProductDetailEntity {
/**
*
*/
@TableField(value = "invSpaceCode")
@TableField(value = "invSpaceCode" , updateStrategy = FieldStrategy.IGNORED)
private String invSpaceCode;
/**

@ -105,4 +105,5 @@ public class InvProductEntity {
@TableField(value = "updateTime")
private Date updateTime;
}

@ -0,0 +1,135 @@
package com.glxp.api.entity.inv;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
*
* @TableName inv_user_product_detail
*/
@TableName(value ="inv_user_product_detail")
@Data
public class InvUserProductDetailEntity {
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
/**
* UDI
*/
@TableField(value = "code")
private String code;
/**
*
*/
@TableField(value = "orderId")
private String orderId;
/**
* ID
*/
@TableField(value = "relId")
private Long relId;
/**
*
*/
@TableField(value = "nameCode")
private String nameCode;
/**
*
*/
@TableField(value = "batchNo")
private String batchNo;
/**
*
*/
@TableField(value = "produceDate")
private String produceDate;
/**
*
*/
@TableField(value = "expireDate")
private String expireDate;
/**
*
*/
@TableField(value = "serialNo")
private String serialNo;
/**
*
*/
@TableField(value = "supId")
private String supId;
/**
*
*/
@TableField(value = "`count`")
private Integer count;
/**
*
*/
@TableField(value = "reCount")
private Integer reCount;
@TableField(value = "inCount")
private Integer inCount;
@TableField(value = "outCount")
private Integer outCount;
/**
*
*/
@TableField(value = "deptCode")
private String deptCode;
/**
*
*/
@TableField(value = "invCode")
private String invCode;
/**
*
*/
@TableField(value = "invSpaceCode")
private String invSpaceCode;
/**
*
*/
@TableField(value = "purchaseType")
private Integer purchaseType;
/**
*
*/
@TableField(value = "updateTime")
private Date updateTime;
@TableField(value = "mainAction")
private String mainAction;
@TableField(value = "action")
private String action;
}

@ -0,0 +1,152 @@
package com.glxp.api.entity.inv;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
*
* @TableName inv_user_product
*/
@TableName(value ="inv_user_product")
@Data
public class InvUserProductEntity {
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
/**
* ID
*/
@TableField(value = "relIdFk")
private Long relIdFk;
/**
*
*/
@TableField(value = "nameCode")
private String nameCode;
/**
*
*/
@TableField(value = "batchNo")
private String batchNo;
/**
*
*/
@TableField(value = "productionDate")
private String productionDate;
/**
*
*/
@TableField(value = "expireDate")
private String expireDate;
/**
*
*/
@TableField(value = "inCount")
private Integer inCount;
/**
*
*/
@TableField(value = "outCount")
private int outCount;
/**
*
*/
@TableField(value = "reCount")
private int reCount;
/**
* ID
*/
@TableField(value = "customerId")
private String customerId;
/**
* ID
*/
@TableField(value = "supId")
private String supId;
/**
*
*/
@TableField(value = "deptCode")
private String deptCode;
/**
*
*/
@TableField(value = "invCode")
private String invCode;
/**
*
*/
@TableField(value = "invSpaceCode")
private String invSpaceCode;
/**
*
*/
@TableField(value = "createTime")
private Date createTime;
/**
*
*/
@TableField(value = "updateTime")
private Date updateTime;
/**
*
*/
private Integer nowStock;
/**
*
*/
private Integer frozenCount;
/**
*
*/
private Integer planInCount;
/**
*
*/
private Integer planOutCount;
/**
*
*/
private Integer onWayCount;
/**
*
*/
private Integer availableStock;
@TableField(value = "type")
private Integer type;
@TableField(value = "userId")
private String userId;
}

@ -132,6 +132,9 @@ public class PurOrderEntity {
@TableField(value = "emergency")
private Integer emergency;
@TableField(value = "supId")
private String supId;
/**
*
*/

@ -21,6 +21,7 @@ import com.glxp.api.req.sync.BasicExportStatusRequest;
import com.glxp.api.req.sync.OrderStatusFilterRequest;
import com.glxp.api.req.sync.SyncUpLoadRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.inout.RefreshInoiceResponse;
import com.glxp.api.res.sync.*;
import com.glxp.api.res.system.SyncDataSetResponse;
import com.glxp.api.service.sync.SyncDataSetService;
@ -140,7 +141,7 @@ public class SpGetHttpClient {
String json = JSONUtil.toJsonStr(refreshInoiceRequest);
String result = okHttpCli.doPostJson(getIpUrl() + "/directToSpms" + "/udiwms/inout/order/refrshInvoice", json, buildHeader());
BaseResponse response =
JSONObject.parseObject(result, new TypeReference<BaseResponse>() {
JSONObject.parseObject(result, new TypeReference<BaseResponse<RefreshInoiceResponse>>() {
});
return response;
}
@ -154,7 +155,23 @@ public class SpGetHttpClient {
header.add(userId);
String json = JSONUtil.toJsonStr(reviewFinishRequest);
String result = okHttpCli.doPostJson(getIpUrl() + "/directToSpms" + "/spms/inout/order/web/updateStatus", json, Convert.toStrArray(header));
String result = okHttpCli.doPostJson(getIpUrl() + "/directToSpms" + "/spms/inout/order/web/updateStatus", json, Convert.toStrArray(header));
BaseResponse<String> response =
JSONObject.parseObject(result, new TypeReference<BaseResponse<String>>() {
});
return response;
}
//确认自助平台单据--直连接口
public BaseResponse<String> updateCheckStatus(IoOrderEntity orderEntity, String userId) {
List<String> header = (List<String>) Convert.toList(buildHeader());
header.add("ADMIN_ID");
header.add(userId);
String json = JSONUtil.toJsonStr(orderEntity);
String result = okHttpCli.doPostJson(getIpUrl() + "/directToSpms" + "/udiwms/inout/order/updateOrder", json, Convert.toStrArray(header));
BaseResponse<String> response =
JSONObject.parseObject(result, new TypeReference<BaseResponse<String>>() {
});

@ -12,6 +12,7 @@ import java.util.concurrent.TimeUnit;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import com.glxp.api.constant.FileConstant;
import org.apache.commons.lang3.StringUtils;
import org.apache.tools.ant.util.DateUtils;
import org.slf4j.Logger;
@ -53,7 +54,7 @@ public class FileServiceImpl implements FileService {
private DbDao dbDao;
@Resource
private IdcService idcService;
private String imagePath = "register/file/image2/";
private String imagePath = FileConstant.COMMON_FILE_PATH;
String pdfPath = "pdf/template/";
@Override

@ -17,6 +17,7 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.glxp.api.constant.FileConstant;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.text.WordUtils;
import org.apache.tools.ant.util.DateUtils;
@ -85,7 +86,8 @@ public class IdcServiceImpl implements IdcService {
@Resource
private ScheduledDao scheduledDao;
private String imagePath = "register/file/image2/";
private String imagePath = FileConstant.COMMON_FILE_PATH;
/*获取拉取任务列表*/
@Override
public BaseResponse taskList(HttpServletRequest request, Map<String, Object> params) {
@ -205,11 +207,11 @@ public class IdcServiceImpl implements IdcService {
private void fetchFailFile(String host) {
Map<String,Object> map = new HashMap<String,Object>();
Map<String, Object> map = new HashMap<String, Object>();
map.put("sql", "select * from idc_file where createTime<date_sub(now(),interval 30 minute) order by createTime");
List<Map<String,Object>> list = dbDao.list(map);
for(int i=0;i<list.size();i++) {
signleDownloadFile(host,list.get(i).get("filePath").toString());
List<Map<String, Object>> list = dbDao.list(map);
for (int i = 0; i < list.size(); i++) {
signleDownloadFile(host, list.get(i).get("filePath").toString());
}
}
@ -229,7 +231,7 @@ public class IdcServiceImpl implements IdcService {
String[] syncTables = TableUtils.syncTables();
for (int i = 0; i < syncTables.length; i++) {
String[] tnames = syncTables[i].split("/");
boolean sync = (StringUtils.isEmpty(tnames[0])&&StringUtils.isEmpty(tnames[1])) ||
boolean sync = (StringUtils.isEmpty(tnames[0]) && StringUtils.isEmpty(tnames[1])) ||
(!StringUtils.isEmpty(tnames[0]) && map != null && map.get(tnames[0]) != null && map.get(tnames[0]).toString().equals("1"));
saveIdcLog("---", "", map.get(tnames[0]) + syncTables[i], 0, 0);
if (sync) {
@ -244,21 +246,20 @@ public class IdcServiceImpl implements IdcService {
/*上传失败重新上传*/
private void asyncFailTask(String host) {
try
{
try {
String filePathSlash = filePath.substring(filePath.length() - 1).equals("/") ? "" : "/";
String sql = "select * from basic_export_status where status='1' and receiveStatus='0' where updateTime<date_sub(now(),interval 6 minute) order by updateTime";
Map<String,Object> map = new HashMap<String,Object>();
Map<String, Object> map = new HashMap<String, Object>();
map.put("sql", sql);
List<Map<String,Object>> list = dbDao.list(map);
List<Map<String, Object>> list = dbDao.list(map);
ArrayList<String> files = new ArrayList<>();
for(int i=0;i<list.size();i++) {
for (int i = 0; i < list.size(); i++) {
String json = FileUtils.readFileAll(list.get(i).get("cacheFilePath").toString());
JSONObject object = JSONObject.parseObject(json);
List<Map> dataList = JSONObject.parseArray(JSON.toJSONString(object.get("data")), Map.class);
for (int m = 0; m < dataList.size(); m++) {
if(object.get("filePathColumn")!=null&&!StringUtils.isEmpty(object.get("filePathColumn").toString())&&
dataList.get(m).get(object.get("filePathColumn").toString()) !=null ) {
if (object.get("filePathColumn") != null && !StringUtils.isEmpty(object.get("filePathColumn").toString()) &&
dataList.get(m).get(object.get("filePathColumn").toString()) != null) {
String fileNames = dataList.get(m).get(object.get("filePathColumn").toString()).toString();
String[] str = fileNames.split(",");
for (int r = 0; r < str.length; r++) {
@ -266,20 +267,20 @@ public class IdcServiceImpl implements IdcService {
files.add(filePath + filePathSlash + imagePath + str[r]);
}
}
for(int k=0;k<30;k++) {
if(dataList.get(k).get("tableName"+k) == null)
for (int k = 0; k < 30; k++) {
if (dataList.get(k).get("tableName" + k) == null)
break;
if(dataList.get(k).get("data"+k)!=null && dataList.get(k).get("filePathColumn"+k)!=null) {
List<Map> childList = JSONObject.parseArray(JSON.toJSONString(dataList.get(i).get("data"+k)), Map.class);
for(int x =0 ;x <childList.size();x++) {
if (childList.get(x).get(dataList.get(k).get("filePathColumn"+k).toString()) != null) {
String[] str = childList.get(x).get(dataList.get(k).get("filePathColumn"+k).toString()).toString().split(",");
for (int s = 0; s < str.length; s++) {
if (!StringUtils.isEmpty(str[s]) && FileUtils.isFileExist(filePath + filePathSlash + imagePath + str[s]))
files.add(filePath + filePathSlash + imagePath + str[s]);
}
}
}
if (dataList.get(k).get("data" + k) != null && dataList.get(k).get("filePathColumn" + k) != null) {
List<Map> childList = JSONObject.parseArray(JSON.toJSONString(dataList.get(i).get("data" + k)), Map.class);
for (int x = 0; x < childList.size(); x++) {
if (childList.get(x).get(dataList.get(k).get("filePathColumn" + k).toString()) != null) {
String[] str = childList.get(x).get(dataList.get(k).get("filePathColumn" + k).toString()).toString().split(",");
for (int s = 0; s < str.length; s++) {
if (!StringUtils.isEmpty(str[s]) && FileUtils.isFileExist(filePath + filePathSlash + imagePath + str[s]))
files.add(filePath + filePathSlash + imagePath + str[s]);
}
}
}
}
}
}
@ -292,7 +293,7 @@ public class IdcServiceImpl implements IdcService {
if (IDCUtils.isJson(result)) {
JSONObject res = JSON.parseObject(result);
if (res.getInteger("code") == 20000) {
executeSql("update basic_export_status set receiveStatus='1',endTime=now() where id='"+list.get(i).get("id")+"'");
executeSql("update basic_export_status set receiveStatus='1',endTime=now() where id='" + list.get(i).get("id") + "'");
saveIdcLog(object.getString("messageType"), list.get(i).get("id").toString(), object.getString("tableName") + ">reUpload->success", 0, 0);
} else {
saveIdcLog(object.getString("messageType"), list.get(i).get("id").toString(), object.getString("tableName") + ">reUpload->fail", 0, 0);
@ -307,73 +308,73 @@ public class IdcServiceImpl implements IdcService {
}
/*数据删除同步*/
private void asyncDelete(String tname,boolean isUpload,String syncIp) {
private void asyncDelete(String tname, boolean isUpload, String syncIp) {
String[] tnames = tname.split("/");
String lastUpdateTime = getUpdateTime(tnames[2] + "." + tnames[0]+"."+tnames[1]+".delete");
String lastUpdateTime = getUpdateTime(tnames[2] + "." + tnames[0] + "." + tnames[1] + ".delete");
Date nowUpdateTime = new Date();
String where = "tableName='"+tnames[2].toLowerCase()+"' and updateTime between cast('"+lastUpdateTime+"' as datetime) "+
" and cast('"+DateUtil.formatDate(nowUpdateTime, "yyyy-MM-dd HH:mm:ss")+"' as datetime)";
Map<String,Object> count = new HashMap<String,Object>();
count.put("sql", "select count(*) from idc_delete where "+where);
String where = "tableName='" + tnames[2].toLowerCase() + "' and updateTime between cast('" + lastUpdateTime + "' as datetime) " +
" and cast('" + DateUtil.formatDate(nowUpdateTime, "yyyy-MM-dd HH:mm:ss") + "' as datetime)";
Map<String, Object> count = new HashMap<String, Object>();
count.put("sql", "select count(*) from idc_delete where " + where);
int total = dbDao.count(count);
int limit = 50;
if (total > 0) {
boolean success = true;
for (int i = 0; i < Math.ceil(total / limit) + 1; i++) {
Date startTime = new Date();
Map<String,Object> map = new HashMap<String,Object>();
Map<String, Object> map = new HashMap<String, Object>();
map.put("sql", "select * from idc_delete");
map.put("sqlWhere", where);
map.put("limit", limit);
map.put("page", i * limit);
List<Map<String,Object>> list = dbDao.list(map);
if(list!=null&&map.size()>0) {
List<Map<String,Object>> data = new ArrayList<>();
for(int k=0;i<list.size();k++) {
String line = list.get(k).get("uniqueValue").toString();
JSONObject obj = JSON.parseObject(line);
String uniqueColumn = "";
for(String key : obj.keySet()){
uniqueColumn += uniqueColumn.length()>0 ? ","+key : key;
}
obj.put("uniqueColumn", uniqueColumn);
obj.put("operateMode", "D");
data.add(obj);
}
Map<String,Object> msg = new HashMap<String, Object>();
msg.put("messageId", CustomUtil.getId());
msg.put("messageType", tnames[9]+"(删除)");
msg.put("apiCode", "common");
msg.put("tableName", DBAUtils.tableAliasName(tnames[2]));
msg.put("sendTime", new Date());
msg.put("version", "1.0");
msg.put("total", data.size());
msg.put("data", data);
if (isUpload) {
String result = "";
try {
result = relay("", JSON.toJSONString(msg), null, syncIp);
} catch (Exception ex) {
}
if (IDCUtils.isJson(result)) {
JSONObject json = JSON.parseObject(result);
if (json.getInteger("code") == 20000) {
saveIdcLog(tnames[9], "", tnames[2] + ">success(delete)", i * limit, total);
} else {
success = false;
saveIdcLog(tnames[9], "", tnames[2] + ">" + result, i * limit, total);
}
} else {
success = false;
saveIdcLog(tnames[9], "", syncIp + ":" + tnames[2] + ">fail:上传地址未连通", i * limit, total);
}
} else {
saveIdcLog(tnames[9], "", tnames[2] + ">success(delete)", i * limit, total);
}
syncAddTaskStatus(msg, isUpload ? 1 : 0, true, startTime, isUpload,success);
List<Map<String, Object>> list = dbDao.list(map);
if (list != null && map.size() > 0) {
List<Map<String, Object>> data = new ArrayList<>();
for (int k = 0; i < list.size(); k++) {
String line = list.get(k).get("uniqueValue").toString();
JSONObject obj = JSON.parseObject(line);
String uniqueColumn = "";
for (String key : obj.keySet()) {
uniqueColumn += uniqueColumn.length() > 0 ? "," + key : key;
}
obj.put("uniqueColumn", uniqueColumn);
obj.put("operateMode", "D");
data.add(obj);
}
Map<String, Object> msg = new HashMap<String, Object>();
msg.put("messageId", CustomUtil.getId());
msg.put("messageType", tnames[9] + "(删除)");
msg.put("apiCode", "common");
msg.put("tableName", DBAUtils.tableAliasName(tnames[2]));
msg.put("sendTime", new Date());
msg.put("version", "1.0");
msg.put("total", data.size());
msg.put("data", data);
if (isUpload) {
String result = "";
try {
result = relay("", JSON.toJSONString(msg), null, syncIp);
} catch (Exception ex) {
}
if (IDCUtils.isJson(result)) {
JSONObject json = JSON.parseObject(result);
if (json.getInteger("code") == 20000) {
saveIdcLog(tnames[9], "", tnames[2] + ">success(delete)", i * limit, total);
} else {
success = false;
saveIdcLog(tnames[9], "", tnames[2] + ">" + result, i * limit, total);
}
} else {
success = false;
saveIdcLog(tnames[9], "", syncIp + ":" + tnames[2] + ">fail:上传地址未连通", i * limit, total);
}
} else {
saveIdcLog(tnames[9], "", tnames[2] + ">success(delete)", i * limit, total);
}
syncAddTaskStatus(msg, isUpload ? 1 : 0, true, startTime, isUpload, success);
}
}
}
@ -408,7 +409,7 @@ public class IdcServiceImpl implements IdcService {
try {
String[] tnames = t.split("/");
String lastUpdateTime = getUpdateTime(tnames[2] + "." + tnames[0]+"."+tnames[1]);
String lastUpdateTime = getUpdateTime(tnames[2] + "." + tnames[0] + "." + tnames[1]);
Date nowUpdateTime = new Date();
// if (!StringUtils.isEmpty(tnames[0])) {
@ -424,7 +425,7 @@ public class IdcServiceImpl implements IdcService {
if (!StringUtils.isEmpty(updateTimeColumn)) {
sqlWhere += " " + updateTimeColumn + " between cast('" + lastUpdateTime + "' as datetime) and cast('"+DateUtil.formatDate(nowUpdateTime, "yyyy-MM-dd HH:mm:ss")+"' as datetime)";
sqlWhere += " " + updateTimeColumn + " between cast('" + lastUpdateTime + "' as datetime) and cast('" + DateUtil.formatDate(nowUpdateTime, "yyyy-MM-dd HH:mm:ss") + "' as datetime)";
//sqlWhere += " and not exists (select fkId from idc_record where type='" + tnames[2] + "' and fkId=" + tnames[2] + "." + keyColumn + " and createTime>date_sub(now(),interval 15 MINUTE))";
} else {
sqlWhere = "not exists (select fkId from idc_record where type='" + tnames[2] + "' and fkId=" + tnames[2] + "." + keyColumn + ")";
@ -454,7 +455,7 @@ public class IdcServiceImpl implements IdcService {
if (sync) {
result = syncMasterData(map, isUpload, syncIp);
if (result) {
setUpdateTime(tnames[2] + "." + tnames[0]+"."+tnames[1], DateUtil.formatDate(nowUpdateTime, "yyyy-MM-dd HH:mm:ss"));
setUpdateTime(tnames[2] + "." + tnames[0] + "." + tnames[1], DateUtil.formatDate(nowUpdateTime, "yyyy-MM-dd HH:mm:ss"));
}
}
//}
@ -492,11 +493,11 @@ public class IdcServiceImpl implements IdcService {
} else {
success = false;
}
syncAddTaskStatus(json.getJSONObject("data"), 3, true, startTime, true,success);
syncAddTaskStatus(json.getJSONObject("data"), 3, true, startTime, true, success);
} else {
if (json.get("code") != null && json.get("data") != null) {
//logger.info("res1-->"+JSON.toJSONString(json));
syncAddTaskStatus(json.getJSONObject("data"), 0, true, startTime, true,success);
syncAddTaskStatus(json.getJSONObject("data"), 0, true, startTime, true, success);
analyMiddle(host, json.getJSONObject("data"), files, false, false);
}
}
@ -552,7 +553,7 @@ public class IdcServiceImpl implements IdcService {
IDCUtils.createDirectory(filePath + filePathSlash + datePath + "/");
if (!FileUtils.makeDirectory(backFilePath + backFileSlash + datePath))
IDCUtils.createDirectory(filePath + backFileSlash + datePath + "/");
if(!FileUtils.makeDirectory(filePath + filePathSlash + imagePath))
if (!FileUtils.makeDirectory(filePath + filePathSlash + imagePath))
IDCUtils.createDirectory(filePath + filePathSlash + imagePath);
FileUtils.SaveFileAs(content, fileName);
FileUtils.SaveFileAs(content, backFileName);
@ -584,7 +585,7 @@ public class IdcServiceImpl implements IdcService {
boolean success = false;
if (isLastLevel()) {
success = analyMiddle("", json, files, true, true);
syncAddTaskStatus(json, 3, true, startTime, true,success);
syncAddTaskStatus(json, 3, true, startTime, true, success);
if (!success) {
return ResultVOUtils.error(9000, "解析失败");
@ -595,11 +596,11 @@ public class IdcServiceImpl implements IdcService {
String host = getNextHost();
String result = relay(request.getHeader("reqNo"), content, saveFiles, host);
if (IDCUtils.isJson(result)) {
syncAddTaskStatus(json, 2, true, startTime, true,true);
syncAddTaskStatus(json, 2, true, startTime, true, true);
BaseResponse object = JSON.parseObject(result, BaseResponse.class);
return object;
} else {
syncAddTaskStatus(json, 2, true, startTime, false,false);
syncAddTaskStatus(json, 2, true, startTime, false, false);
return ResultVOUtils.error(9000, "转发失败");
}
@ -629,7 +630,7 @@ public class IdcServiceImpl implements IdcService {
public void downloadFile(String fileName, HttpServletResponse response) {
OutputStream os;
String filePathSlash = filePath.substring(filePath.length() - 1).equals("/") ? "" : fileName.substring(0, 1).equals("/") ? "" : "/";
String sourceFileName = filePath +filePathSlash+imagePath +fileName;
String sourceFileName = filePath + filePathSlash + imagePath + fileName;
try {
if (FileUtils.isFileExist(sourceFileName)) {
byte[] bytes = FileUtils.readFileByBytes(sourceFileName);
@ -638,7 +639,7 @@ public class IdcServiceImpl implements IdcService {
os.flush();
os.close();
} else {
logger.error("file not exists:"+sourceFileName);
logger.error("file not exists:" + sourceFileName);
}
} catch (IOException e) {
// TODO Auto-generated catch block
@ -717,7 +718,7 @@ public class IdcServiceImpl implements IdcService {
Map<String, Object> whereParams = new HashMap<String, Object>();
whereParams.put("sqlWhere", params.get("sqlWhere"));
String dataWhere = params.get("dataWhere")!=null ? params.get("dataWhere").toString() : "";
String dataWhere = params.get("dataWhere") != null ? params.get("dataWhere").toString() : "";
Map<String, Object> map = new HashMap<String, Object>();
String where = DBAUtils.convertWhere(column, whereParams, dataWhere);
sql += !StringUtils.isEmpty(where) ? " where " + where : "";
@ -826,7 +827,7 @@ public class IdcServiceImpl implements IdcService {
}
saveIdcLog(messageType, "", tableName + ">success", i * limit, total);
}
syncAddTaskStatus(data, isUpload ? 1 : 0, true, startTime, isUpload,success);
syncAddTaskStatus(data, isUpload ? 1 : 0, true, startTime, isUpload, success);
}
}
}
@ -838,7 +839,7 @@ public class IdcServiceImpl implements IdcService {
/*增加同步任务状态*/
private void syncAddTaskStatus(Map<String, Object> json, int scheduleType, boolean success, Date startTime,
boolean isEnd,boolean isReceive) {
boolean isEnd, boolean isReceive) {
try {
String content = JSON.toJSONString(json);
String datePath = DateUtil.formatDate(new Date(), "yyyy-MM-dd");
@ -865,7 +866,7 @@ public class IdcServiceImpl implements IdcService {
map.put("status", success ? "1" : "0");
map.put("receiveStatus", isReceive ? "1" : "0");
map.put("startTime", startTime != null ? startTime : new Date());
if(isReceive)
if (isReceive)
map.put("endTime", new Date());
map.put("updateTime", new Date());
map.put("remark", json.get("messageType") + ": " + json.get("total") + "条");
@ -927,7 +928,7 @@ public class IdcServiceImpl implements IdcService {
for (int i = 0; i < list.size(); i++) {
if (!StringUtils.isEmpty(filePathColumn)) {
files[i] = list.get(i).get(filePathColumn) != null ? list.get(i).get(filePathColumn).toString() : "";
logger.info("file-->"+files[i]);
logger.info("file-->" + files[i]);
}
for (int z = 0; z < 30; z++) {
if (list.get(i).get("data" + z) != null) {
@ -959,7 +960,7 @@ public class IdcServiceImpl implements IdcService {
String[] keyColumn = new String[30];
String[] keyDataType = new String[30];
List<Map<String, String>> columnList = dbDao.listColumnsMysql(tName);
Map<String,Object> column = getColumn(tName);
Map<String, Object> column = getColumn(tName);
boolean result = false;
int key = 0;
int col = 0;
@ -967,7 +968,7 @@ public class IdcServiceImpl implements IdcService {
if (col > 0)
sql += ",";
columnList.get(i).put("attrName", columnList.get(i).get("columnName"));
sql += "`"+columnList.get(i).get("columnName").toString()+"`";
sql += "`" + columnList.get(i).get("columnName").toString() + "`";
col++;
if (uniqueColumn != null && columnList.get(i).get("columnKey") != null && ("," + uniqueColumn + ",").contains("," + columnList.get(i).get("columnName") + ",")) {
keyColumn[key] = columnList.get(i).get("columnName").toString();
@ -997,13 +998,13 @@ public class IdcServiceImpl implements IdcService {
}
if ("A,D,U".contains(operateMode)) {
if(operateMode.equals("D")&&list.get(i).get("uniqueColumn")!=null) {
if (operateMode.equals("D") && list.get(i).get("uniqueColumn") != null) {
String[] ucs = list.get(i).get("uniqueColumn").toString().split(",");
for(String str:ucs) {
Map<String,Object> map = (Map<String, Object>) column.get(str);
for (String str : ucs) {
Map<String, Object> map = (Map<String, Object>) column.get(str);
String dataType = map.get("dataType").toString();
updateWhere += !StringUtils.isEmpty(updateWhere) ? " and " : " ";
updateWhere += str +" = "+(dataType.equals("C") ? "'" : "") + list.get(i).get(str) + (dataType.equals("C") ? "'" : "");
updateWhere += str + " = " + (dataType.equals("C") ? "'" : "") + list.get(i).get(str) + (dataType.equals("C") ? "'" : "");
}
} else {
for (int z = 0; z < keyColumn.length; z++) {
@ -1165,7 +1166,7 @@ public class IdcServiceImpl implements IdcService {
@Override
public boolean signleDownloadFile(String syncIp, String fileName) {
String filePathSlash = filePath.substring(filePath.length() - 1).equals("/") ? "" : "/";
if(!FileUtils.makeDirectory(filePath + filePathSlash + imagePath))
if (!FileUtils.makeDirectory(filePath + filePathSlash + imagePath))
IDCUtils.createDirectory(filePath + filePathSlash + imagePath);
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
@ -1182,37 +1183,36 @@ public class IdcServiceImpl implements IdcService {
int total = 0;
try {
Response result = client.newCall(request).execute();
String msg = result!=null ? result.message().length()>200 ? result.message().substring(0,200) : result.message() : "";
String msg = result != null ? result.message().length() > 200 ? result.message().substring(0, 200) : result.message() : "";
if (result!=null&&result.isSuccessful()&&MediaType.parse("application/force-download").equals(result.body().contentType())) {
if (result != null && result.isSuccessful() && MediaType.parse("application/force-download").equals(result.body().contentType())) {
try (InputStream inputStream = result.body().byteStream()) {
FileOutputStream outputStream = new FileOutputStream(filePath + filePathSlash + imagePath+fileName);
FileOutputStream outputStream = new FileOutputStream(filePath + filePathSlash + imagePath + fileName);
byte b[] = new byte[1024];
byte b[] = new byte[1024];
int len = 0;
while ((len = inputStream.read(b)) != -1) {
total += len;
outputStream.write(b, 0, len);
int len = 0;
while ((len = inputStream.read(b)) != -1) {
total += len;
outputStream.write(b, 0, len);
}
}
outputStream.flush();
outputStream.close();
if(!(total>0)) {
new File(filePath + filePathSlash + imagePath+fileName).delete();
executeSql("delete from idc_file where filePath='"+fileName+"'");
}
outputStream.flush();
outputStream.close();
if (!(total > 0)) {
new File(filePath + filePathSlash + imagePath + fileName).delete();
executeSql("delete from idc_file where filePath='" + fileName + "'");
}
} catch (Exception e) {
e.printStackTrace();
}
}
if(!(total>0)) {
String sql = "replace idc_file (filePath,createTime,msg) values ('"+fileName+"',now(),'"+msg+"')";
if (!(total > 0)) {
String sql = "replace idc_file (filePath,createTime,msg) values ('" + fileName + "',now(),'" + msg + "')";
executeSql(sql);
}
@ -1220,7 +1220,7 @@ public class IdcServiceImpl implements IdcService {
// TODO Auto-generated catch block
e.printStackTrace();
}
return (total>0);
return (total > 0);
}
// @Override
// public boolean signleDownloadFile(String syncIp, String fileName) {
@ -1355,8 +1355,6 @@ public class IdcServiceImpl implements IdcService {
return systemParamConfigEntity;
}
/*把列数据转Map*/
private Map<String, Object> getColumn(String tableName) {
@ -1464,6 +1462,7 @@ public class IdcServiceImpl implements IdcService {
}
}
private void writeFile(byte[] file, String filePath, String fileName) throws Exception {
File targetFile = new File(filePath);
if (!targetFile.exists()) {

@ -49,4 +49,8 @@ public class FilterInvSpaceRequest extends ListPageRequest {
*/
private String remark;
// preIn获取预验收货位,pre:获取寄售货位
private String filterType;
}

@ -165,7 +165,7 @@ public class BussinessTypeSaveRequest {
/**
* 使
*/
private Boolean useDyCount;
private Integer useDyCount;
/**
*
@ -302,6 +302,7 @@ public class BussinessTypeSaveRequest {
private Integer sortNum;
private Boolean advancePreIn;
private int spaceOut;
}

@ -14,5 +14,6 @@ public class FilterOrderPrintRequest {
private Integer type;
private String templateId;
private String orderIdFk;
private Integer status;
}

@ -32,5 +32,7 @@ public class AddOrderRequest {
// 预验收货位
private String checkPreInSpaceCode;
private String curSpaceCode;
private String preCurSpaceCode;
private int fromVailPi; //是否需要校验三期1不需要2需要
}

@ -1,5 +1,6 @@
package com.glxp.api.req.inout;
import com.glxp.api.res.inout.IoOrderDetailResultResponse;
import com.glxp.api.util.page.ListPageRequest;
import lombok.Data;
@ -45,5 +46,7 @@ public class FilterOrderDetailResultRequest extends ListPageRequest {
private String actionType;
private String manufacturer;
private String zczbhhzbapzbh;
private String templateId;
private List<String> actions;
private List<IoOrderDetailResultResponse> list;
}

@ -98,6 +98,12 @@ public class FilterInvPreProductRequest extends ListPageRequest {
*/
private String cplb;
/**
*
*/
private String invSpaceCode;
/**
* 0
*/

@ -103,6 +103,8 @@ public class FilterInvPreinProductRequest extends ListPageRequest {
*/
private String cplb;
private String invSpaceCode;
/**
* 0
*/

@ -75,7 +75,7 @@ public class BasicBussinessTypeResponse {
private int checkBalance;
private boolean secCheckBalance;
private boolean useDyCount;
private int useDyCount;
private boolean expireTip;

@ -167,6 +167,11 @@ public class IoOrderDetailBizResponse {
private boolean regStatus;
private String coldFilePath;
private String checkColdFileName;

@ -0,0 +1,14 @@
package com.glxp.api.res.inout;
import com.glxp.api.entity.inout.IoOrderDetailCodeEntity;
import com.glxp.api.entity.inout.IoOrderInvoiceEntity;
import lombok.Data;
import java.util.List;
@Data
public class RefreshInoiceResponse {
List<IoOrderInvoiceEntity> orderInvoiceEntities;
List<IoOrderDetailCodeEntity> orderDetailCodeEntities;
}

@ -41,7 +41,7 @@ public class BindInvSpaceRequest {
private String code;
/**
* 1 2 3
* 1 2 3 4
*/
private Integer type;
@ -55,4 +55,5 @@ public class BindInvSpaceRequest {
private String changeSpaceCode;
private Integer outCount;
}

@ -118,4 +118,13 @@ public class InvPlaceDetailResponse {
*/
private String manufactory;
private Integer count;
private String cpmctymc;
private int inCount;
private int outCount;
private int reCount;
}

@ -129,4 +129,7 @@ public class InvPreProductDetailResponse {
private String invSpaceName;
// 货位名称
private String spaceName;
}

@ -105,4 +105,6 @@ public class InvPreProductResponse {
*/
private String invCode;
private String measname;
}

@ -105,4 +105,7 @@ public class InvPreinProductResponse {
*/
private String invCode;
// 货位名称
private String spaceName;
}

@ -108,4 +108,9 @@ public class InvProductResponse {
*/
private String invCode;
// 货位编号
private String invSpaceCode;
private String code;
}

@ -73,4 +73,6 @@ public class PurOrderResponse {
private String auditUserName;
private Integer emergency;
private Date arrivalTime;
private String supId;
private String supName;
}

@ -0,0 +1,12 @@
package com.glxp.api.service;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
public interface CustomService<T> extends IService<T> {
int insertIgnore(T entity);
int insertIgnoreBatch(List<T> entityList);
int replace(T entity);
int replaceBatch(List<T> entityList);
}

@ -0,0 +1,29 @@
package com.glxp.api.service;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.glxp.api.dao.BaseMapperPlus;
import java.util.List;
public class CustomServiceImpl<M extends BaseMapper<T>, T> extends ServiceImpl<BaseMapperPlus<M,T,T>, T> implements CustomService<T>{
@Override
public int insertIgnore(T entity) {
return baseMapper.insertIgnore(entity);
}
@Override
public int insertIgnoreBatch(List<T> entityList) {
return baseMapper.insertIgnoreBatch(entityList);
}
@Override
public int replace(T entity) {
return baseMapper.replace(entity);
}
@Override
public int replaceBatch(List<T> entityList) {
return baseMapper.replaceBatch(entityList);
}
}

@ -85,6 +85,8 @@ public interface ISysRoleService {
*/
void checkRoleAllowed(SysRole role);
List<SysUserRole> selectUserRoleList(Long roleId);
/**
*
*

@ -19,6 +19,8 @@ public interface InvWarehouseService extends IService<InvWarehouseEntity> {
InvWarehouseEntity findById(String id);
InvWarehouseEntity findByOne(Integer advanceType);
InvWarehouseEntity selectByThrCode(String code, String thirdSys);
List<InvWarehouseEntity> filterInvSubWarehouse(FilterInvSubWarehouseRequest filterInvSubWarehouseRequest);

@ -57,6 +57,14 @@ public class InvWarehouseServiceImpl extends ServiceImpl<InvWarehouseDao, InvWar
return null;
}
@Override
public InvWarehouseEntity findByOne(Integer advanceType) {
List<InvWarehouseEntity> invWarehouseEntities = invWarehouseDao.selectList(new QueryWrapper<InvWarehouseEntity>().eq("advanceType", advanceType));
if (CollUtil.isNotEmpty(invWarehouseEntities))
return invWarehouseEntities.get(0);
return null;
}
@Override
public InvWarehouseEntity selectByThrCode(String code, String thirdSys) {
FilterInvSubWarehouseRequest filterInvSubWarehouseRequest = new FilterInvSubWarehouseRequest();
@ -132,7 +140,7 @@ public class InvWarehouseServiceImpl extends ServiceImpl<InvWarehouseDao, InvWar
@Override
public boolean deleteById(String id) {
return invWarehouseDao.deleteById(id);
return invWarehouseDao.deleteById(Long.parseLong(id)) > 0;
}
@Override

@ -4,8 +4,6 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.github.pagehelper.PageHelper;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.Constant;
import com.glxp.api.dao.auth.SysRoleMapper;
import com.glxp.api.dao.auth.SysRoleMenuMapper;
@ -187,6 +185,11 @@ public class SysRoleServiceImpl implements ISysRoleService {
}
}
@Override
public List<SysUserRole> selectUserRoleList(Long roleId) {
return sysUserRoleMapper.selectUserRoleList(roleId);
}
/**
*
*

@ -256,7 +256,7 @@ public class BasicBussinessTypeServiceImpl extends ServiceImpl<BasicBussinessTyp
case Constant.ORDER_ACTION_SUP_PREIN:
bussinessTypeEntities = basicBussinessTypeDao.selectList(new QueryWrapper<BasicBussinessTypeEntity>()
.gt("spUse", 0).eq("enable", true).eq("corpType", ConstantStatus.CORP_TYPE_OUT).eq("actionType", 2)
.eq("inStock", true));
.eq("inStock", true).eq("mainAction", ConstantType.TYPE_PUT));
default:
break;

@ -313,7 +313,6 @@ public class IoAddInoutService {
List<IoOrderDetailCodeEntity> ioOrderDetailCodeEntities = orderDetailCodeDao.selectList(new QueryWrapper<IoOrderDetailCodeEntity>().select("id", "count", "reCount", "bindRlFk", "batchNo").eq("orderIdFk", orderEntity.getBillNo()));
UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectSupGroupById(codeTempEntity.getRelId(), codeTempEntity.getSupId());
// UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectGroupById(codeTempEntity.getRelId());
if (CollUtil.isEmpty(ioOrderDetailCodeEntities)) {
orderDetailCodeService.insert(buildEntity(orderEntity, codeTempEntity, udiRelevanceResponse));
} else {
@ -388,6 +387,9 @@ public class IoAddInoutService {
supplementCode.setDeptCode(order.getFromDeptCode());
supplementCode.setOrderId(supplementOrderNo);
supplementCode.setAction(supplementType.getAction());
supplementCode.setWarehouseCode(null);
supplementCode.setPreInSpaceCode(null);
supplementCode.setPreSpaceCode(null);
supplementCode.setMainAction(supplementType.getMainAction());
supplementCodes.add(supplementCode);

@ -257,6 +257,11 @@ public class IoChangeInoutService {
codeTempEntities.add(codeTempEntity);
}
codeTempService.insertBatch(codeTempEntities);
// 生成业务单
if (isGenInovice) {
//生成发票信息
List<IoOrderInvoiceEntity> invoiceEntities = ioOrderInvoiceService.findByBillNo(orderEntity.getBillNo());

@ -14,6 +14,7 @@ import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.entity.basic.UdiEntity;
import com.glxp.api.entity.inout.*;
import com.glxp.api.entity.inv.InvInnerOrderPdfTempEntity;
import com.glxp.api.entity.inv.InvPreInProductDetailEntity;
import com.glxp.api.entity.inv.InvPreinDetailEntity;
import com.glxp.api.res.inout.IoOrderCheckResultResponse;
import com.glxp.api.res.inout.IoOrderDetailBizResponse;
@ -23,10 +24,7 @@ import com.glxp.api.service.basic.IBasicBussinessTypeService;
import com.glxp.api.service.inv.InvPreinDetailService;
import com.glxp.api.service.inv.InvPreinOrderService;
import com.glxp.api.service.inv.InvPreinProductDetailService;
import com.glxp.api.util.CustomUtil;
import com.glxp.api.util.GennerOrderUtils;
import com.glxp.api.util.JasperUtils;
import com.glxp.api.util.OrderNoTypeBean;
import com.glxp.api.util.*;
import com.glxp.api.util.udi.FilterUdiUtils;
import com.glxp.api.util.udi.UdiCalCountUtil;
import net.sf.jasperreports.engine.JRException;
@ -39,6 +37,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.io.IOException;
import java.util.*;
import java.util.stream.Collectors;
/**
*
@ -286,16 +285,20 @@ public class IoCheckInoutService {
if (orderEntity.getFromType() != ConstantStatus.FROM_UDISP) {
orderDetailBizService.deleteByOrderId(orderEntity.getBillNo());
orderDetailResultService.deleteByOrderId(orderEntity.getBillNo());
if (!orderDetailBizService.isExit(orderEntity.getBillNo())) {
orderDetailCodeEntities.forEach(orderDetailCodeEntity ->
{
//生成业务单据
IoOrderDetailBizEntity orderDetailBizEntity = new IoOrderDetailBizEntity();
BeanUtils.copyProperties(orderDetailCodeEntity, orderDetailBizEntity);
orderDetailBizEntity.setCount(orderDetailCodeEntity.getReCount());
orderDetailBizEntity.setId(null);
orderDetailBizService.insert(orderDetailBizEntity);
});
}
orderDetailCodeEntities.forEach(orderDetailCodeEntity ->
{
//生成业务单据
IoOrderDetailBizEntity orderDetailBizEntity = new IoOrderDetailBizEntity();
BeanUtils.copyProperties(orderDetailCodeEntity, orderDetailBizEntity);
orderDetailBizEntity.setCount(orderDetailCodeEntity.getReCount());
orderDetailBizEntity.setId(null);
orderDetailBizService.insert(orderDetailBizEntity);
//生成单据结果
IoOrderDetailResultEntity orderDetailResultEntity = new IoOrderDetailResultEntity();
BeanUtils.copyProperties(orderDetailCodeEntity, orderDetailResultEntity);
@ -866,16 +869,46 @@ public class IoCheckInoutService {
} else { //按仓库货位退货
List<IoCodeEntity> backCodeList = new ArrayList<>();
// 1.获取所有货位
List<IoCodeEntity> codeList = codeService.findByOrderId(orderEntity.getBillNo());
List<String> spaceList = new ArrayList<>();
Map<String, List<IoCodeEntity>> map = codeList.stream().collect(Collectors.groupingBy(t -> t.getPreInSpaceCode()));
for (Map.Entry<String, List<IoCodeEntity>> entry : map.entrySet()) {
spaceList.add(entry.getKey());
}
// 2.获取货位所有库存明细
List<InvPreInProductDetailEntity> invPreInProductDetailEntities = invPreinProductDetailService.findBySpaceList(spaceList);
// 3.扣减数量得出需要退货条码
for (IoCodeEntity codeEntity : codeList) {
int count = invPreinProductDetailService.findCountBySpaceCode(codeEntity.getCode(), orderEntity.getCheckPreInSpaceCode());
if (count > 0) {
codeEntity.setCount(count);
codeEntity.setReCount(udiCalCountUtil.getActCount(codeEntity.getNameCode()));
codeEntity.setWarehouseCode(orderEntity.getCheckPreInSpaceCode());
backCodeList.add(codeEntity);
for (InvPreInProductDetailEntity invPreInProductDetailEntity : invPreInProductDetailEntities) {
if (codeEntity.getCode().equals(invPreInProductDetailEntity.getCode())) {
int reCount = IntUtil.value(invPreInProductDetailEntity.getReCount()) - IntUtil.value(codeEntity.getReCount());
int count = IntUtil.value(invPreInProductDetailEntity.getCount()) - IntUtil.value(codeEntity.getCount());
if (reCount >= 0) {
invPreInProductDetailEntity.setReCount(reCount);
invPreInProductDetailEntity.setCount(count);
break;
} else if (reCount < 0) {
codeEntity.setReCount(-reCount);
codeEntity.setCount(-count);
}
}
}
}
for (InvPreInProductDetailEntity invPreInProductDetailEntity : invPreInProductDetailEntities) {
if (IntUtil.value(invPreInProductDetailEntity.getReCount()) > 0) {
IoCodeEntity ioCodeEntity = new IoCodeEntity();
BeanUtils.copyProperties(invPreInProductDetailEntity, ioCodeEntity);
ioCodeEntity.setWarehouseCode(invPreInProductDetailEntity.getInvSpaceCode());
backCodeList.add(ioCodeEntity);
}
}
// 4.生成退货单
genBackOrder(orderEntity, backCodeList);
}
}
@ -916,6 +949,7 @@ public class IoCheckInoutService {
outOrder.setInvCode(invWarehouseEntity.getCode());
outOrder.setDeptCode(invWarehouseEntity.getParentId());
outOrder.setFromCorp(codeEntity.getSupId());
outOrder.setOrderType(2);
outOrder.setCreateTime(new Date());
outOrder.setFromType(ConstantStatus.FROM_BACK);
String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + StrUtil.trimToEmpty(basicBussinessTypeEntity.getPrefix()), "yyyyMMdd"));

@ -52,6 +52,10 @@ public class IoGenInvService {
IoCodeService codeService;
@Resource
IBasicBusTypePreService basicBusTypePreService;
@Resource
InvUserProductService invUserProductService;
@Resource
InvUserProductDetailService invUserProductDetailService;
@Resource
@ -102,6 +106,7 @@ public class IoGenInvService {
invProductDetailEntity.setRelId(codeEntity.getRelId());
invProductDetailEntity.setUpdateTime(new Date());
invProductDetailEntity.setId(null);
invProductDetailEntity.setInvSpaceCode(codeEntity.getWarehouseCode());
invProductDetailEntity.setPurchaseType(ConstantStatus.PRUCHASE_COMMON);
if (invProductDetailEntity.getMainAction().equals(ConstantType.TYPE_PUT)) {
invProductDetailEntity.setInCount(invProductDetailEntity.getReCount());
@ -121,6 +126,65 @@ public class IoGenInvService {
}
//生成用户普通库存
public void genNorInvUser(String orderId) {
IoOrderEntity orderEntity = orderService.findByBillNo(orderId);
List<IoOrderDetailResultEntity> orderDetailResultEntities = orderDetailResultService.findByOrderId(orderId);
List<IoCodeEntity> codeEnttities = codeService.findByOrderId(orderId);
//生成库存产品表
for (IoOrderDetailResultEntity orderDetailResultEntity : orderDetailResultEntities) {
InvUserProductEntity invUserProductEntity = invUserProductService.selectByUnique(orderDetailResultEntity.getBindRlFk(), orderDetailResultEntity.getBatchNo(), orderDetailResultEntity.getSupId(), orderEntity.getDeptCode(), orderEntity.getInvCode(),orderEntity.getCreateUser(),ConstantStatus.ACTION_TYPE_NORMAL);
if (invUserProductEntity == null) {
invUserProductEntity = new InvUserProductEntity();
invUserProductEntity.setRelIdFk(orderDetailResultEntity.getBindRlFk());
invUserProductEntity.setNameCode(orderDetailResultEntity.getNameCode());
invUserProductEntity.setBatchNo(orderDetailResultEntity.getBatchNo());
invUserProductEntity.setProductionDate(orderDetailResultEntity.getProductDate());
invUserProductEntity.setExpireDate(orderDetailResultEntity.getExpireDate());
invUserProductEntity.setInCount(0);
invUserProductEntity.setType(ConstantStatus.ACTION_TYPE_NORMAL);
invUserProductEntity.setOutCount(0);
invUserProductEntity.setSupId(orderDetailResultEntity.getSupId());
invUserProductEntity.setDeptCode(orderEntity.getDeptCode());
invUserProductEntity.setInvCode(orderEntity.getInvCode());
invUserProductEntity.setCreateTime(new Date());
invUserProductEntity.setUpdateTime(new Date());
invUserProductService.addInvUserProduct(invUserProductEntity);
}
if (orderEntity.getMainAction().equals(ConstantType.TYPE_OUT)) {
invUserProductEntity.setOutCount(invUserProductEntity.getOutCount() + orderDetailResultEntity.getReCount());
} else if (orderEntity.getMainAction().equals(ConstantType.TYPE_PUT)) {
invUserProductEntity.setInCount(invUserProductEntity.getInCount() + orderDetailResultEntity.getReCount());
}
invUserProductEntity.setReCount(invUserProductEntity.getInCount() - invUserProductEntity.getOutCount());
invUserProductEntity.setUpdateTime(new Date());
invUserProductService.updateInvUserProduct(invUserProductEntity);
}
//生成库存码详情
List<InvUserProductDetailEntity> invUserProductDetailEntityList = new ArrayList<>();
for (IoCodeEntity codeEntity : codeEnttities) {
InvUserProductDetailEntity invUserProductDetailEntity = new InvUserProductDetailEntity();
BeanUtils.copyProperties(codeEntity, invUserProductDetailEntity);
invUserProductDetailEntity.setRelId(codeEntity.getRelId());
invUserProductDetailEntity.setUpdateTime(new Date());
invUserProductDetailEntity.setId(null);
invUserProductDetailEntity.setInvSpaceCode(codeEntity.getWarehouseCode());
invUserProductDetailEntity.setPurchaseType(ConstantStatus.PRUCHASE_COMMON);
if (invUserProductDetailEntity.getMainAction().equals(ConstantType.TYPE_PUT)) {
invUserProductDetailEntity.setInCount(invUserProductDetailEntity.getReCount());
} else if (invUserProductDetailEntity.getMainAction().equals(ConstantType.TYPE_OUT)) {
invUserProductDetailEntity.setOutCount(invUserProductDetailEntity.getReCount());
}
invUserProductDetailEntityList.add(invUserProductDetailEntity);
}
invUserProductDetailService.addInvUserProductDetailList(invUserProductDetailEntityList);
}
@Resource
InvPreProductService invPreProductService;
@ -173,6 +237,7 @@ public class IoGenInvService {
invProductDetailEntity.setRelId(codeEntity.getRelId());
invProductDetailEntity.setUpdateTime(new Date());
invProductDetailEntity.setId(null);
invProductDetailEntity.setInvSpaceCode(codeEntity.getPreSpaceCode());
invProductDetailEntity.setPurchaseType(ConstantStatus.PRUCHASE_COMMON);
if (invProductDetailEntity.getMainAction().equals(ConstantType.TYPE_PUT)) {
invProductDetailEntity.setInCount(invProductDetailEntity.getReCount());
@ -187,6 +252,67 @@ public class IoGenInvService {
}
//生成用户寄售库存
public void genUserPreInv(String orderId) {
IoOrderEntity orderEntity = orderService.findByBillNo(orderId);
List<IoOrderDetailResultEntity> orderDetailResultEntities = orderDetailResultService.findByOrderId(orderId);
List<IoCodeEntity> codeEnttities = codeService.findByOrderId(orderId);
//生成库存产品表
for (IoOrderDetailResultEntity orderDetailResultEntity : orderDetailResultEntities) {
InvUserProductEntity invUserProductEntity = invUserProductService.selectByUnique(orderDetailResultEntity.getBindRlFk(), orderDetailResultEntity.getBatchNo(), orderDetailResultEntity.getSupId(), orderEntity.getDeptCode(), orderEntity.getInvCode(),orderEntity.getCreateUser(),ConstantStatus.ACTION_TYPE_PREIN);
if (invUserProductEntity == null) {
invUserProductEntity = new InvUserProductEntity();
invUserProductEntity.setRelIdFk(orderDetailResultEntity.getBindRlFk());
invUserProductEntity.setNameCode(orderDetailResultEntity.getNameCode());
invUserProductEntity.setBatchNo(orderDetailResultEntity.getBatchNo());
invUserProductEntity.setProductionDate(orderDetailResultEntity.getProductDate());
invUserProductEntity.setExpireDate(orderDetailResultEntity.getExpireDate());
invUserProductEntity.setInCount(0);
invUserProductEntity.setType(ConstantStatus.ACTION_TYPE_PREIN);
invUserProductEntity.setOutCount(0);
invUserProductEntity.setSupId(orderDetailResultEntity.getSupId());
invUserProductEntity.setDeptCode(orderEntity.getDeptCode());
invUserProductEntity.setInvCode(orderEntity.getInvCode());
invUserProductEntity.setCreateTime(new Date());
invUserProductEntity.setUpdateTime(new Date());
invUserProductService.addInvUserProduct(invUserProductEntity);
}
if (orderEntity.getMainAction().equals(ConstantType.TYPE_OUT)) {
invUserProductEntity.setOutCount(invUserProductEntity.getOutCount() + orderDetailResultEntity.getReCount());
} else if (orderEntity.getMainAction().equals(ConstantType.TYPE_PUT)) {
invUserProductEntity.setInCount(invUserProductEntity.getInCount() + orderDetailResultEntity.getReCount());
}
invUserProductEntity.setReCount(invUserProductEntity.getInCount() - invUserProductEntity.getOutCount());
invUserProductEntity.setUpdateTime(new Date());
invUserProductService.updateInvUserProduct(invUserProductEntity);
}
//生成库存码详情
List<InvUserProductDetailEntity> invUserProductDetailEntityList = new ArrayList<>();
for (IoCodeEntity codeEntity : codeEnttities) {
InvUserProductDetailEntity invUserProductDetailEntity = new InvUserProductDetailEntity();
BeanUtils.copyProperties(codeEntity, invUserProductDetailEntity);
invUserProductDetailEntity.setRelId(codeEntity.getRelId());
invUserProductDetailEntity.setUpdateTime(new Date());
invUserProductDetailEntity.setId(null);
invUserProductDetailEntity.setInvSpaceCode(codeEntity.getWarehouseCode());
invUserProductDetailEntity.setPurchaseType(ConstantStatus.PRUCHASE_COMMON);
if (invUserProductDetailEntity.getMainAction().equals(ConstantType.TYPE_PUT)) {
invUserProductDetailEntity.setInCount(invUserProductDetailEntity.getReCount());
} else if (invUserProductDetailEntity.getMainAction().equals(ConstantType.TYPE_OUT)) {
invUserProductDetailEntity.setOutCount(invUserProductDetailEntity.getReCount());
}
invUserProductDetailEntityList.add(invUserProductDetailEntity);
}
invUserProductDetailService.addInvUserProductDetailList(invUserProductDetailEntityList);
}
@Resource
InvPreinProductService invPreinProductService;
@ -255,6 +381,7 @@ public class IoGenInvService {
invProductDetailEntity.setRelId(codeEntity.getRelId());
invProductDetailEntity.setUpdateTime(new Date());
invProductDetailEntity.setId(null);
invProductDetailEntity.setInvSpaceCode(codeEntity.getPreInSpaceCode());
invProductDetailEntity.setPurchaseType(ConstantStatus.PRUCHASE_COMMON);
if (invProductDetailEntity.getMainAction().equals(ConstantType.TYPE_PUT)) {
invProductDetailEntity.setInCount(invProductDetailEntity.getReCount());
@ -269,5 +396,66 @@ public class IoGenInvService {
}
//生成用户预验收库存
public void genUserPreInInv(String orderId) {
IoOrderEntity orderEntity = orderService.findByBillNo(orderId);
List<IoOrderDetailResultEntity> orderDetailResultEntities = orderDetailResultService.findByOrderId(orderId);
List<IoCodeEntity> codeEnttities = codeService.findByOrderId(orderId);
//生成库存产品表
for (IoOrderDetailResultEntity orderDetailResultEntity : orderDetailResultEntities) {
InvUserProductEntity invUserProductEntity = invUserProductService.selectByUnique(orderDetailResultEntity.getBindRlFk(), orderDetailResultEntity.getBatchNo(), orderDetailResultEntity.getSupId(), orderEntity.getDeptCode(), orderEntity.getInvCode(),orderEntity.getCreateUser(),ConstantStatus.ACTION_TYPE_ADVANCE);
if (invUserProductEntity == null) {
invUserProductEntity = new InvUserProductEntity();
invUserProductEntity.setRelIdFk(orderDetailResultEntity.getBindRlFk());
invUserProductEntity.setNameCode(orderDetailResultEntity.getNameCode());
invUserProductEntity.setBatchNo(orderDetailResultEntity.getBatchNo());
invUserProductEntity.setProductionDate(orderDetailResultEntity.getProductDate());
invUserProductEntity.setExpireDate(orderDetailResultEntity.getExpireDate());
invUserProductEntity.setInCount(0);
invUserProductEntity.setType(ConstantStatus.ACTION_TYPE_ADVANCE);
invUserProductEntity.setOutCount(0);
invUserProductEntity.setSupId(orderDetailResultEntity.getSupId());
invUserProductEntity.setDeptCode(orderEntity.getDeptCode());
invUserProductEntity.setInvCode(orderEntity.getInvCode());
invUserProductEntity.setCreateTime(new Date());
invUserProductEntity.setUpdateTime(new Date());
invUserProductService.addInvUserProduct(invUserProductEntity);
}
if (orderEntity.getMainAction().equals(ConstantType.TYPE_OUT)) {
invUserProductEntity.setOutCount(invUserProductEntity.getOutCount() + orderDetailResultEntity.getReCount());
} else if (orderEntity.getMainAction().equals(ConstantType.TYPE_PUT)) {
invUserProductEntity.setInCount(invUserProductEntity.getInCount() + orderDetailResultEntity.getReCount());
}
invUserProductEntity.setReCount(invUserProductEntity.getInCount() - invUserProductEntity.getOutCount());
invUserProductEntity.setUpdateTime(new Date());
invUserProductService.updateInvUserProduct(invUserProductEntity);
}
//生成库存码详情
List<InvUserProductDetailEntity> invUserProductDetailEntityList = new ArrayList<>();
for (IoCodeEntity codeEntity : codeEnttities) {
InvUserProductDetailEntity invUserProductDetailEntity = new InvUserProductDetailEntity();
BeanUtils.copyProperties(codeEntity, invUserProductDetailEntity);
invUserProductDetailEntity.setRelId(codeEntity.getRelId());
invUserProductDetailEntity.setUpdateTime(new Date());
invUserProductDetailEntity.setId(null);
invUserProductDetailEntity.setInvSpaceCode(codeEntity.getWarehouseCode());
invUserProductDetailEntity.setPurchaseType(ConstantStatus.PRUCHASE_COMMON);
if (invUserProductDetailEntity.getMainAction().equals(ConstantType.TYPE_PUT)) {
invUserProductDetailEntity.setInCount(invUserProductDetailEntity.getReCount());
} else if (invUserProductDetailEntity.getMainAction().equals(ConstantType.TYPE_OUT)) {
invUserProductDetailEntity.setOutCount(invUserProductDetailEntity.getReCount());
}
invUserProductDetailEntityList.add(invUserProductDetailEntity);
}
invUserProductDetailService.addInvUserProductDetailList(invUserProductDetailEntityList);
}
}

@ -0,0 +1,8 @@
package com.glxp.api.service.inout;
import com.glxp.api.entity.inout.IoOrderMutiEntity;
import com.baomidou.mybatisplus.extension.service.IService;
public interface IoOrderMutiService extends IService<IoOrderMutiEntity>{
}

@ -0,0 +1,8 @@
package com.glxp.api.service.inout;
import com.glxp.api.entity.inout.IoOrderMutiSetEntity;
import com.baomidou.mybatisplus.extension.service.IService;
public interface IoOrderMutiSetService extends IService<IoOrderMutiSetEntity>{
}

@ -0,0 +1,8 @@
package com.glxp.api.service.inout;
import com.glxp.api.entity.inout.IoOrderMutiUseEntity;
import com.baomidou.mybatisplus.extension.service.IService;
public interface IoOrderMutiUseService extends IService<IoOrderMutiUseEntity>{
}

@ -0,0 +1,11 @@
package com.glxp.api.service.inout.impl;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.glxp.api.entity.inout.IoOrderMutiEntity;
import com.glxp.api.dao.inout.IoOrderMutiMapper;
import com.glxp.api.service.inout.IoOrderMutiService;
@Service
public class IoOrderMutiServiceImpl extends ServiceImpl<IoOrderMutiMapper, IoOrderMutiEntity> implements IoOrderMutiService{
}

@ -0,0 +1,11 @@
package com.glxp.api.service.inout.impl;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.glxp.api.entity.inout.IoOrderMutiSetEntity;
import com.glxp.api.dao.inout.IoOrderMutiSetMapper;
import com.glxp.api.service.inout.IoOrderMutiSetService;
@Service
public class IoOrderMutiSetServiceImpl extends ServiceImpl<IoOrderMutiSetMapper, IoOrderMutiSetEntity> implements IoOrderMutiSetService{
}

@ -0,0 +1,11 @@
package com.glxp.api.service.inout.impl;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.glxp.api.dao.inout.IoOrderMutiUseMapper;
import com.glxp.api.entity.inout.IoOrderMutiUseEntity;
import com.glxp.api.service.inout.IoOrderMutiUseService;
@Service
public class IoOrderMutiUseServiceImpl extends ServiceImpl<IoOrderMutiUseMapper, IoOrderMutiUseEntity> implements IoOrderMutiUseService{
}

@ -299,7 +299,7 @@ public class IoOrderServiceImpl implements IoOrderService {
//查询条码
IoOrderEntity orderEntity = findByBillNo(billNo);
if (orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_AUDITED
|| orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_CHECK_SUCCESS) {
|| orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_CHECK_SUCCESS || orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_CHECK_REW) {
//更新正式表
IoCodeEntity ioCodeEntity = codeService.findByUnique(billNo, code);
if (ioCodeEntity.getMyCount() > 1) {
@ -331,12 +331,12 @@ public class IoOrderServiceImpl implements IoOrderService {
InvPreInProductDetailEntity invProductDetailEntity = invPreinProductDetailService.selectByCode(billNo, code);
int count = invProductDetailEntity.getCount() - 1;
int reCount = udiCalCountUtil.getActCount(invProductDetailEntity.getNameCode());
if (count == 0) {
invPreinProductDetailService.deleteById(invProductDetailEntity.getId() + "");
} else {
//更新详情表
invProductDetailEntity.setCount(count);
int reCount = udiCalCountUtil.getActCount(invProductDetailEntity.getNameCode());
invProductDetailEntity.setReCount(invProductDetailEntity.getReCount() - reCount);
invPreinProductDetailService.update(invProductDetailEntity);
}
@ -344,10 +344,10 @@ public class IoOrderServiceImpl implements IoOrderService {
InvPreinProductEntity invProductEntity = invPreinProductService.selectByUnique(invProductDetailEntity.getRelId(), invProductDetailEntity.getBatchNo(), invProductDetailEntity.getSupId(), invProductDetailEntity.getDeptCode(), invProductDetailEntity.getInvCode());
if (invProductEntity != null) {
if (ConstantType.TYPE_PUT.equals(invProductDetailEntity.getMainAction())) {
int inCount = invProductEntity.getInCount() - invProductDetailEntity.getReCount();
int inCount = invProductEntity.getInCount() - reCount;
invProductEntity.setInCount(inCount);
} else if (ConstantType.TYPE_OUT.equals(invProductDetailEntity.getMainAction())) {
int outCount = invProductEntity.getOutCount() - invProductDetailEntity.getReCount();
int outCount = invProductEntity.getOutCount() - reCount;
invProductEntity.setOutCount(outCount);
}
invProductEntity.setReCount(invProductEntity.getInCount() - invProductEntity.getOutCount());
@ -357,12 +357,12 @@ public class IoOrderServiceImpl implements IoOrderService {
} else if (basicBussinessTypeEntity.getActionType() == ConstantStatus.ACTION_TYPE_ADVANCE) { //寄售库存
InvPreProductDetailEntity invProductDetailEntity = invPreProductDetailService.selectByCode(billNo, code);
int count = invProductDetailEntity.getCount() - 1;
int reCount = udiCalCountUtil.getActCount(invProductDetailEntity.getNameCode());
if (count == 0) {
invPreProductService.deleteById(invProductDetailEntity.getId());
} else {
//更新详情表
invProductDetailEntity.setCount(count);
int reCount = udiCalCountUtil.getActCount(invProductDetailEntity.getNameCode());
invProductDetailEntity.setReCount(invProductDetailEntity.getReCount() - reCount);
invPreProductDetailService.update(invProductDetailEntity);
}
@ -370,10 +370,10 @@ public class IoOrderServiceImpl implements IoOrderService {
InvPreProductEntity invProductEntity = invPreProductService.selectByUnique(invProductDetailEntity.getRelId(), invProductDetailEntity.getBatchNo(), invProductDetailEntity.getSupId(), invProductDetailEntity.getDeptCode(), invProductDetailEntity.getInvCode());
if (invProductEntity != null) {
if (ConstantType.TYPE_PUT.equals(invProductDetailEntity.getMainAction())) {
int inCount = invProductEntity.getInCount() - invProductDetailEntity.getReCount();
int inCount = invProductEntity.getInCount() - reCount;
invProductEntity.setInCount(inCount);
} else if (ConstantType.TYPE_OUT.equals(invProductDetailEntity.getMainAction())) {
int outCount = invProductEntity.getOutCount() - invProductDetailEntity.getReCount();
int outCount = invProductEntity.getOutCount() - reCount;
invProductEntity.setOutCount(outCount);
}
invProductEntity.setReCount(invProductEntity.getInCount() - invProductEntity.getOutCount());
@ -382,12 +382,12 @@ public class IoOrderServiceImpl implements IoOrderService {
} else { //普通库存
InvProductDetailEntity invProductDetailEntity = invProductDetailService.selectByCode(billNo, code);
int count = invProductDetailEntity.getCount() - 1;
int reCount = udiCalCountUtil.getActCount(invProductDetailEntity.getNameCode());
if (count == 0) {
invProductDetailService.deleteById(invProductDetailEntity.getId());
} else {
//更新详情表
invProductDetailEntity.setCount(count);
int reCount = udiCalCountUtil.getActCount(invProductDetailEntity.getNameCode());
invProductDetailEntity.setReCount(invProductDetailEntity.getReCount() - reCount);
invProductDetailService.update(invProductDetailEntity);
}
@ -395,10 +395,10 @@ public class IoOrderServiceImpl implements IoOrderService {
InvProductEntity invProductEntity = invProductService.selectByUnique(invProductDetailEntity.getRelId(), invProductDetailEntity.getBatchNo(), invProductDetailEntity.getSupId(), invProductDetailEntity.getDeptCode(), invProductDetailEntity.getInvCode());
if (invProductEntity != null) {
if (ConstantType.TYPE_PUT.equals(invProductDetailEntity.getMainAction())) {
int inCount = invProductEntity.getInCount() - invProductDetailEntity.getReCount();
int inCount = invProductEntity.getInCount() - reCount;
invProductEntity.setInCount(inCount);
} else if (ConstantType.TYPE_OUT.equals(invProductDetailEntity.getMainAction())) {
int outCount = invProductEntity.getOutCount() - invProductDetailEntity.getReCount();
int outCount = invProductEntity.getOutCount() - reCount;
invProductEntity.setOutCount(outCount);
}
invProductEntity.setReCount(invProductEntity.getInCount() - invProductEntity.getOutCount());

@ -7,6 +7,7 @@ import com.glxp.api.req.inv.FilterInvPlaceOrderRequest;
import com.glxp.api.req.inv.FilterInvPlaceRequest;
import com.glxp.api.res.inout.IoOrderResponse;
import com.glxp.api.res.inv.BindInvSpaceRequest;
import com.glxp.api.res.inv.InvPlaceDetailResponse;
import com.glxp.api.res.inv.InvPlaceOrderDetailResponse;
import com.glxp.api.res.inv.InvPlaceOrderResponse;
@ -27,6 +28,15 @@ public interface InvPlaceOrderService {
//批量绑定货位
BaseResponse bindInvSpaceAll(BindInvSpaceRequest bindInvSpaceRequest);
//单条解绑货位
BaseResponse unbindInvSpaceOne(BindInvSpaceRequest bindInvSpaceRequest);
List<InvPlaceOrderDetailResponse> filterInvPlaceOrderDetailList(FilterInvPlaceOrderRequest filterInvPlaceOrderRequest);
//用产品查询
List<InvPlaceDetailResponse> filterProductList(FilterInvPlaceRequest filterInvPlaceOrderRequest);
//用货架查询
List<InvPlaceDetailResponse> filterSpaceList(FilterInvPlaceRequest filterInvPlaceOrderRequest);
}

@ -36,6 +36,13 @@ public interface InvPlaceService {
*/
BaseResponse bindInvOrderSpace(BindInvSpaceRequest bindInvSpaceRequest);
/**
*
*
* @param bindInvSpaceRequest
*/
BaseResponse unbindInvOrderSpace(BindInvSpaceRequest bindInvSpaceRequest);
/**
*
@ -70,4 +77,7 @@ public interface InvPlaceService {
//判断有没有库存
String checkCount(BindInvSpaceRequest bindInvSpaceRequest);
//判断有没有库存
String checkOutCount(BindInvSpaceRequest bindInvSpaceRequest);
}

@ -5,6 +5,7 @@ import com.glxp.api.entity.inv.InvPreProductDetailEntity;
import com.glxp.api.entity.inv.InvProductDetailEntity;
import com.glxp.api.req.inv.FilterInvPreProductDetailRequest;
import com.glxp.api.req.inv.FilterInvProductDetailRequest;
import com.glxp.api.res.inv.InvPlaceDetailResponse;
import com.glxp.api.res.inv.InvPreProductDetailResponse;
import java.util.List;
@ -54,5 +55,7 @@ public interface InvPreProductDetailService {
InvPreProductDetailEntity findUseOneByCode(String code);
int vailStockCount(Long relId, String batchNo, String supId, String deptCode, String invCode, String invSpaceCode);
List<InvPlaceDetailResponse> findByGroupCode(String invCode, String code);
}

@ -4,7 +4,9 @@ import com.glxp.api.entity.inv.InvPreProductEntity;
import com.glxp.api.entity.inv.InvProductDetailEntity;
import com.glxp.api.entity.inv.InvProductEntity;
import com.glxp.api.req.inv.FilterInvPreProductRequest;
import com.glxp.api.req.inv.FilterInvProductRequest;
import com.glxp.api.res.inv.InvPreProductResponse;
import com.glxp.api.res.inv.InvProductResponse;
import java.util.List;
@ -30,6 +32,9 @@ public interface InvPreProductService {
*/
List<InvPreProductResponse> filterList(FilterInvPreProductRequest invPreProductRequest);
List<InvPreProductResponse> findGroupBySpace(FilterInvPreProductRequest invPreProductRequest);
/**
*
*

@ -5,7 +5,9 @@ import com.glxp.api.entity.inv.InvPreProductDetailEntity;
import com.glxp.api.entity.inv.InvPreinDetailEntity;
import com.glxp.api.req.inv.FilterInvPreProductDetailRequest;
import com.glxp.api.req.inv.FilterInvProductDetailRequest;
import com.glxp.api.res.inv.InvPlaceDetailResponse;
import com.glxp.api.res.inv.InvPreProductDetailResponse;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -57,4 +59,10 @@ public interface InvPreinProductDetailService {
int findCountBySpaceCode(String spaceCode, String code);
InvPreInProductDetailEntity findUseOneByCode(String code);
int vailStockCount(Long relId, String batchNo, String supId, String deptCode, String invCode, String invSpaceCode);
List<InvPlaceDetailResponse> findByGroupCode(String invCode, String code);
List<InvPreInProductDetailEntity> findBySpaceList(List<String> spaceList);
}

@ -1,7 +1,9 @@
package com.glxp.api.service.inv;
import com.glxp.api.entity.inv.InvPreinProductEntity;
import com.glxp.api.req.inv.FilterInvPreProductRequest;
import com.glxp.api.req.inv.FilterInvPreinProductRequest;
import com.glxp.api.res.inv.InvPreProductResponse;
import com.glxp.api.res.inv.InvPreinProductResponse;
import java.util.List;
@ -36,6 +38,9 @@ public interface InvPreinProductService {
*/
List<InvPreinProductEntity> filterPreinProductList(FilterInvPreinProductRequest invPreProductRequest);
List<InvPreinProductResponse> findGroupBySpace(FilterInvPreinProductRequest filterInvPreinDetailRequest);
/**
* ID
*

@ -3,7 +3,9 @@ package com.glxp.api.service.inv;
import com.glxp.api.entity.inv.InvPreinDetailEntity;
import com.glxp.api.entity.inv.InvProductDetailEntity;
import com.glxp.api.req.inv.FilterInvProductDetailRequest;
import com.glxp.api.res.inv.InvPlaceDetailResponse;
import com.glxp.api.res.inv.InvProductDetailResponse;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -50,4 +52,7 @@ public interface InvProductDetailService {
int vailStockCount(Long relId, String batchNo, String supId, String deptCode, String invCode, String invSpaceCode);
List<InvPlaceDetailResponse> findByGroupCode(String invCode, String code);
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save