diff --git a/api-admin/pom.xml b/api-admin/pom.xml index e686ca6..5c23b5e 100644 --- a/api-admin/pom.xml +++ b/api-admin/pom.xml @@ -84,7 +84,11 @@ druid-spring-boot-starter 1.1.10 - + + com.glxp + tochina + 1.0 + @@ -237,8 +241,13 @@ olap4j - + + org.codehaus.groovy + groovy + 3.0.7 + + net.sf.jasperreports jasperreports @@ -302,6 +311,9 @@ org.springframework.boot spring-boot-maven-plugin + + true + diff --git a/api-admin/src/main/java/com/glxp/sale/ApiAdminApplication.java b/api-admin/src/main/java/com/glxp/sale/ApiAdminApplication.java index aa929b2..2279a44 100644 --- a/api-admin/src/main/java/com/glxp/sale/ApiAdminApplication.java +++ b/api-admin/src/main/java/com/glxp/sale/ApiAdminApplication.java @@ -12,9 +12,11 @@ import org.springframework.boot.web.servlet.support.SpringBootServletInitializer public class ApiAdminApplication extends SpringBootServletInitializer { - public static void main(String[] args) { - SpringApplication.run(ApiAdminApplication.class, args); + SpringApplication application = new SpringApplication(ApiAdminApplication.class); + application.addInitializers(new ToolApplicationContextInitializer()); + application.run(args); +// SpringApplication.run(ApiAdminApplication.class, args); } @Override diff --git a/api-admin/src/main/java/com/glxp/sale/ToolApplicationContextInitializer.java b/api-admin/src/main/java/com/glxp/sale/ToolApplicationContextInitializer.java new file mode 100644 index 0000000..1057b7f --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/ToolApplicationContextInitializer.java @@ -0,0 +1,39 @@ +package com.glxp.sale; + +import com.glxp.sale.admin.util.HardWareUtils; +import com.glxp.sale.admin.util.RsaUtils; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.ApplicationContextInitializer; +import org.springframework.context.ConfigurableApplicationContext; +import org.springframework.context.annotation.Configuration; + +public class ToolApplicationContextInitializer implements ApplicationContextInitializer { + + @Override + public void initialize(ConfigurableApplicationContext configurableApplicationContext) { + String myKey = RsaUtils.readFileContent(""); + System.out.println(myKey); + String publicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtaHLiDtscnwyee4lG9jC" + + "8GUEZYIuBoz49W3GSy2LEOVpKRyiQNCjRmybvQS5qKdsb3pV720HQJnv/nQLnsg/" + + "vWbFc9L09fEeJdDZxQOf8D7CHeVgLd8+fh/GezQCVLijGlbAVORXOrFo5McdyOds" + + "LJey1x4HxIR13a79JHB7sdve14A2aS6bQ7NPWu8hM9LpJd1hylsXgdBpR+iX3DPF" + + "eep8Sx8jPnWfUfGF2pDNE3h1uz9RylGBYUz4tDPzz0IXO7vZkyUFXeslzKFDFcmh" + + "hbn1tobX+al4XvfRpjoCjST2mRfqCt4aNuBDM1LHMzyMBVJpfui91ikLGMgP4Gdf" + + "swIDAQAB"; + try { + + String result = RsaUtils.publicKeyDecrypt(myKey, publicKey); + System.out.println(result); + String hardInfo = HardWareUtils.getMachineInfo(); + System.out.println(hardInfo); + if (!result.equals(hardInfo)) { + System.exit(1); + } +// System.out.println(hardInfo); + + } catch (Exception e) { + e.printStackTrace(); + System.exit(1); + } + } +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/config/HeaderRequestInterceptor.java b/api-admin/src/main/java/com/glxp/sale/admin/config/HeaderRequestInterceptor.java new file mode 100644 index 0000000..daeb814 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/config/HeaderRequestInterceptor.java @@ -0,0 +1,26 @@ +package com.glxp.sale.admin.config; + +import org.springframework.http.HttpRequest; +import org.springframework.http.client.ClientHttpRequestExecution; +import org.springframework.http.client.ClientHttpRequestInterceptor; +import org.springframework.http.client.ClientHttpResponse; + +import java.io.IOException; + +public class HeaderRequestInterceptor implements ClientHttpRequestInterceptor { + + private final String headerName; + + private final String headerValue; + + public HeaderRequestInterceptor(String headerName, String headerValue) { + this.headerName = headerName; + this.headerValue = headerValue; + } + + @Override + public ClientHttpResponse intercept(HttpRequest request, byte[] body, ClientHttpRequestExecution execution) throws IOException { + request.getHeaders().set(headerName, headerValue); + return execution.execute(request, body); + } +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/config/RestTemplateConfig.java b/api-admin/src/main/java/com/glxp/sale/admin/config/RestTemplateConfig.java new file mode 100644 index 0000000..f7170f7 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/config/RestTemplateConfig.java @@ -0,0 +1,24 @@ +package com.glxp.sale.admin.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.http.client.ClientHttpRequestInterceptor; +import org.springframework.web.client.RestTemplate; + +import java.util.ArrayList; +import java.util.List; + +@Configuration +public class RestTemplateConfig { + + @Bean + public RestTemplate restTemplate() { + List interceptors = new ArrayList<>(); + interceptors.add(new HeaderRequestInterceptor("token", "123")); + + RestTemplate restTemplate = new RestTemplate(); + restTemplate.setInterceptors(interceptors); + + return restTemplate; + } +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/constant/ConstantStatus.java b/api-admin/src/main/java/com/glxp/sale/admin/constant/ConstantStatus.java index 41901dd..cd4abad 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/constant/ConstantStatus.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/constant/ConstantStatus.java @@ -8,6 +8,7 @@ public class ConstantStatus { public static final Integer ORDER_STATUS_CHECK = 2; //等待校验 public static final Integer ORDER_STATUS_FAIL = 3; //重码校验失败 public static final Integer ORDER_STATUS_SUCCESS = 4; //已校验 + public static final Integer ORDER_STATUS_ADDITIONAL = 5; //补录单据 //ERP校验状态 public static final Integer ORDER_CHECK_SUCCESS = 2; //校验成功 @@ -32,6 +33,11 @@ public class ConstantStatus { public static String SORDER_CHECKED = "4";//已校验 public static String SORDER_DELIVER = "5";//已送货 + public static final int RECEIVE_UN = 0; //未验收 + public static final int RECEIVE_ED = 1; //已验收 + public static final int RECEIVE_NOT = 2;//不需要验收 + + public static String SORDER_PRINT_UN = "101";//101:未打印,102:已打印 public static String SORDER_PRINT_ED = "102";// @@ -42,11 +48,46 @@ public class ConstantStatus { public static String ST_SCAN_ADD = "3"; //扫码单据转换 //业务单据详情,DI绑定状态 + public static int ORDER_DETAIL_DI_NONE = 2; public static int ORDER_DETAIL_DI_MUTI = 1; public static int ORDER_DETAIL_DI_ONE = 0; + + //业务单据详情,DI绑定供应商状态 + public static int ORDER_DETAIL_SUP_NONE = 2; + public static int ORDER_DETAIL_SUP_MUTI = 1; + public static int ORDER_DETAIL_SUP_ONE = 0; + //UDI产品信息表字段类型 public static final Integer PRODUCT_TYPE_UDI = 0; public static final Integer PRODUCT_TYPE_THIRD = 1; + + //采购类型 + public static final Integer PRUCHASE_ADVANCE = 1; //预入库 + public static final Integer PRUCHASE_COMMON = 2; //普通采购 + + + //往来单位类型 + public static final int CORP_SICK = 1; //病人 + public static final int CORP_SP = 2; //供应商 + public static final int CORP_INTTERNAL = 3; //内部科室等 + + + //单据来源 + public static final int FROM_UDIMS = 1; //1.UDIMS平台 + public static final int FROM_WEBNEW = 2; //网页新增 + public static final int FROM_PDAED = 3; //pda已校验 + public static final int FROM_PDAUN = 4; //pda未校验 + public static final int FROM_PC = 5; //pc端扫码精灵 + public static final int FROM_CHANGE = 6; //单据流转 + public static final int FROM_UDISP = 7; //udi供应商平台 + + + //DI类型 + public static final int DITYPE_MAIN = 1; //主标识 + public static final int DITYPE_SYDY = 2; //使用单元标识 + public static final int DITYPE_OWN = 3; //本体标识 + public static final int DITYPE_PACK = 4; //包装标识 + } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/constant/ConstantType.java b/api-admin/src/main/java/com/glxp/sale/admin/constant/ConstantType.java index 61fa57d..794e3c8 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/constant/ConstantType.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/constant/ConstantType.java @@ -2,22 +2,27 @@ package com.glxp.sale.admin.constant; public interface ConstantType { - String TYPE_PUT_PRODUCT = "ProduceWareHouseIn"; //生产入库 - String TYPE_PUT_PURCHASE = "PurchaseWareHouseIn"; //采购入库 - String TYPE_PUT_RETURN = "ReturnWareHouseIn"; //退货入库 - String TYPE_PUT_ALLOT = "AllocateWareHouseIn"; //调拨入库 + String TYPE_PUT_PRODUCT = "ProduceWareHouseIn"; //生产入库 + String TYPE_PUT_PURCHASE = "PurchaseWareHouseIn"; //采购入库 + String TYPE_PUT_RETURN = "ReturnWareHouseIn"; //退货入库 + String TYPE_PUT_ALLOT = "AllocateWareHouseIn"; //调拨入库 - String TYPE_OUT_SALE = "SalesWareHouseOut"; //销售出库 - String TYPE_OUT_RETURN = "ReturnWareHouseOut"; //退货出库 - String TYPE_OUT_ALLOT = "AllocateWareHouseOut"; //调拨出库 - String TYPE_OUT_DESTORY = "DestoryWareHouseOut"; //销毁出库 - String TYPE_OUT_STRAIGHT = "DirectAllocateWareHouseOut"; //直调出库 - String TYPE_OUT_REWORK = "ReworkWareHouseOut"; //返工出库 - String TYPE_OUT_CHECK = "CheckWareHouseOut"; //盘点 抽检出库 - String TYPE_CODE_REPLACE = "CodeReplace"; //码替换 - String TYPE_CODE_DESTORY = "CodeDestory"; //码注销 - String TYPE_STOCK_CHECK = "StockCheck"; //盘点 + String TYPE_OUT_SALE = "SalesWareHouseOut"; //销售出库 + String TYPE_OUT_RETURN = "ReturnWareHouseOut"; //退货出库 + String TYPE_OUT_ALLOT = "AllocateWareHouseOut"; //调拨出库 + String TYPE_OUT_DESTORY = "DestoryWareHouseOut"; //销毁出库 + String TYPE_OUT_STRAIGHT = "DirectAllocateWareHouseOut"; //直调出库 + String TYPE_OUT_REWORK = "ReworkWareHouseOut"; //返工出库 + String TYPE_OUT_CHECK = "CheckWareHouseOut"; //盘点 抽检出库 + String TYPE_CODE_REPLACE = "CodeReplace"; //码替换 + String TYPE_CODE_DESTORY = "CodeDestory"; //码注销 + String TYPE_STOCK_CHECK = "StockCheck"; //盘点 - String TYPE_PUT = "WareHouseIn"; //出库 - String TYPE_OUT = "WareHouseOut"; //入库 + String TYPE_PUT = "WareHouseIn"; //出库 + String TYPE_OUT = "WareHouseOut"; //入库 + + + String TYPE_IN_CONSIGN = "ConsignWareHouseIn"; //寄售入库 + String TYPE_OUT_CLINIC = "ClinicWareHouseOut"; //临床出库 + String TYPE_OUT_CONSIGN = "ConsignWareHouseOut"; //寄售出库 } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/auth/AuthAdminController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/auth/AuthAdminController.java index b45c603..f625465 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/auth/AuthAdminController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/auth/AuthAdminController.java @@ -291,7 +291,7 @@ public class AuthAdminController { } // 修改角色 - if (authAdminSaveRequest.getRoles() != null) { + if (authAdminSaveRequest.getRoles() != null && authAdminSaveRequest.getRoles().size() > 0) { // 先删除之前的 authRoleAdminService.deleteByAdminId(authAdmin.getId()); authRoleAdminService.insertRolesAdminIdAll(authAdminSaveRequest.getRoles(), authAdmin.getId()); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/auth/CustomerController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/auth/CustomerController.java index 0865ba6..db24571 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/auth/CustomerController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/auth/CustomerController.java @@ -165,9 +165,10 @@ public class CustomerController { customerInfoService.deleteById(Long.parseLong(id)); customerContactService.deleteById(Long.parseLong(id)); userRegisterService.deleteByCustomerId(Long.parseLong(id)); + authAdminService.deleteByCustomerId(Long.parseLong(id)); + companyService.deleteCompany(Long.parseLong(id)); // systemPDFTemplateRelevanceService.deleteByCustomerId(Long.parseLong(id)); - return ResultVOUtils.success("删除成功"); } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/auth/LoginController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/auth/LoginController.java index b541ff4..2319fcb 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/auth/LoginController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/auth/LoginController.java @@ -84,7 +84,7 @@ public class LoginController { Map claims = new HashMap<>(); claims.put("admin_id", authAdmin.getId()); - String token = JwtUtils.createToken(claims, 86400L); // 一天后过期 + String token = JwtUtils.createToken(claims, 86400L); // 一天后过期86400L Map map = new HashMap<>(); map.put("id", authAdmin.getId()); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/auth/RegisterController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/auth/RegisterController.java index 471fd58..c7c7003 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/auth/RegisterController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/auth/RegisterController.java @@ -198,26 +198,26 @@ public class RegisterController { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } log.info(httpSession.getId()); -// JSONObject userCode = (JSONObject) httpSession.getAttribute("code"); -// if (userCode == null) { -// return ResultVOUtils.error(500, "验证码已失效,请重新获取"); -// } -// long lastTime = userCode.getLong("createTime"); -// int checkCode = (Integer) userCode.get("code"); -// String phoneNum = userCode.getString("memPhone"); -// if ((System.currentTimeMillis() - lastTime) > 1000 * 60 * 5) { -// return ResultVOUtils.error(500, "验证码已过期,请重新获取"); -// } -// if (checkCode != userRegisterEntity.getCheckCode()) { -// return ResultVOUtils.error(500, "验证码错误,请重新获取"); -// } -// if (!phoneNum.equals(userRegisterEntity.getMobile())) { -// return ResultVOUtils.error(500, "手机号与获取验证码不一致"); -// } -// boolean isExitPhone = userRegisterService.isExit(userRegisterEntity.getMobile()); -// if (isExitPhone) { -// return ResultVOUtils.error(500, "该手机号已被注册"); -// } + JSONObject userCode = (JSONObject) httpSession.getAttribute("code"); + if (userCode == null) { + return ResultVOUtils.error(500, "验证码已失效,请重新获取"); + } + long lastTime = userCode.getLong("createTime"); + int checkCode = (Integer) userCode.get("code"); + String phoneNum = userCode.getString("memPhone"); + if ((System.currentTimeMillis() - lastTime) > 1000 * 60 * 5) { + return ResultVOUtils.error(500, "验证码已过期,请重新获取"); + } + if (checkCode != userRegisterEntity.getCheckCode()) { + return ResultVOUtils.error(500, "验证码错误,请重新获取"); + } + if (!phoneNum.equals(userRegisterEntity.getMobile())) { + return ResultVOUtils.error(500, "手机号与获取验证码不一致"); + } + boolean isExitPhone = userRegisterService.isExit(userRegisterEntity.getMobile()); + if (isExitPhone) { + return ResultVOUtils.error(500, "该手机号已被注册"); + } userRegisterEntity.setRegisterTime(DateUtil.getDateTime()); userRegisterEntity.setCheckType(0);//未审核 @@ -386,11 +386,6 @@ public class RegisterController { setupEntity.setCustomerId(userId + ""); setupService.insertSetup(setupEntity); - //生产接口调用日志 - ApilogEntity apilogEntity = new ApilogEntity(); - apilogEntity.setCustomerId(userId + ""); - apilogEntity.setLsyd_query_getentinfo(1); - apilogService.insertApilog(apilogEntity); if (!b) { return ResultVOUtils.error(ResultEnum.NOT_NETWORK); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/BasicUnitMaintainController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/BasicUnitMaintainController.java index 8d25727..a2d0182 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/BasicUnitMaintainController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/BasicUnitMaintainController.java @@ -1,16 +1,16 @@ package com.glxp.sale.admin.controller.basic; import com.github.pagehelper.PageInfo; +import com.glxp.sale.admin.constant.ConstantStatus; import com.glxp.sale.admin.entity.basic.BasicThirdSysDetailEntity; import com.glxp.sale.admin.entity.basic.BasicThirdSysEntity; import com.glxp.sale.admin.entity.basic.BasicUnitMaintainEntity; import com.glxp.sale.admin.entity.param.SystemParamConfigEntity; +import com.glxp.sale.admin.entity.thrsys.ThrCorpEntity; import com.glxp.sale.admin.httpclient.ErpBasicClient; -import com.glxp.sale.admin.req.basic.BasicUnitMaintainFilterRequest; -import com.glxp.sale.admin.req.basic.CombineSingleUnitRequest; -import com.glxp.sale.admin.req.basic.CombineUnitRequest; -import com.glxp.sale.admin.req.basic.FilterBasicThirdSysRequest; +import com.glxp.sale.admin.req.basic.*; import com.glxp.sale.admin.req.info.DeleteRequest; +import com.glxp.sale.admin.req.thrsys.FilterThrCorpRequest; import com.glxp.sale.admin.res.PageSimpleResponse; import com.glxp.sale.admin.res.basic.BasicProductThirdSysResponse; import com.glxp.sale.admin.res.basic.BasicUnitMaintainResponse; @@ -19,6 +19,7 @@ import com.glxp.sale.admin.service.basic.BasicThirdSysDetailService; import com.glxp.sale.admin.service.basic.BasicThirdSysService; import com.glxp.sale.admin.service.basic.BasicUnitMaintainService; import com.glxp.sale.admin.service.param.SystemParamConfigService; +import com.glxp.sale.admin.service.thrsys.ThrCorpService; import com.glxp.sale.admin.thread.BasicUnitImportService; import com.glxp.sale.admin.util.CustomUtil; import com.glxp.sale.common.enums.ResultEnum; @@ -54,6 +55,8 @@ public class BasicUnitMaintainController { private BasicThirdSysService basicThirdSysService; @Resource BasicUnitImportService basicUnitImportService; + @Resource + private ThrCorpService thrCorpService; @GetMapping("/udiwms/basic/unit/maintain/filter") public BaseResponse filterBasicUnitMaintain(BasicUnitMaintainFilterRequest basicUnitMaintainFilterRequest, @@ -138,6 +141,7 @@ public class BasicUnitMaintainController { { BasicUnitMaintainResponse basicUnitMaintainResponse = new BasicUnitMaintainResponse(); BeanUtils.copyProperties(item, basicUnitMaintainResponse); + basicUnitMaintainResponse.setUnitId(item.getErpId()); return basicUnitMaintainResponse; }).collect(Collectors.toList()); PageInfo pageInfo; @@ -184,6 +188,7 @@ public class BasicUnitMaintainController { basicUnitMaintainEntity.setCreditNo(erpUnitsResponse.getCreditNo()); basicUnitMaintainEntity.setContact(erpUnitsResponse.getContact()); basicUnitMaintainEntity.setMobile(erpUnitsResponse.getMobile()); + basicUnitMaintainEntity.setCorpType(ConstantStatus.CORP_SP); basicUnitMaintainEntity.setUpdateTime(new Date()); basicUnitMaintainService.insertBasicUnitMaintain(basicUnitMaintainEntity); } @@ -239,7 +244,7 @@ public class BasicUnitMaintainController { basicUnitMaintainEntity.setThirdName4(erpUnitsResponse.getName()); } } - basicUnitMaintainEntity.setThirdName(erpUnitsResponse.getName()); +// basicUnitMaintainEntity.setThirdName(erpUnitsResponse.getName()); // basicUnitMaintainEntity.setSpell(erpUnitsResponse.getSpell()); // basicUnitMaintainEntity.setAddr(erpUnitsResponse.getAddr()); // basicUnitMaintainEntity.setCreditNo(erpUnitsResponse.getCreditNo()); @@ -249,8 +254,30 @@ public class BasicUnitMaintainController { return ResultVOUtils.success("关联成功"); } + //解除绑定 + @GetMapping("/udiwms/unit/thirdSys/removeRl") + public BaseResponse uploadThirdServcie(RemoveRelRequest removeRelRequest) { + BasicUnitMaintainEntity udiRelevanceEntity = basicUnitMaintainService.selectById(removeRelRequest.getRelId()); + if (removeRelRequest.getThirdSys().equals("thirdId")) { + udiRelevanceEntity.setThirdId(""); + udiRelevanceEntity.setThirdName(""); + } else if (removeRelRequest.getThirdSys().equals("thirdId1")) { + udiRelevanceEntity.setThirdId1(""); + udiRelevanceEntity.setThirdName1(""); + } else if (removeRelRequest.getThirdSys().equals("thirdId2")) { + udiRelevanceEntity.setThirdId2(""); + udiRelevanceEntity.setThirdName2(""); + } else if (removeRelRequest.getThirdSys().equals("thirdId3")) { + udiRelevanceEntity.setThirdId3(""); + udiRelevanceEntity.setThirdName3(""); + } else if (removeRelRequest.getThirdSys().equals("thirdId4")) { + udiRelevanceEntity.setThirdId4(""); + udiRelevanceEntity.setThirdName4(""); + } + basicUnitMaintainService.updateById(udiRelevanceEntity); - + return ResultVOUtils.success("解除绑定成功!"); + } @PostMapping("/udiwms/basic/unit/maintain/delete") public BaseResponse deleteBasicUnitMaintain(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) { @@ -264,7 +291,69 @@ public class BasicUnitMaintainController { return ResultVOUtils.success("删除成功"); } + //查询ERP往来单位 + @GetMapping("/udiwms/unitMaintain/filterErp") + public BaseResponse filterErp(BasicUnitMaintainFilterRequest unitMaintainFilterRequest, + BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + BasicThirdSysDetailEntity basicThirdSysDetailEntity = basicThirdSysDetailService.selectByKey("corpUrl", unitMaintainFilterRequest.getThirdSys()); + if (basicThirdSysDetailEntity == null || basicThirdSysDetailEntity.getValue() == null) + return ResultVOUtils.error(500, "往来单位接口地址未定义"); + if (basicThirdSysDetailEntity.getEnabled()) { + if (basicThirdSysDetailEntity.getFromType() == 0 || (unitMaintainFilterRequest.getIsDownThrSys() != null && unitMaintainFilterRequest.getIsDownThrSys())) { + BaseResponse> udiDlDeviceResponse = + new ErpBasicClient().getErpCrop(unitMaintainFilterRequest, basicThirdSysDetailEntity.getValue()); + + if (udiDlDeviceResponse.getCode() == 20000) { + for (ErpUnitsResponse erpUnitsResponse : udiDlDeviceResponse.getData().getList()) { + BasicUnitMaintainEntity basicUnitMaintainEntity = basicUnitMaintainService.selectByThirdId(erpUnitsResponse.getId(), unitMaintainFilterRequest.getThirdSys()); + if (basicUnitMaintainEntity != null) { + erpUnitsResponse.setChecked(true); + } else { + erpUnitsResponse.setChecked(false); + } + } + + return udiDlDeviceResponse; + } else { + return udiDlDeviceResponse; + } + + } else { + FilterThrCorpRequest filterThrCorpRequest = new FilterThrCorpRequest(); + BeanUtils.copyProperties(unitMaintainFilterRequest, filterThrCorpRequest); + filterThrCorpRequest.setThirdSysFk(unitMaintainFilterRequest.getThirdSys()); + List thrCorpEntities + = thrCorpService.filterThrCorps(filterThrCorpRequest); + List thrCorpEntityList = thrCorpEntities.stream().map(item -> + { + ThrCorpEntity thrCorpEntity = new ThrCorpEntity(); + BeanUtils.copyProperties(item, thrCorpEntity); + BasicUnitMaintainEntity basicUnitMaintainEntity = basicUnitMaintainService.selectByThirdId(item.getUnitId(), unitMaintainFilterRequest.getThirdSys()); + if (basicUnitMaintainEntity != null) { + thrCorpEntity.setChecked(true); + } else { + thrCorpEntity.setChecked(false); + } + thrCorpEntity.setId(item.getUnitId()); + return thrCorpEntity; + }).collect(Collectors.toList()); + PageInfo pageInfo; + pageInfo = new PageInfo<>(thrCorpEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(thrCorpEntityList); + return ResultVOUtils.success(pageSimpleResponse); + } + } else { + return ResultVOUtils.error(500, "第三方往来单位服务未启用"); + } + + + } //获取产品信息详情(多平台) @GetMapping("/udiwms/unitMaintain/thirdSys/detail") diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/BussinessChangeTypeController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/BussinessChangeTypeController.java new file mode 100644 index 0000000..2f016ac --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/BussinessChangeTypeController.java @@ -0,0 +1,126 @@ +package com.glxp.sale.admin.controller.basic; + +import com.github.pagehelper.PageInfo; +import com.glxp.sale.admin.constant.ConstantType; +import com.glxp.sale.admin.dao.basic.BussinessChangeTypeDao; +import com.glxp.sale.admin.entity.basic.BussinessChangeTypeEntity; +import com.glxp.sale.admin.entity.basic.BussinessLocalTypeEntity; +import com.glxp.sale.admin.entity.basic.BussinessTypeEntity; +import com.glxp.sale.admin.req.basic.BussinessTypeFilterRequest; +import com.glxp.sale.admin.req.info.DeleteRequest; +import com.glxp.sale.admin.res.PageSimpleResponse; +import com.glxp.sale.admin.service.basic.BussinessChangeTypeService; +import com.glxp.sale.admin.service.basic.BussinessLocalTypeService; +import com.glxp.sale.admin.service.basic.BussinessTypeService; +import com.glxp.sale.common.enums.ResultEnum; +import com.glxp.sale.common.res.BaseResponse; +import com.glxp.sale.common.util.ResultVOUtils; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; + +@RestController +public class BussinessChangeTypeController { + + + @Resource + private BussinessChangeTypeService bussinessChangeTypeService; + @Resource + private BussinessTypeService bussinessTypeService; + @Resource + private BussinessLocalTypeService bussinessLocalTypeService; + + @GetMapping("/spms/bussinessChangeType/filter") + public BaseResponse filterBussinessType(BussinessTypeFilterRequest bussinessTypeFilterRequest, + BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List bussinessTypeEntities; + BussinessLocalTypeEntity bussinessLocalTypeEntity = bussinessLocalTypeService.findBTByAction(bussinessTypeFilterRequest.getAction()); + BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(bussinessLocalTypeEntity.getAction()); + bussinessTypeEntities = bussinessChangeTypeService.findByAction(bussinessTypeFilterRequest.getAction()); + + if (bussinessTypeEntities == null || bussinessTypeEntities.size() == 0) { + //创建对应流转单据 + if (bussinessTypeFilterRequest.getType() != null + && "changeEnable".equals(bussinessTypeFilterRequest.getType()) + ) { + if (ConstantType.TYPE_PUT.equals(bussinessTypeEntity.getMainAction()) && !bussinessTypeEntity.isAdvanceType()) { + BussinessChangeTypeEntity bussinessChangeTypeEntity1 = new BussinessChangeTypeEntity(); + bussinessChangeTypeEntity1.setIntro("入库自动补\"寄售出库单\""); + bussinessChangeTypeEntity1.setIndex(1); + bussinessChangeTypeEntity1.setAction(bussinessTypeFilterRequest.getAction()); + bussinessChangeTypeService.insertBusChangeTypee(bussinessChangeTypeEntity1); + + } else if (ConstantType.TYPE_OUT.equals(bussinessTypeEntity.getMainAction()) && !bussinessTypeEntity.isAdvanceType()) { + + bussinessTypeEntities = bussinessChangeTypeService.findByAction(bussinessTypeFilterRequest.getAction()); + BussinessChangeTypeEntity bussinessChangeTypeEntity1 = new BussinessChangeTypeEntity(); + bussinessChangeTypeEntity1.setIntro("出库自动补\"采购入库单\""); + bussinessChangeTypeEntity1.setIndex(1); + bussinessChangeTypeEntity1.setAction(bussinessTypeFilterRequest.getAction()); + bussinessChangeTypeService.insertBusChangeTypee(bussinessChangeTypeEntity1); + } else if (ConstantType.TYPE_OUT.equals(bussinessTypeEntity.getMainAction()) && bussinessTypeEntity.isAdvanceType()) { + + bussinessTypeEntities = bussinessChangeTypeService.findByAction(bussinessTypeFilterRequest.getAction()); + BussinessChangeTypeEntity bussinessChangeTypeEntity1 = new BussinessChangeTypeEntity(); + bussinessChangeTypeEntity1.setIntro("出库自动补\"寄售入库单\""); + bussinessChangeTypeEntity1.setIndex(1); + bussinessChangeTypeEntity1.setAction(bussinessTypeFilterRequest.getAction()); + bussinessChangeTypeService.insertBusChangeTypee(bussinessChangeTypeEntity1); + } + } + } + return ResultVOUtils.success(bussinessTypeEntities); + } + + + @PostMapping("/spms/bussinessChangeType/delete") + public BaseResponse deleteBussinessType(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + String id = deleteRequest.getId(); + bussinessChangeTypeService.deleteById(id); + return ResultVOUtils.success("删除成功"); + } + + @PostMapping("/spms/bussinessChangeType/update") + public BaseResponse updateBussinessType(@RequestBody BussinessChangeTypeEntity bussinessTypeEntity, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + if (bussinessTypeEntity != null) { + bussinessChangeTypeService.updateBusChangeType(bussinessTypeEntity); + } else { + ResultVOUtils.error(999, "参数错误"); + } + return ResultVOUtils.success("更新成功"); + } + + + @PostMapping("/spms/bussinessChangeType/insert") + public BaseResponse insertBussinessType(@RequestBody BussinessChangeTypeEntity + bussinessTypeEntity, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + if (bussinessTypeEntity != null) { + bussinessChangeTypeService.insertBusChangeTypee(bussinessTypeEntity); + } else { + ResultVOUtils.error(999, "参数错误"); + } + return ResultVOUtils.success("添加成功"); + } + +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/BussinessLocalTypeController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/BussinessLocalTypeController.java index 5d1f0af..bed663c 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/BussinessLocalTypeController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/BussinessLocalTypeController.java @@ -1,11 +1,18 @@ package com.glxp.sale.admin.controller.basic; import com.github.pagehelper.PageInfo; +import com.glxp.sale.admin.constant.Constant; +import com.glxp.sale.admin.entity.auth.AuthAdmin; import com.glxp.sale.admin.entity.basic.BussinessLocalTypeEntity; +import com.glxp.sale.admin.entity.basic.BussinessTypeEntity; +import com.glxp.sale.admin.exception.JsonException; import com.glxp.sale.admin.req.basic.BussinessLocalTypeFilterRequest; import com.glxp.sale.admin.req.info.DeleteRequest; import com.glxp.sale.admin.res.PageSimpleResponse; +import com.glxp.sale.admin.service.auth.AuthAdminService; import com.glxp.sale.admin.service.basic.BussinessLocalTypeService; +import com.glxp.sale.admin.service.basic.BussinessTypeService; +import com.glxp.sale.admin.util.CustomUtil; import com.glxp.sale.common.enums.ResultEnum; import com.glxp.sale.common.res.BaseResponse; import com.glxp.sale.common.util.ResultVOUtils; @@ -14,8 +21,11 @@ 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 org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import java.util.List; @RestController @@ -23,8 +33,11 @@ public class BussinessLocalTypeController { @Resource - private BussinessLocalTypeService bussinessTypeService; - + private BussinessLocalTypeService bussinessLocalTypeService; + @Resource + private AuthAdminService authAdminService; + @Resource + private BussinessTypeService bussinessTypeService; @GetMapping("/udiwms/localBusType/filterJoin") public BaseResponse filterJoin(BussinessLocalTypeFilterRequest bussinessTypeFilterRequest, @@ -34,7 +47,7 @@ public class BussinessLocalTypeController { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } List bussinessTypeEntities; - bussinessTypeEntities = bussinessTypeService.filterJoin( + bussinessTypeEntities = bussinessLocalTypeService.filterJoin( bussinessTypeFilterRequest); PageInfo pageInfo; pageInfo = new PageInfo<>(bussinessTypeEntities); @@ -44,6 +57,19 @@ public class BussinessLocalTypeController { return ResultVOUtils.success(pageSimpleResponse); } + @GetMapping("/udiwms/localBusType/filterByBus") + public BaseResponse filterByBus(BussinessLocalTypeFilterRequest bussinessTypeFilterRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + + BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(bussinessTypeFilterRequest.getAction()); + + return ResultVOUtils.success(bussinessTypeEntity.getLocalAction()); + } + @GetMapping("/udiwms/localBusType/filter") public BaseResponse filterBussinessType(BussinessLocalTypeFilterRequest bussinessTypeFilterRequest, @@ -52,8 +78,14 @@ public class BussinessLocalTypeController { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } + + String customerId = getCustomerId(); + if (!customerId.equals(Constant.SYSTEM_CUSTOMER_ID)) { + bussinessTypeFilterRequest.setSpUse(true); + } + List bussinessTypeEntities; - bussinessTypeEntities = bussinessTypeService.filterList(bussinessTypeFilterRequest); + bussinessTypeEntities = bussinessLocalTypeService.filterList(bussinessTypeFilterRequest); PageInfo pageInfo; pageInfo = new PageInfo<>(bussinessTypeEntities); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); @@ -70,7 +102,7 @@ public class BussinessLocalTypeController { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } String id = deleteRequest.getId(); - bussinessTypeService.deleteById(id); + bussinessLocalTypeService.deleteById(id); return ResultVOUtils.success("删除成功"); } @@ -82,7 +114,7 @@ public class BussinessLocalTypeController { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } if (bussinessTypeEntity != null) { - bussinessTypeService.updateBusLocalType(bussinessTypeEntity); + bussinessLocalTypeService.updateBusLocalType(bussinessTypeEntity); } else { ResultVOUtils.error(999, "参数错误"); } @@ -98,11 +130,12 @@ public class BussinessLocalTypeController { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } if (bussinessTypeEntity != null) { - BussinessLocalTypeEntity bussinessLocalTypeEntity = bussinessTypeService.findBTByAction(bussinessTypeEntity.getAction()); + bussinessTypeEntity.setAction("ST" + CustomUtil.getId()); + BussinessLocalTypeEntity bussinessLocalTypeEntity = bussinessLocalTypeService.findBTByAction(bussinessTypeEntity.getAction()); if (bussinessLocalTypeEntity != null) { ResultVOUtils.error(999, "业务类型已存在!"); } else { - bussinessTypeService.insertBussinessType(bussinessTypeEntity); + bussinessLocalTypeService.insertBussinessType(bussinessTypeEntity); } } else { @@ -111,5 +144,15 @@ public class BussinessLocalTypeController { return ResultVOUtils.success("更新成功"); } + public String getCustomerId() { + ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); + if (attributes == null) { + throw new JsonException(ResultEnum.NOT_NETWORK); + } + HttpServletRequest request = attributes.getRequest(); + String userId = request.getHeader("ADMIN_ID"); + AuthAdmin authAdmin = authAdminService.findById(Long.parseLong(userId)); + return authAdmin.getCustomerId() + ""; + } } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/BussinessTypeController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/BussinessTypeController.java index 26e5db6..c751b6e 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/BussinessTypeController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/BussinessTypeController.java @@ -1,24 +1,32 @@ package com.glxp.sale.admin.controller.basic; import com.github.pagehelper.PageInfo; +import com.glxp.sale.admin.constant.Constant; +import com.glxp.sale.admin.entity.auth.AuthAdmin; import com.glxp.sale.admin.entity.basic.BussinessTypeEntity; +import com.glxp.sale.admin.exception.JsonException; import com.glxp.sale.admin.req.basic.BussinessTypeFilterRequest; import com.glxp.sale.admin.req.info.DeleteRequest; import com.glxp.sale.admin.res.PageSimpleResponse; import com.glxp.sale.admin.res.basic.BussinessTypResponse; +import com.glxp.sale.admin.service.auth.AuthAdminService; import com.glxp.sale.admin.service.basic.BussinessTypeService; +import com.glxp.sale.admin.util.FileUtils; import com.glxp.sale.common.enums.ResultEnum; import com.glxp.sale.common.res.BaseResponse; import com.glxp.sale.common.util.ResultVOUtils; import org.springframework.beans.BeanUtils; 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 org.springframework.web.bind.annotation.*; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; +import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import java.io.InputStream; import java.util.List; +import java.util.Locale; import java.util.stream.Collectors; /** @@ -31,7 +39,8 @@ public class BussinessTypeController { @Resource private BussinessTypeService bussinessTypeService; - + @Resource + private AuthAdminService authAdminService; @GetMapping("/udiwms/bussinessType/filter") public BaseResponse filterBussinessType(BussinessTypeFilterRequest bussinessTypeFilterRequest, @@ -40,6 +49,10 @@ public class BussinessTypeController { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } + String customerId = getCustomerId(); + if (!customerId.equals(Constant.SYSTEM_CUSTOMER_ID)) { + bussinessTypeFilterRequest.setSpUse(true); + } List bussinessTypeEntities; bussinessTypeEntities = bussinessTypeService.filterList(bussinessTypeFilterRequest); PageInfo pageInfo; @@ -52,11 +65,15 @@ public class BussinessTypeController { @GetMapping("/udiwms/bussinessType/joinFilter") public BaseResponse filterJoinBussinessType(BussinessTypeFilterRequest bussinessTypeFilterRequest, - BindingResult bindingResult) { + BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } + String customerId = getCustomerId(); + if (!customerId.equals(Constant.SYSTEM_CUSTOMER_ID)) { + bussinessTypeFilterRequest.setSpUse(true); + } List bussinessTypeEntities; bussinessTypeEntities = bussinessTypeService.filterJoinList(bussinessTypeFilterRequest); PageInfo pageInfo; @@ -68,7 +85,6 @@ public class BussinessTypeController { } - @PostMapping("/udiwms/bussinessType/delete") public BaseResponse deleteBussinessType(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) { @@ -110,4 +126,49 @@ public class BussinessTypeController { return ResultVOUtils.success("添加成功"); } + public String getCustomerId() { + ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); + if (attributes == null) { + throw new JsonException(ResultEnum.NOT_NETWORK); + } + HttpServletRequest request = attributes.getRequest(); + String userId = request.getHeader("ADMIN_ID"); + AuthAdmin authAdmin = authAdminService.findById(Long.parseLong(userId)); + return authAdmin.getCustomerId() + ""; + } + + //往来单位信息文件导入 + @PostMapping("/udiwms/busstiness/file/upload") + public BaseResponse uploadProducts(@RequestParam("file") List files) { + for (int i = 0; i < files.size(); i++) { + MultipartFile file = files.get(i); + if (file.isEmpty()) { + return ResultVOUtils.error(500, "上传第" + (i++) + "个文件失败"); + } + try { + InputStream inputStream = file.getInputStream(); + String json = FileUtils.readStream(inputStream); + String[] list = json.split("\r\n"); + if (list != null && list.length > 0) { + for (String item : list) { + item.replace(" ", ""); + String[] data = item.split(","); + BussinessTypeEntity bussinessTypeEntity = new BussinessTypeEntity(); + bussinessTypeEntity.setIndex(Integer.parseInt(data[0])); + bussinessTypeEntity.setMainAction(data[1]); + bussinessTypeEntity.setAction(data[2]); + bussinessTypeEntity.setName(data[3]); + bussinessTypeService.insertIgnoreBussinessType(bussinessTypeEntity); + } + } + System.out.println(json.toUpperCase(Locale.ROOT)); + } catch (Exception e) { + e.printStackTrace(); + return ResultVOUtils.error(500, "文件格式错误!"); + } + } + + return ResultVOUtils.success("导入成功!"); + + } } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/UdiInfoController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/UdiInfoController.java index 9ae8a7d..72f0581 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/UdiInfoController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/UdiInfoController.java @@ -54,7 +54,7 @@ public class UdiInfoController { //获取同步库UDI信息 @GetMapping("udiwms/udiinfo/filterUdi") public BaseResponse filterUdi(FilterUdiInfoRequest productInfoFilterRequest) { - + Map paramMap = new HashMap<>(16); String nameCode = null; if (productInfoFilterRequest.getUdiCode() != null && !productInfoFilterRequest.getUdiCode().equals("")) { @@ -63,12 +63,11 @@ public class UdiInfoController { nameCode = udiEntity.getUdi(); } else { return ResultVOUtils.error(500, "无效UDI码!"); - -// nameCode = productInfoFilterRequest.getNameCode(); } +// paramMap.put("udiCode", productInfoFilterRequest.getUdiCode()); } else nameCode = productInfoFilterRequest.getNameCode(); - Map paramMap = new HashMap<>(16); + paramMap.put("page", productInfoFilterRequest.getPage()); paramMap.put("limit", productInfoFilterRequest.getLimit()); paramMap.put("ylqxzcrbarmc", productInfoFilterRequest.getYlqxzcrbarmc()); @@ -155,38 +154,56 @@ public class UdiInfoController { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } -// BasicThirdSysDetailEntity basicThirdSysDetailEntity = basicThirdSysDetailService.selectByKey("piQueryUrl", filterErpGoodsRequest.getThirdSys()); -// if (basicThirdSysDetailEntity == null || basicThirdSysDetailEntity.getValue() == null) -// return ResultVOUtils.error(500, "ERP产品信息接口地址未定义"); + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + BasicThirdSysDetailEntity basicThirdSysDetailEntity = basicThirdSysDetailService.selectByKey("piQueryUrl", filterErpGoodsRequest.getThirdSys()); + if (basicThirdSysDetailEntity == null || basicThirdSysDetailEntity.getValue() == null) + return ResultVOUtils.error(500, "ERP产品信息接口地址未定义"); + + if (basicThirdSysDetailEntity.getEnabled()) { + if (basicThirdSysDetailEntity.getFromType() == 0 || (filterErpGoodsRequest.getIsDownThrSys() != null && filterErpGoodsRequest.getIsDownThrSys())) { + ErpBasicClient erpBasicHttpClient = new ErpBasicClient(); + BaseResponse> udiDlDeviceResponse = erpBasicHttpClient.getErpProducts(filterErpGoodsRequest, basicThirdSysDetailEntity.getValue()); + if (udiDlDeviceResponse.getCode() == 20000) { + List invmandocResponses = udiDlDeviceResponse.getData().getList(); + if (invmandocResponses != null) { + for (ErpProductsResponse invmandocResponse : invmandocResponses) { + UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectByThirdId(invmandocResponse.getCode(), filterErpGoodsRequest.getThirdSys()); + invmandocResponse.setThirdSys(filterErpGoodsRequest.getThirdSys()); + if (udiRelevanceEntity != null) { + invmandocResponse.setChecked(true); + } else { + invmandocResponse.setChecked(false); + } + } + } - BasicThirdSysEntity basicThirdSysEntity = basicThirdSysService.selectByThirdId(filterErpGoodsRequest.getThirdSys()); - if (basicThirdSysEntity.getEnabled()) { - - FilterThrProductsRequest filterThrProductsRequest = new FilterThrProductsRequest(); - BeanUtils.copyProperties(filterErpGoodsRequest, filterThrProductsRequest); - - filterThrProductsRequest.setThirdSysFk(filterErpGoodsRequest.getThirdSys()); -// filterThrProductsRequest.setCode(null); - - List thrCorpEntities - = thrProductsService.filterThrProductsRequest(filterThrProductsRequest); - for (ThrProductsEntity thrProductsEntity : thrCorpEntities) { - UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectByThirdId(thrProductsEntity.getCode(), thrProductsEntity.getThirdSysFk()); - if (udiRelevanceEntity != null) { - thrProductsEntity.setChecked(true); - } else { - thrProductsEntity.setChecked(false); } + return udiDlDeviceResponse; + } else { + FilterThrProductsRequest filterThrProductsRequest = new FilterThrProductsRequest(); + BeanUtils.copyProperties(filterErpGoodsRequest, filterThrProductsRequest); + + filterThrProductsRequest.setThirdSysFk(filterErpGoodsRequest.getThirdSys()); + List thrCorpEntities + = thrProductsService.filterThrProductsRequest(filterThrProductsRequest); + for (ThrProductsEntity thrProductsEntity : thrCorpEntities) { + UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectByThirdId(thrProductsEntity.getCode(), thrProductsEntity.getThirdSysFk()); + if (udiRelevanceEntity != null) { + thrProductsEntity.setChecked(true); + } else { + thrProductsEntity.setChecked(false); + } + } + PageInfo pageInfo; + pageInfo = new PageInfo<>(thrCorpEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(thrCorpEntities); + return ResultVOUtils.success(pageSimpleResponse); } - - - PageInfo pageInfo; - pageInfo = new PageInfo<>(thrCorpEntities); - PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); - pageSimpleResponse.setTotal(pageInfo.getTotal()); - pageSimpleResponse.setList(thrCorpEntities); - return ResultVOUtils.success(pageSimpleResponse); } else { return ResultVOUtils.error(500, "第三方产品信息服务未启用"); } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/UdiInfoImportLogController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/UdiInfoImportLogController.java index 7220202..d2bb711 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/UdiInfoImportLogController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/UdiInfoImportLogController.java @@ -155,7 +155,7 @@ public class UdiInfoImportLogController { // 滤过第一行标题 row = sheet.getRow(0); if ((row.getCell(0) == null || row.getCell(1) == null || row.getCell(2) == null - || row.getCell(3) == null || row.getCell(4) == null || row.getCell(5) == null|| row.getCell(6) == null) || + || row.getCell(3) == null || row.getCell(4) == null || row.getCell(5) == null || row.getCell(6) == null) || (!"udiCode".equals(row.getCell(0).getStringCellValue()) || !"医保编码".equals(row.getCell(1).getStringCellValue()) || !"商品条码".equals(row.getCell(2).getStringCellValue()) @@ -165,7 +165,7 @@ public class UdiInfoImportLogController { || !"thirdId3".equals(row.getCell(6).getStringCellValue()))) { return ResultVOUtils.error(500, "文件格式错误!"); } - for (int k = sheet.getFirstRowNum()+1; k <= sheet.getLastRowNum(); k++) { + for (int k = sheet.getFirstRowNum() + 1; k <= sheet.getLastRowNum(); k++) { row = sheet.getRow(k); if (row == null || row.getRowNum() <= 0) { continue; @@ -220,6 +220,13 @@ public class UdiInfoImportLogController { cell8.setCellType(CellType.STRING); udiInfoImportEntity.setThirdId4(cell8.getStringCellValue()); } + Cell cell9 = row.getCell(8); + if (cell9 != null) { + cell9.setCellType(CellType.STRING); + udiInfoImportEntity.setIsUseDy(cell9.getStringCellValue()); + } + + udiInfoImportEntity.setGenKeyFk(genKey); udiInfoImportEntity.setStatus(0); udiInfoImportEntity.setUpdateTime(new Date(System.currentTimeMillis())); @@ -252,22 +259,22 @@ public class UdiInfoImportLogController { } UdiInfoImportLogEntity udiInfoImportLogEntity = udiInfoImportLogService.selectByGenKey(genKey); List udiInfoImportEntities = postUdiInfoRequest.getDatas(); - if(udiInfoImportEntities!=null){ - for(UdiInfoImportDetailEntity udiInfoImportEntity:udiInfoImportEntities){ + if (udiInfoImportEntities != null) { + for (UdiInfoImportDetailEntity udiInfoImportEntity : udiInfoImportEntities) { udiInfoImportEntity.setGenKeyFk(genKey); udiInfoImportEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_CODE_UNPROCESS); udiInfoImportEntity.setUpdateTime(new java.util.Date()); udiInfoImportService.insertUdiInfoImport(udiInfoImportEntity); } } - if(udiInfoImportLogEntity==null){ + if (udiInfoImportLogEntity == null) { udiInfoImportLogEntity = new UdiInfoImportLogEntity(); udiInfoImportLogEntity.setGenKey(genKey); udiInfoImportLogEntity.setFromType("接口上传"); udiInfoImportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_UNPROCESS); udiInfoImportLogEntity.setUpdateTime(new Date(System.currentTimeMillis())); udiInfoImportLogService.insertImportLog(udiInfoImportLogEntity); - }else { + } else { udiInfoImportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_UNPROCESS); udiInfoImportLogService.updateImportLog(udiInfoImportLogEntity); } @@ -289,22 +296,22 @@ public class UdiInfoImportLogController { } UdiInfoImportLogEntity udiInfoImportLogEntity = udiInfoImportLogService.selectByGenKey(genKey); List udiInfoImportEntities = postUdiInfoRequest.getDatas(); - if(udiInfoImportEntities!=null){ - for(UdiInfoImportDetailEntity udiInfoImportEntity:udiInfoImportEntities){ + if (udiInfoImportEntities != null) { + for (UdiInfoImportDetailEntity udiInfoImportEntity : udiInfoImportEntities) { udiInfoImportEntity.setGenKeyFk(genKey); udiInfoImportEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_CODE_UNPROCESS); udiInfoImportEntity.setUpdateTime(new java.util.Date()); udiInfoImportService.insertUdiInfoImport(udiInfoImportEntity); } } - if(udiInfoImportLogEntity==null){ + if (udiInfoImportLogEntity == null) { udiInfoImportLogEntity = new UdiInfoImportLogEntity(); udiInfoImportLogEntity.setGenKey(genKey); udiInfoImportLogEntity.setFromType("扫码精灵上传"); udiInfoImportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_UNPROCESS); udiInfoImportLogEntity.setUpdateTime(new Date(System.currentTimeMillis())); udiInfoImportLogService.insertImportLog(udiInfoImportLogEntity); - }else { + } else { udiInfoImportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_UNPROCESS); udiInfoImportLogService.updateImportLog(udiInfoImportLogEntity); } @@ -315,7 +322,7 @@ public class UdiInfoImportLogController { //供应商平台产品信息下载 @GetMapping("/udiwms/products/smp/download") public BaseResponse downloadSmpUdi(FilterUdiIpLogRequest filterUdiIpLogRequest, - BindingResult bindingResult) { + BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); @@ -331,6 +338,7 @@ public class UdiInfoImportLogController { return ResultVOUtils.success("后台已开始下载并更新,请稍后刷新查看!"); } + public boolean filterEmpty(Row row) { if (row.getCell(0) != null) { diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/UdiRelevanceController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/UdiRelevanceController.java index 92ecd49..d83c77b 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/UdiRelevanceController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/UdiRelevanceController.java @@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.TypeReference; import com.github.pagehelper.PageInfo; import com.glxp.sale.admin.config.WebSocketServer; +import com.glxp.sale.admin.constant.ConstantStatus; import com.glxp.sale.admin.entity.basic.*; import com.glxp.sale.admin.entity.info.CompanyProductRelevanceEntity; import com.glxp.sale.admin.entity.inout.WarehouseEntity; @@ -52,6 +53,8 @@ public class UdiRelevanceController { @Value("${UDI_SERVER_URL}") private String udiUrl; @Resource + UdiDlHttpClient udiDlHttpClient; + @Resource UdiRelevanceService udiRelevanceService; @Resource UdiInfoService udiInfoService; @@ -103,11 +106,20 @@ public class UdiRelevanceController { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } List udiRelevanceResponses = null; - filterUdiInfoRequest.setDiType(1); + if (filterUdiInfoRequest.getUdiCode() != null && !filterUdiInfoRequest.getUdiCode().isEmpty()) { UdiEntity udiEntity = FilterUdiUtils.getUdi(filterUdiInfoRequest.getUdiCode()); filterUdiInfoRequest.setNameCode(udiEntity.getUdi()); + + List temps = udiRelevanceService.filterUdiGp(filterUdiInfoRequest); + if (temps != null && temps.size() > 0) { + filterUdiInfoRequest.setUuid(temps.get(0).getUuid()); + filterUdiInfoRequest.setNameCode(null); + } + } + filterUdiInfoRequest.setDiType(1); + udiRelevanceResponses = udiRelevanceService.filterUdiGp(filterUdiInfoRequest); PageInfo pageInfo; pageInfo = new PageInfo<>(udiRelevanceResponses); @@ -196,6 +208,10 @@ public class UdiRelevanceController { if (udiRelevanceEntities == null || udiRelevanceEntities.isEmpty()) { udiInfoService.deleteByUuid(udiRelevanceEntity.getUuid()); } + + //todo + companyProductRelevanceService.deleteByRlId(ids);//删除供应商关联表产品信息 + return ResultVOUtils.success("删除成功"); } @@ -222,7 +238,7 @@ public class UdiRelevanceController { List udiInfoEntities = udiInfoService.filterAllUdiInfo(filterUdiInfoRequest); UdiRelevanceEntity udiRelevanceEntity = new UdiRelevanceEntity(); if (udiInfoEntities == null || udiInfoEntities.isEmpty()) { - udiInfoEntities = new UdiDlHttpClient(udiUrl).getUdiByUuid(key); + udiInfoEntities = udiDlHttpClient.getUdiByUuid(key); if (udiInfoEntities != null) { udiInfoService.insertUdiInfos(udiInfoEntities); } else { @@ -594,9 +610,9 @@ public class UdiRelevanceController { return ResultVOUtils.success(pageSimpleResponse); } - //解除绑定 + //解除绑定产品信息ID @GetMapping("/udiwms/udirl/thirdSys/remove") - public BaseResponse uploadThirdServcie(RemoveRelRequest removeRelRequest) { + public BaseResponse removeThirdId(RemoveRelRequest removeRelRequest) { UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectById(removeRelRequest.getRelId()); List udiRelevanceEntities = udiRelevanceService.selectByUuid(udiRelevanceEntity.getUuid()); if (udiRelevanceEntities != null && udiRelevanceEntities.size() > 0) { @@ -635,6 +651,31 @@ public class UdiRelevanceController { return ResultVOUtils.success("解除绑定成功!"); } + + //解除绑定DI器械信息 + @GetMapping("/udiwms/udirl/di/remove") + public BaseResponse removeDI(RemoveRelRequest removeRelRequest) { + UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectById(removeRelRequest.getRelId()); + BasicThirdSysEntity basicThirdSysEntity = basicThirdSysService.selectMainThrSys(); + ThrProductsEntity thrProductsEntity = thrDataService.getProducts(udiRelevanceEntity.getMainId(), basicThirdSysEntity.getThirdId()); + UdiInfoEntity udiInfoEntity = new UdiInfoEntity(); + BeanUtils.copyProperties(thrProductsEntity, udiInfoEntity); + udiInfoEntity.setNameCode(thrProductsEntity.getCode()); + udiInfoEntity.setCpmctymc(thrProductsEntity.getName()); + udiInfoEntity.setManufactory(thrProductsEntity.getManufactory()); + udiInfoEntity.setYlqxzcrbarmc(thrProductsEntity.getManufactory()); + udiInfoEntity.setGgxh(thrProductsEntity.getSpec()); + udiInfoEntity.setZczbhhzbapzbh(thrProductsEntity.getRegisterNo()); + udiInfoEntity.setUuid(CustomUtil.getUUId()); + udiInfoEntity.setProductType(ConstantStatus.PRODUCT_TYPE_THIRD); + udiInfoEntity.setDiType(1); + udiInfoService.insertUdiInfo(udiInfoEntity); + udiRelevanceEntity.setUuid(udiInfoEntity.getUuid()); + udiRelevanceEntity.setUpdateTime(DateUtil.getDateTime()); + udiRelevanceService.updateUdiRelevance(udiRelevanceEntity); + return ResultVOUtils.success("解除绑定成功!"); + } + //获取是否启用供应商维护产品信息 @GetMapping("/udiwms/udiinfo/spcombie") public BaseResponse getSBCombie() { @@ -653,7 +694,7 @@ public class UdiRelevanceController { } return ResultVOUtils.success("更新成功!"); } else { - return ResultVOUtils.error(500,"参数错误!!"); + return ResultVOUtils.error(500, "参数错误!!"); } } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/info/CompanyCertController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/info/CompanyCertController.java index 3698621..28c7f80 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/info/CompanyCertController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/info/CompanyCertController.java @@ -16,6 +16,7 @@ import com.glxp.sale.admin.service.info.CompanyCertService; import com.glxp.sale.common.enums.ResultEnum; import com.glxp.sale.common.res.BaseResponse; import com.glxp.sale.common.util.ResultVOUtils; +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; @@ -37,9 +38,12 @@ public class CompanyCertController { @Resource private CompanyCertService companyCertService; + @Value("${file_path}") + private String filePath; + @GetMapping("/sale/info/company/cert/filter") public BaseResponse filterCompanyCert(FilterCompanyCertRequest filterCompanyCertRequest, - BindingResult bindingResult) { + BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } @@ -91,9 +95,9 @@ public class CompanyCertController { @PostMapping("/sale/info/deleteCompanyCert") public BaseResponse deleteCompanyCert(@RequestBody DeleteCompanyFileRequest deleteCompanyFileRequest, BindingResult bindingResult) { boolean b = companyCertService.deleteById(deleteCompanyFileRequest.getId()); - String URL="d:/1s/udiwms/register/file/image2/" + deleteCompanyFileRequest.getFilePath(); - File file=new File(URL); - if(file.exists()&&file.isFile()) { + String URL = filePath+"/register/file/image2/" + deleteCompanyFileRequest.getFilePath(); + File file = new File(URL); + if (file.exists() && file.isFile()) { file.delete(); } return ResultVOUtils.success("成功"); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/info/CompanyController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/info/CompanyController.java index e9d90a2..0391725 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/info/CompanyController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/info/CompanyController.java @@ -17,6 +17,7 @@ import com.glxp.sale.common.enums.ResultEnum; import com.glxp.sale.common.res.BaseResponse; import com.glxp.sale.common.util.ResultVOUtils; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -32,6 +33,10 @@ import java.util.List; @RestController public class CompanyController { + + @Value("${file_path}") + private String filePath; + @Resource private AuthAdminService authAdminService; @Resource @@ -82,7 +87,7 @@ public class CompanyController { // } if (StringUtils.isNotBlank(companyEntity.getNewFilePath())) { if (StringUtils.isNotBlank(companyEntity.getFilePath())) { - String URL="d:/1s/udiwms/register/file/image1/" + companyEntity.getFilePath(); + String URL=filePath+"/register/file/image1/" + companyEntity.getFilePath(); File file=new File(URL); if(file.exists()&&file.isFile()) { file.delete(); @@ -92,7 +97,7 @@ public class CompanyController { } if (StringUtils.isNotBlank(companyEntity.getNewFilePath2())) { if (StringUtils.isNotBlank(companyEntity.getFilePath2())) { - String URL="d:/1s/udiwms/register/file/image1/" + companyEntity.getFilePath2(); + String URL=filePath+"/register/file/image1/" + companyEntity.getFilePath2(); File file=new File(URL); if(file.exists()&&file.isFile()) { file.delete(); @@ -102,7 +107,7 @@ public class CompanyController { } if (StringUtils.isNotBlank(companyEntity.getNewFilePath3())) { if (StringUtils.isNotBlank(companyEntity.getFilePath3())) { - String URL="d:/1s/udiwms/register/file/image1/" + companyEntity.getFilePath3(); + String URL=filePath+"/register/file/image1/" + companyEntity.getFilePath3(); File file=new File(URL); if(file.exists()&&file.isFile()) { file.delete(); @@ -112,7 +117,7 @@ public class CompanyController { } if (StringUtils.isNotBlank(companyEntity.getNewFilePath4())) { if (StringUtils.isNotBlank(companyEntity.getFilePath4())) { - String URL="d:/1s/udiwms/register/file/image1/" + companyEntity.getFilePath4(); + String URL=filePath+"/register/file/image1/" + companyEntity.getFilePath4(); File file=new File(URL); if(file.exists()&&file.isFile()) { file.delete(); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/info/CompanyProductRelevanceController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/info/CompanyProductRelevanceController.java index ca6e9d3..f5ae98c 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/info/CompanyProductRelevanceController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/info/CompanyProductRelevanceController.java @@ -41,15 +41,15 @@ public class CompanyProductRelevanceController { @GetMapping("/sale/info/company/product/relevance/filter") - public BaseResponse filterCompanyProductRelevance(CompanyProductRelevanceRequest companyProductRelevanceResponse, + public BaseResponse filterCompanyProductRelevance(CompanyProductRelevanceRequest companyProductRelevanceRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } List basicInstrumentMaintainRelevanceResponses = null; - companyProductRelevanceResponse.setDiType(1); - basicInstrumentMaintainRelevanceResponses = companyProductRelevanceService.filterUdiGp(companyProductRelevanceResponse); + companyProductRelevanceRequest.setDiType(1); + basicInstrumentMaintainRelevanceResponses = companyProductRelevanceService.filterUdiGp(companyProductRelevanceRequest); // if (basicInstrumentMaintainRelevanceResponses != null && basicInstrumentMaintainRelevanceResponses.size() > 0) { // for (CompanyProductRelevanceResponse basicInstrumentMaintainRelevanceResponse : basicInstrumentMaintainRelevanceResponses) { // if (basicInstrumentMaintainRelevanceResponse.getDiType() == 2 && basicInstrumentMaintainRelevanceResponse.getIsUseDy() != 1) { diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/info/CompanySalesmanController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/info/CompanySalesmanController.java index b42ee97..58fd50d 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/info/CompanySalesmanController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/info/CompanySalesmanController.java @@ -14,6 +14,7 @@ import com.glxp.sale.common.enums.ResultEnum; import com.glxp.sale.common.res.BaseResponse; import com.glxp.sale.common.util.ResultVOUtils; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Value; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -34,7 +35,8 @@ public class CompanySalesmanController { private AuthAdminService authAdminService; @Resource private CompanySalesmanService companySalesmanService; - + @Value("${file_path}") + private String filePath; @GetMapping("/sale/info/company/salesman/filter") public BaseResponse filterCompanySalesman(FilterCompanySalesmanRequest filterCompanySalesmanRequest, BindingResult bindingResult) { @@ -85,7 +87,7 @@ public class CompanySalesmanController { companySalesmanEntity.setUpdate_time(new Date()); if (StringUtils.isNotBlank(companySalesmanEntity.getNewFilePath())) { if (StringUtils.isNotBlank(companySalesmanEntity.getFilePath())) { - String URL="d:/1s/udiwms/register/file/image5/" + companySalesmanEntity.getFilePath(); + String URL=filePath+"/register/file/image5/" + companySalesmanEntity.getFilePath(); File file=new File(URL); if(file.exists()&&file.isFile()) { file.delete(); @@ -95,7 +97,7 @@ public class CompanySalesmanController { } if (StringUtils.isNotBlank(companySalesmanEntity.getNewFilePath2())) { if (StringUtils.isNotBlank(companySalesmanEntity.getFilePath2())) { - String URL="d:/1s/udiwms/register/file/image5/" + companySalesmanEntity.getFilePath2(); + String URL=filePath+"/register/file/image5/" + companySalesmanEntity.getFilePath2(); File file=new File(URL); if(file.exists()&&file.isFile()) { file.delete(); @@ -112,14 +114,14 @@ public class CompanySalesmanController { public BaseResponse deleteCompanySalesman(@RequestBody DeleteCompanyFileRequest deleteCompanyFileRequest, BindingResult bindingResult) { boolean b = companySalesmanService.deleteById(deleteCompanyFileRequest.getId()); if (StringUtils.isNotBlank(deleteCompanyFileRequest.getFilePath())) { - String URL="d:/1s/udiwms/register/file/image5/" + deleteCompanyFileRequest.getFilePath(); + String URL=filePath+"/register/file/image5/" + deleteCompanyFileRequest.getFilePath(); File file=new File(URL); if(file.exists()&&file.isFile()) { file.delete(); } } if (StringUtils.isNotBlank(deleteCompanyFileRequest.getFilePath2())) { - String URL="d:/1s/udiwms/register/file/image5/" + deleteCompanyFileRequest.getFilePath2(); + String URL=filePath+"/register/file/image5/" + deleteCompanyFileRequest.getFilePath2(); File file=new File(URL); if(file.exists()&&file.isFile()) { file.delete(); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/info/SuppliersEnterpriseBasicCertController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/info/SuppliersEnterpriseBasicCertController.java index 0a3670a..25a60e9 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/info/SuppliersEnterpriseBasicCertController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/info/SuppliersEnterpriseBasicCertController.java @@ -16,6 +16,7 @@ import com.glxp.sale.admin.service.info.SuppliersEnterpriseBasicCertService; import com.glxp.sale.common.enums.ResultEnum; import com.glxp.sale.common.res.BaseResponse; import com.glxp.sale.common.util.ResultVOUtils; +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; @@ -32,6 +33,10 @@ import java.util.List; @RestController public class SuppliersEnterpriseBasicCertController { + + @Value("${file_path}") + private String filePath; + @Resource private AuthAdminService authAdminService; @Resource @@ -92,7 +97,7 @@ public class SuppliersEnterpriseBasicCertController { @PostMapping("/udiwms/info/suppliers/enterprise/basic/cert/deleteCompanyCert") public BaseResponse deleteCompanyCert(@RequestBody DeleteCompanyFileRequest deleteCompanyFileRequest, BindingResult bindingResult) { boolean b = suppliersEnterpriseBasicCertService.deleteById(deleteCompanyFileRequest.getId()); - String URL="d:/1s/udiwms/register/file/image3/" + deleteCompanyFileRequest.getFilePath(); + String URL=filePath+"/register/file/image3/" + deleteCompanyFileRequest.getFilePath(); File file=new File(URL); if(file.exists()&&file.isFile()) { file.delete(); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/info/SuppliersEnterpriseBasicController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/info/SuppliersEnterpriseBasicController.java index 2fb9609..2a481a7 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/info/SuppliersEnterpriseBasicController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/info/SuppliersEnterpriseBasicController.java @@ -24,6 +24,7 @@ import com.glxp.sale.common.enums.ResultEnum; import com.glxp.sale.common.res.BaseResponse; import com.glxp.sale.common.util.ResultVOUtils; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -39,6 +40,11 @@ import java.util.List; @RestController public class SuppliersEnterpriseBasicController { + + + @Value("${file_path}") + private String filePath; + @Resource private AuthAdminService authAdminService; @Resource @@ -100,9 +106,9 @@ public class SuppliersEnterpriseBasicController { suppliersEnterpriseBasicCertService.getCompanyCert(filterSuppliersEnterpriseBasicCertRequest); for (SupplierEnterpriseBasicCertEntity supplierEnterpriseBasicCertEntity : supplierEnterpriseBasicCertEntityList) { if (StringUtils.isNotBlank(supplierEnterpriseBasicCertEntity.getFilePath())) { - String URL="d:/1s/udiwms/register/file/image3/" + supplierEnterpriseBasicCertEntity.getFilePath(); - File file=new File(URL); - if(file.exists()&&file.isFile()) { + String URL = filePath + "/register/file/image3/" + supplierEnterpriseBasicCertEntity.getFilePath(); + File file = new File(URL); + if (file.exists() && file.isFile()) { file.delete(); } } @@ -114,16 +120,16 @@ public class SuppliersEnterpriseBasicController { suppliersRegistrationBasicService.getRegistration(suppliersRegistrationBasicRequest); for (SuppliersRegistrationBasicEntity suppliersRegistrationBasicEntity : suppliersRegistrationBasicEntityList) { if (StringUtils.isNotBlank(suppliersRegistrationBasicEntity.getFilePath())) { - String URL="d:/1s/udiwms/register/file/image4/" + suppliersRegistrationBasicEntity.getFilePath(); - File file=new File(URL); - if(file.exists()&&file.isFile()) { + String URL = filePath+"/register/file/image4/" + suppliersRegistrationBasicEntity.getFilePath(); + File file = new File(URL); + if (file.exists() && file.isFile()) { file.delete(); } } if (StringUtils.isNotBlank(suppliersRegistrationBasicEntity.getInstructions())) { - String URL="d:/1s/udiwms/register/file/image4/" + suppliersRegistrationBasicEntity.getInstructions(); - File file=new File(URL); - if(file.exists()&&file.isFile()) { + String URL = filePath+"/register/file/image4/" + suppliersRegistrationBasicEntity.getInstructions(); + File file = new File(URL); + if (file.exists() && file.isFile()) { file.delete(); } } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/info/SuppliersRegistrationBasicController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/info/SuppliersRegistrationBasicController.java index 517f26b..9e562e3 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/info/SuppliersRegistrationBasicController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/info/SuppliersRegistrationBasicController.java @@ -14,6 +14,7 @@ import com.glxp.sale.common.enums.ResultEnum; import com.glxp.sale.common.res.BaseResponse; import com.glxp.sale.common.util.ResultVOUtils; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -33,6 +34,8 @@ public class SuppliersRegistrationBasicController { private AuthAdminService authAdminService; @Resource private SuppliersRegistrationBasicService suppliersRegistrationBasicService; + @Value("${file_path}") + private String filePath; @GetMapping("/udiwms/info/suppliers/registration/basic/getRegistrationInfo") public BaseResponse getRegistrationInfo(SuppliersRegistrationBasicRequest suppliersRegistrationBasicRequest) { @@ -71,9 +74,9 @@ public class SuppliersRegistrationBasicController { suppliersRegistrationBasicEntity.setUpdate_date(new Date()); if (StringUtils.isNotBlank(suppliersRegistrationBasicEntity.getNewFilePath())) { if (StringUtils.isNotBlank(suppliersRegistrationBasicEntity.getFilePath())) { - String URL="d:/1s/udiwms/register/file/image4/" + suppliersRegistrationBasicEntity.getFilePath(); - File file=new File(URL); - if(file.exists()&&file.isFile()) { + String URL = filePath+"/register/file/image4/" + suppliersRegistrationBasicEntity.getFilePath(); + File file = new File(URL); + if (file.exists() && file.isFile()) { file.delete(); } } @@ -81,9 +84,9 @@ public class SuppliersRegistrationBasicController { } if (StringUtils.isNotBlank(suppliersRegistrationBasicEntity.getNewInstructions())) { if (StringUtils.isNotBlank(suppliersRegistrationBasicEntity.getInstructions())) { - String URL="d:/1s/udiwms/register/file/image4/" + suppliersRegistrationBasicEntity.getInstructions(); - File file=new File(URL); - if(file.exists()&&file.isFile()) { + String URL = filePath+"/register/file/image4/" + suppliersRegistrationBasicEntity.getInstructions(); + File file = new File(URL); + if (file.exists() && file.isFile()) { file.delete(); } } @@ -100,16 +103,16 @@ public class SuppliersRegistrationBasicController { @GetMapping("/udiwms/info/suppliers/registration/basic/delete") public BaseResponse delete(DeleteCompanyFileRequest deleteCompanyFileRequest) { if (StringUtils.isNotBlank(deleteCompanyFileRequest.getFilePath())) { - String URL="d:/1s/udiwms/register/file/image4/" + deleteCompanyFileRequest.getFilePath(); - File file=new File(URL); - if(file.exists()&&file.isFile()) { + String URL = filePath+"/register/file/image4/" + deleteCompanyFileRequest.getFilePath(); + File file = new File(URL); + if (file.exists() && file.isFile()) { file.delete(); } } if (StringUtils.isNotBlank(deleteCompanyFileRequest.getFilePath2())) { - String URL="d:/1s/udiwms/register/file/image4/" + deleteCompanyFileRequest.getFilePath2(); - File file=new File(URL); - if(file.exists()&&file.isFile()) { + String URL = filePath+"/register/file/image4/" + deleteCompanyFileRequest.getFilePath2(); + File file = new File(URL); + if (file.exists() && file.isFile()) { file.delete(); } } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/OrderController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/OrderController.java index f1b7262..b0cf2be 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/OrderController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/OrderController.java @@ -1,5 +1,7 @@ package com.glxp.sale.admin.controller.inout; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.github.pagehelper.PageInfo; import com.glxp.sale.admin.constant.Constant; import com.glxp.sale.admin.constant.ConstantStatus; @@ -17,13 +19,12 @@ import com.glxp.sale.admin.res.PageSimpleResponse; import com.glxp.sale.admin.service.basic.BussinessTypeService; import com.glxp.sale.admin.service.basic.UdiInfoService; import com.glxp.sale.admin.service.basic.UdiRelevanceService; -import com.glxp.sale.admin.service.inout.StockOrderService; +import com.glxp.sale.admin.service.inout.*; import com.glxp.sale.admin.service.param.SystemParamConfigService; -import com.glxp.sale.admin.service.inout.CodesService; -import com.glxp.sale.admin.service.inout.OrderDetailService; -import com.glxp.sale.admin.service.inout.OrderService; import com.glxp.sale.admin.thread.InvProductsTrService; import com.glxp.sale.admin.thread.IoTransInoutService; +import com.glxp.sale.admin.util.CustomUtil; +import com.glxp.sale.admin.util.FileUtils; import com.glxp.sale.admin.util.FilterUdiUtils; import com.glxp.sale.common.enums.ResultEnum; import com.glxp.sale.common.res.BaseResponse; @@ -34,7 +35,10 @@ import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.io.IOException; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -48,23 +52,20 @@ public class OrderController { @Resource private CodesService codesService; @Resource - private OrderDetailService orderDetailService; - @Resource - private UdiInfoService udiInfoService; - @Resource - private UdiRelevanceService udiRelevanceService; + private CodesTempService codesTempService; @Resource - private SystemParamConfigService systemParamConfigService; - @Resource - private BussinessTypeService bussinessTypeService; - @Value("${UCLOD_SERVER_URL}") - private String ucloudUrl; + private OrderDetailService orderDetailService; @Resource IoTransInoutService ioTransInoutService; @Resource StockOrderService stockOrderService; @Resource InvProductsTrService invProductsTrService; + @Resource + BussinessTypeService bussinessTypeService; + + @Value("${file_path}") + private String filePath; @GetMapping("udiwms/inout/order/getUdi") public BaseResponse getUdi(@RequestParam("code") String code) { @@ -84,7 +85,6 @@ public class OrderController { return ResultVOUtils.success(pageSimpleResponse); } - @GetMapping("udiwms/inout/order/error") public BaseResponse listOrderError(OrderFilterRequest orderFilterRequest) { // orderFilterRequest.setStatus(ConstantStatus.ORDER_STATUS_FAIL); @@ -152,14 +152,14 @@ public class OrderController { BindingResult bindingResult) { if (StringUtils.isBlank(orderFilterRequest.getCustomerId())) return ResultVOUtils.success(); - if (orderFilterRequest.getCustomerId().equals(Constant.SYSTEM_CUSTOMER_ID)) orderFilterRequest.setCustomerId(null); + if (orderFilterRequest.getCustomerId().equals(Constant.SYSTEM_CUSTOMER_ID)) + orderFilterRequest.setCustomerId(null); if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } List orderEntityList; if (orderFilterRequest.getStatus() == null || orderFilterRequest.getStatus() == 0) { orderFilterRequest.setStatus(4); - orderFilterRequest.setStatusOrOne(3); } if (orderFilterRequest.getCode() != null && !orderFilterRequest.getCode().equals("")) { List warehouseEntityList = codesService.findByCode(orderFilterRequest.getCode()); @@ -184,11 +184,22 @@ public class OrderController { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } + BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(orderFilterRequest.getAction()); + StockOrderEntity stockOrderEntity = stockOrderService.findByBillNo(orderFilterRequest.getOrderId()); + if (stockOrderEntity == null || stockOrderEntity.getOrderIdFk() == null) { + return ResultVOUtils.error(500, "单据未找到!"); + } else if (!bussinessTypeEntity.getLocalAction().equals(stockOrderEntity.getBillType())) { + return ResultVOUtils.error(500, "非" + bussinessTypeEntity.getName() + "类型单据!"); + } else + orderFilterRequest.setId(stockOrderEntity.getOrderIdFk()); + if (orderFilterRequest.getOrderId() == null || "".equals(orderFilterRequest.getOrderId())) { + orderFilterRequest.setId(null); + } List orderEntityList; if (orderFilterRequest.getStatus() == null || orderFilterRequest.getStatus() == 0) { orderFilterRequest.setStatus(4); orderFilterRequest.setContrastStatus(2); - orderFilterRequest.setReceiveStatus(0); +// orderFilterRequest.setReceiveStatus(0); // orderFilterRequest.setStatusOrOne(3); } if (orderFilterRequest.getCode() != null && !orderFilterRequest.getCode().equals("")) { @@ -227,7 +238,6 @@ public class OrderController { } } - invProductsTrService.genInvProducts(orderEntity.getId()); return ResultVOUtils.success("更新成功"); @@ -251,6 +261,7 @@ public class OrderController { return ResultVOUtils.success(pageSimpleResponse); } + //更新订单 @PostMapping("/udiwms/inout/order/updateExportStatus") public BaseResponse updateExportStatus(@RequestBody UpdateExportStatusRequest updateExportStatusRequest, BindingResult bindingResult) { @@ -265,6 +276,43 @@ public class OrderController { return ResultVOUtils.success("更新成功"); } + + //导出订单(json) + @PostMapping("warehouse/inout/order/exportXml") + public void exportXml(@RequestBody DeleteRequest deleteRequest, HttpServletResponse res) { + List orderIds = deleteRequest.getIds(); + List postOrders = new ArrayList<>(); + PostOrderRequest postOrderRequest = new PostOrderRequest(); + for (String orderId : orderIds) { + OrderEntity orderEntity = orderService.findById(orderId); + List warehouseEntityList = codesService.findByReceiptId(orderId); + PostOrderRequest.PostOrder postOrder = new PostOrderRequest.PostOrder(); + postOrder.setCodes(warehouseEntityList); + postOrder.setBillType(orderEntity.getAction()); + String json = JSONObject.toJSON(postOrder).toString(); + String fileName = filePath + "/订单导出/" + orderId + ".json"; +// new FileUtils().writeFile(fileName, json); + orderEntity.setExportStatus(ConstantStatus.ORDER_EXPORT_ED); + orderEntity.setExportFilePath(fileName); + orderService.updateOrder(orderEntity); + postOrders.add(postOrder); + + } + postOrderRequest.setPostOrders(postOrders); + String json = JSONObject.toJSON(postOrderRequest).toString(); + String fileName = "已完成单据导出_" + CustomUtil.getId() + ".json"; + res.setHeader("Content-disposition", "attachment;fileName=" + fileName); + res.setContentType("text/plain;charset=UTF-8"); + try { + res.getOutputStream().write(json.getBytes(StandardCharsets.UTF_8)); + } catch (IOException e) { + e.printStackTrace(); + } + +// return ResultVOUtils.success("文件生成成功!!"); + } + + @PostMapping("/warehouse/inout/order/mergeOrder")//TODO 合并订单 public BaseResponse mergeOrder(@RequestBody OrderMergeRequest orderMergeRequest, BindingResult bindingResult) { @@ -274,86 +322,70 @@ public class OrderController { List orderList = orderMergeRequest.getOrderList(); - SystemParamConfigRequest systemParamConfigRequest = new SystemParamConfigRequest(); - systemParamConfigRequest.setParamKey("forbidSameErp"); - SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey(systemParamConfigRequest); - if (systemParamConfigEntity == null || systemParamConfigEntity.getParamValue().equals("0")) { - List mergeList = new ArrayList<>(); - if (orderList != null && orderList.size() > 1) { - for (String orderId : orderList) { - FilterErpOrderRequest filterErpOrderRequest = new FilterErpOrderRequest(); - filterErpOrderRequest.setOrderId(orderId); - List erpOrderEntities = orderDetailService.filterAllMyErpOrder(filterErpOrderRequest); - if (erpOrderEntities != null && erpOrderEntities.size() > 0) { - mergeList.addAll(erpOrderEntities); - } - orderDetailService.deleteByOrderId(orderId); - + List mergeList = new ArrayList<>(); + if (orderList != null && orderList.size() > 1) { + for (String orderId : orderList) { + OrderEntity orderEntity = orderService.findById(orderId); + if (orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_SUCCESS) { + return ResultVOUtils.error(500, "已完成的订单不能合并!"); } - String mainOrder = orderList.get(0); - for (int i = 1; i < orderList.size(); i++) { - codesService.updateOrderId(orderList.get(i), mainOrder); - orderService.deleteByOrderId(orderList.get(i)); - } - OrderEntity mainOrderEntity = orderService.findById(mainOrder); - BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(mainOrderEntity.getAction()); - List docids = getDocids(mergeList); - String docidStr = ""; - if (docids != null && docids.size() > 0) { - for (String temp : docids) { - docidStr = docidStr + "," + temp; - } - docidStr = docidStr.substring(1); - } - mainOrderEntity.setErpFk(docidStr); - orderService.updateOrder(mainOrderEntity); - List erpOrderEntities = new ErpOrderClient(ucloudUrl).getErpOrder(docids, mainOrderEntity.getAction()); + FilterErpOrderRequest filterErpOrderRequest = new FilterErpOrderRequest(); + filterErpOrderRequest.setOrderId(orderId); + List erpOrderEntities = orderDetailService.filterAllMyErpOrder(filterErpOrderRequest); if (erpOrderEntities != null && erpOrderEntities.size() > 0) { - List returnOrders = new ContrastErpUtil().transErp(erpOrderEntities, udiRelevanceService, mainOrder); - orderDetailService.insertErpOrders(returnOrders); - List warehouseEntityList = codesService.findByReceiptId(mainOrder); - new ContrastErpUtil().contrastErp(udiInfoService, udiRelevanceService, orderDetailService, orderService, warehouseEntityList, - systemParamConfigService, bussinessTypeEntity); - } else { - orderService.updateContrastStatus(mainOrder, "error"); - orderService.updateRemark(mainOrder, "U8Cloud获取ERP单失败"); - return ResultVOUtils.error(500, "U8Cloud获取ERP单失败"); + mergeList.addAll(erpOrderEntities); } - } else { - return ResultVOUtils.error(ResultEnum.DATA_ERROR); + } - } else { - if (orderList != null && orderList.size() > 1) { - for (String orderId : orderList) { - FilterErpOrderRequest filterErpOrderRequest = new FilterErpOrderRequest(); - filterErpOrderRequest.setOrderId(orderId); - List erpOrderEntities = orderDetailService.filterAllMyErpOrder(filterErpOrderRequest); - if (erpOrderEntities != null && erpOrderEntities.size() > 0) { - for (ErpOrderEntity erpOrderEntity : erpOrderEntities) { - if (erpOrderEntity.getErpOrderId() != null) { - return ResultVOUtils.error(500, "已校验过订单不能合并!"); - } - } - } - orderDetailService.deleteByOrderId(orderId); - } - String mainOrder = orderList.get(0); - for (int i = 1; i < orderList.size(); i++) { - codesService.updateOrderId(orderList.get(i), mainOrder); - orderService.deleteByOrderId(orderList.get(i)); + for (String orderId : orderList) { + orderDetailService.deleteByOrderId(orderId); + } + String mainOrder = orderList.get(0); + for (int i = 1; i < orderList.size(); i++) { + codesService.updateOrderId(orderList.get(i), mainOrder); + orderService.deleteById(orderList.get(i)); + codesTempService.updateOrderId(orderList.get(i), mainOrder); + } + OrderEntity mainOrderEntity = orderService.findById(mainOrder); + List docids = getDocids(mergeList); + String docidStr = ""; + if (docids != null && docids.size() > 0) { + for (String temp : docids) { + docidStr = docidStr + "," + temp; } - new Thread(() -> { - List datas = codesService.findByReceiptId(mainOrder); - new InoutUtils().generateConstrastDetail(udiInfoService, udiRelevanceService, orderDetailService, datas); - ioTransInoutService.printOrder(mainOrder); - }).start(); + docidStr = docidStr.substring(1); } + mainOrderEntity.setErpFk(docidStr); + orderService.updateOrder(mainOrderEntity); + ioTransInoutService.transStatus(mainOrderEntity.getId()); + } else { + return ResultVOUtils.error(ResultEnum.DATA_ERROR); } - return ResultVOUtils.success("合并成功,后台正在数据转换,请稍后刷新重试!"); } + //异常单据撤回 + @GetMapping("/spms/inout/order/revoke") + public BaseResponse revokeOrder(OrderFilterRequest orderFilterRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + + OrderEntity orderEntity = orderService.findById(orderFilterRequest.getId()); + orderEntity.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); + orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_UN); + List warehouseEntityList = codesService.findByReceiptId(orderEntity.getId()); + codesTempService.insertCodesTemp(warehouseEntityList); + codesService.deleteByOrderId(orderEntity.getId()); + orderService.updateOrder(orderEntity); + + return ResultVOUtils.success("单据撤回成功!"); + + } + public List getDocids(List mergeList) { List docids = new ArrayList<>(); Map> mapErps = mergeList.stream().collect(Collectors.groupingBy(ErpOrderEntity::getErpOrderId)); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/OrderDetailController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/OrderDetailController.java index c5a116d..570b4b9 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/OrderDetailController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/OrderDetailController.java @@ -1,12 +1,14 @@ package com.glxp.sale.admin.controller.inout; import com.github.pagehelper.PageInfo; +import com.glxp.sale.admin.constant.Constant; import com.glxp.sale.admin.constant.ConstantStatus; import com.glxp.sale.admin.controller.inout.utils.CheckOrderUtils; import com.glxp.sale.admin.controller.inout.utils.ContrastErpUtil; import com.glxp.sale.admin.controller.inout.utils.DataTransUtil; import com.glxp.sale.admin.entity.auth.AuthAdmin; import com.glxp.sale.admin.entity.basic.BussinessTypeEntity; +import com.glxp.sale.admin.entity.basic.UdiRelevanceEntity; import com.glxp.sale.admin.entity.info.CompanyEntity; import com.glxp.sale.admin.entity.inout.*; import com.glxp.sale.admin.entity.param.SystemParamConfigEntity; @@ -31,7 +33,9 @@ import com.glxp.sale.admin.service.thrsys.ThrDataService; import com.glxp.sale.admin.service.thrsys.ThrOrderDetailService; import com.glxp.sale.admin.service.thrsys.ThrOrderService; import com.glxp.sale.admin.thread.InvDlErpStockService; +import com.glxp.sale.admin.thread.InvProductsTrService; import com.glxp.sale.admin.thread.IoTransInoutService; +import com.glxp.sale.admin.util.CustomUtil; import com.glxp.sale.admin.util.DateUtil; import com.glxp.sale.common.enums.ResultEnum; import com.glxp.sale.common.res.BaseResponse; @@ -72,7 +76,6 @@ public class OrderDetailController { @Resource private CheckOrderUtils checkOrderUtils; - @Resource private IoTransInoutService transInoutService; @Autowired @@ -94,16 +97,18 @@ public class OrderDetailController { private BussinessTypeService bussinessTypeService; @Resource ThrDataService thrDataService; + @Resource + InvProductsTrService invProductsTrService; + @Resource + IoTransInoutService ioTransInoutService; - @GetMapping("/udiwms/erpOrder/filter") - public BaseResponse filterErpOrder(FilterOrderRequest filterErpOrderRequest, - BindingResult bindingResult) { + @GetMapping("/spms/erpOrder/filter") + public BaseResponse filterSpmsOrder(FilterOrderRequest filterErpOrderRequest, + BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } - - FilterThrOrderRequest filterThrOrderRequest = new FilterThrOrderRequest(); BeanUtils.copyProperties(filterErpOrderRequest, filterThrOrderRequest); filterThrOrderRequest.setPage(filterErpOrderRequest.getPage()); @@ -113,7 +118,7 @@ public class OrderDetailController { CompanyEntity companyEntity = companyService.findCompany(Long.parseLong(filterErpOrderRequest.getCustomerId())); filterThrOrderRequest.setUnitIdFk(companyEntity.getUnitIdFk()); } - +// filterErpOrderRequest.setBillAction(filterErpOrderRequest.getOriginType()); List erpOrderResponses = new ArrayList<>(); List data = thrOrderService.filterThrOrder(filterThrOrderRequest); @@ -130,8 +135,8 @@ public class OrderDetailController { for (ThrOrderDetailEntity thrOrderDetailEntity : thrOrderDetailEntities) { ErpOrderResponse.SubErpOrder subErpOrder = new ErpOrderResponse.SubErpOrder(); BeanUtils.copyProperties(thrOrderDetailEntity, subErpOrder); - subErpOrder.setCount(thrOrderDetailEntity.getCount()+""); - subErpOrder.setReCount(thrOrderDetailEntity.getReCount()+""); + subErpOrder.setCount(thrOrderDetailEntity.getCount() + ""); + subErpOrder.setReCount(thrOrderDetailEntity.getReCount() + ""); subErpOrders.add(subErpOrder); } } @@ -148,6 +153,57 @@ public class OrderDetailController { // } } + //手持终端下载业务单据 + @GetMapping("/udiwms/erpOrder/filter") + public BaseResponse filterErpOrder(FilterOrderRequest filterErpOrderRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + + BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(filterErpOrderRequest.getBillAction()); + StockOrderFilterRequest stockOrderFilterRequest = new StockOrderFilterRequest(); + stockOrderFilterRequest.setBillNo(filterErpOrderRequest.getBillNo()); + stockOrderFilterRequest.setStartTime(filterErpOrderRequest.getStartDate()); + stockOrderFilterRequest.setEndTime(filterErpOrderRequest.getEndDate()); + stockOrderFilterRequest.setBillType(bussinessTypeEntity.getLocalAction()); + stockOrderFilterRequest.setPage(filterErpOrderRequest.getPage()); + stockOrderFilterRequest.setStatus(ConstantStatus.SORDER_CHECK); + stockOrderFilterRequest.setLimit(filterErpOrderRequest.getLimit()); + List data = stockOrderService.findAllOrders(stockOrderFilterRequest); + List erpOrderResponses = new ArrayList<>(); + if (data != null && data.size() > 0) { + for (StockOrderEntity stockOrderEntity : data) { + StockOrderDetailFilterRequest stockOrderDetailFilterRequest = new StockOrderDetailFilterRequest(); + stockOrderDetailFilterRequest.setOrderIdFk(stockOrderEntity.getId() + ""); + List thrOrderDetailEntities = + stockOrderDetailService.filterStockOrderDetail(stockOrderDetailFilterRequest); + ErpOrderResponse erpOrderResponse = new ErpOrderResponse(); + BeanUtils.copyProperties(stockOrderEntity, erpOrderResponse); + List subErpOrders = new ArrayList<>(); + if (thrOrderDetailEntities != null && thrOrderDetailEntities.size() > 0) { + for (StockOrderDetailEntity thrOrderDetailEntity : thrOrderDetailEntities) { + ErpOrderResponse.SubErpOrder subErpOrder = new ErpOrderResponse.SubErpOrder(); + BeanUtils.copyProperties(thrOrderDetailEntity, subErpOrder); + subErpOrder.setCount(thrOrderDetailEntity.getCount() + ""); + subErpOrder.setReCount(thrOrderDetailEntity.getReCount() + ""); + subErpOrders.add(subErpOrder); + } + } + erpOrderResponse.setSubErpOrders(subErpOrders); + erpOrderResponses.add(erpOrderResponse); + } + } + PageInfo pageInfo; + pageInfo = new PageInfo<>(data); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(erpOrderResponses); + return ResultVOUtils.success(pageSimpleResponse); +// } + } + @GetMapping("/udiwms/erpOrder/addStockOrder") public BaseResponse addStockOrder(FilterOrderRequest filterErpOrderRequest, BindingResult bindingResult) { @@ -162,22 +218,25 @@ public class OrderDetailController { } StockOrderEntity temp = stockOrderService.findByBillNo(thrOrderEntity.getBillNo() + ""); - if(temp!=null){ - return ResultVOUtils.error(500,"单据已被选入,请勿重复选入!"); + if (temp != null) { + return ResultVOUtils.error(500, "单据已被选入,请勿重复选入!"); } StockOrderEntity stockOrderEntity = new StockOrderEntity(); BeanUtils.copyProperties(thrOrderEntity, stockOrderEntity); - + String billNo = CustomUtil.getId(); + stockOrderEntity.setBillNo(billNo); BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(thrOrderEntity.getBillType()); stockOrderEntity.setBillType(bussinessTypeEntity.getLocalAction()); stockOrderEntity.setId(null); stockOrderEntity.setStatus(ConstantStatus.SORDER_ALLOC);//未提交 + stockOrderEntity.setThirdOrderFk(thrOrderEntity.getBillNo()); stockOrderEntity.setSourceType(ConstantStatus.ST_THIRD_SEL);//外部提交 stockOrderEntity.setPrintStatus(ConstantStatus.SORDER_PRINT_UN);//未打印 stockOrderEntity.setBilldate(DateUtil.formatDate(new Date())); boolean b = stockOrderService.insertStockOrder(stockOrderEntity); + stockOrderEntity = stockOrderService.findByBillNo(billNo); if (b) { FilterThrOrderDetailRequest filterThrOrderDetailRequest = new FilterThrOrderDetailRequest(); filterThrOrderDetailRequest.setOrderIdFk(thrOrderEntity.getId() + ""); @@ -187,7 +246,9 @@ public class OrderDetailController { List stockOrderDetailEntityList = new ArrayList<>(); for (ThrOrderDetailEntity thrOrderDetailEntity : thrOrderDetailEntities) { StockOrderDetailEntity stockOrderDetailEntity = new StockOrderDetailEntity(); + UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectByThirdId(thrOrderDetailEntity.getProductId(), thrOrderDetailEntity.getThirdSysFk()); BeanUtils.copyProperties(thrOrderDetailEntity, stockOrderDetailEntity); + stockOrderDetailEntity.setProductId(udiRelevanceEntity.getId()); stockOrderDetailEntity.setCount(thrOrderDetailEntity.getCount() + ""); stockOrderDetailEntity.setReCount(thrOrderDetailEntity.getReCount() + ""); stockOrderDetailEntity.setOrderIdFk(stockOrderEntity.getId()); @@ -208,7 +269,28 @@ public class OrderDetailController { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } + erpOrderEntity.setGoodsid(erpOrderEntity.getBindRlFk()); + boolean b = orderDetailService.updateErpOrder(erpOrderEntity); + erpOrderEntity = orderDetailService.findById(erpOrderEntity.getId() + ""); + codesService.updateRelId(erpOrderEntity.getBindRlFk(), erpOrderEntity.getNameCode(), erpOrderEntity.getOrderIdFk()); + if (b) { + return ResultVOUtils.success("绑定成功"); + } else { + return ResultVOUtils.error(500, "绑定失败"); + } + } + + @PostMapping("/udiwms/erpOrder/updateBindSup") + public BaseResponse updateBindSup(@RequestBody ErpOrderEntity erpOrderEntity, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + erpOrderEntity.setBindSupStatus(ConstantStatus.ORDER_DETAIL_SUP_ONE); boolean b = orderDetailService.updateErpOrder(erpOrderEntity); + erpOrderEntity = orderDetailService.findById(erpOrderEntity.getId() + ""); + + codesService.updateSupId(erpOrderEntity.getSupId(), erpOrderEntity.getNameCode(), erpOrderEntity.getOrderIdFk()); if (b) { return ResultVOUtils.success("绑定成功"); } else { @@ -398,18 +480,18 @@ public class OrderDetailController { } - @PostMapping("/warehouse/repeatCheck")//TODO 重新校验 - public BaseResponse repeatCheck(@RequestBody FilterErpOrderRequest filterErpOrderRequest, BindingResult bindingResult) { - - if (bindingResult.hasErrors()) { - return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); - } - OrderFilterRequest orderFilterRequest = new OrderFilterRequest(); - orderFilterRequest.setId(filterErpOrderRequest.getOrderId()); - OrderEntity orderEntity = orderService.findOne(orderFilterRequest); - transInoutService.repeatCheck(orderEntity.getId()); - return ResultVOUtils.success("后台已开始校验,请稍后刷新重试!"); - } +// @PostMapping("/warehouse/repeatCheck")//TODO 重新校验 +// public BaseResponse repeatCheck(@RequestBody FilterErpOrderRequest filterErpOrderRequest, BindingResult bindingResult) { +// +// if (bindingResult.hasErrors()) { +// return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); +// } +// OrderFilterRequest orderFilterRequest = new OrderFilterRequest(); +// orderFilterRequest.setId(filterErpOrderRequest.getOrderId()); +// OrderEntity orderEntity = orderService.findOne(orderFilterRequest); +// transInoutService.repeatCheck(orderEntity.getId()); +// return ResultVOUtils.success("后台已开始校验,请稍后刷新重试!"); +// } @PostMapping("/warehouse/repeatPrintCheck")//TODO 重新校验 public BaseResponse repeatPrintCheck(@RequestBody FilterErpOrderRequest filterErpOrderRequest, BindingResult bindingResult) { @@ -420,17 +502,49 @@ public class OrderDetailController { OrderFilterRequest orderFilterRequest = new OrderFilterRequest(); orderFilterRequest.setId(filterErpOrderRequest.getOrderId()); OrderEntity orderEntity = orderService.findOne(orderFilterRequest); - List erpIds = DataTransUtil.strToErpList(orderEntity.getErpFk()); - if (erpIds != null && erpIds.size() > 0) { - List erpOrderEntities = thrDataService.getStockOrders(erpIds); - orderDetailService.deleteByOrderId(orderEntity.getId()); - List warehouseEntityList = codesService.findByReceiptId(orderEntity.getId()); - transInoutService.genOrderDetail(warehouseEntityList); - checkOrderUtils.check(orderEntity.getId(), erpOrderEntities); - } + BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(orderEntity.getAction()); + ioTransInoutService.transStatus(orderEntity.getId()); + orderEntity = orderService.findById(orderEntity.getId()); + if (orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_CHECK) { + List erpIds = DataTransUtil.strToErpList(orderEntity.getErpFk()); + if (erpIds != null && erpIds.size() > 0) { //已经绑定ERPID,则自动校验 + List erpOrderEntities = thrDataService.getStockOrders(erpIds); + checkOrderUtils.check(orderEntity.getId(), erpOrderEntities); + } else { + //未绑定Id,则更改状态,等待校验 + orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_UN); + orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK); + orderService.updateOrder(orderEntity); + } + } -// transInoutService.repeatPrint(orderEntity); +// if (!bussinessTypeEntity.getCheckEnable() +// || (orderEntity.getFromType().intValue() == ConstantStatus.FROM_CHANGE && !bussinessTypeEntity.isCheckChange())) { //不需要校验,则直接生成库存 +// orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_UN); +// orderService.updateOrder(orderEntity); +// transInoutService.checkMutiDi(orderEntity.getId()); +// if (orderEntity.getContrastStatus() != ConstantStatus.ORDER_CHECK_FAIL) { +// orderService.updateOrderStatus(orderEntity.getId(), ConstantStatus.ORDER_STATUS_SUCCESS); +// if (orderEntity.getCustomerId().equals(Constant.SYSTEM_CUSTOMER_ID)) { +// invProductsTrService.genInvProducts(orderEntity.getId()); +// } +// transInoutService.printOrder(orderEntity.getId()); +// } +// } else { +// +// List erpIds = DataTransUtil.strToErpList(orderEntity.getErpFk()); +// if (erpIds != null && erpIds.size() > 0) { //已经绑定ERPID,则自动校验 +// List erpOrderEntities = thrDataService.getStockOrders(erpIds); +// checkOrderUtils.check(orderEntity.getId(), erpOrderEntities); +// } else { +// //未绑定Id,则更改状态,等待校验 +// orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_UN); +// orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK); +// orderService.updateOrder(orderEntity); +// } +// +// } return ResultVOUtils.success("后台已开始校验,请稍后刷新重试!"); } } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/StockOrderController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/StockOrderController.java index c9c4dd0..3078bcf 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/StockOrderController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/StockOrderController.java @@ -3,14 +3,17 @@ package com.glxp.sale.admin.controller.inout; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.TypeReference; import com.github.pagehelper.PageInfo; +import com.glxp.sale.admin.constant.Constant; import com.glxp.sale.admin.constant.ConstantStatus; import com.glxp.sale.admin.constant.IncodeStatus; import com.glxp.sale.admin.controller.inout.inventory.InvPrintController; import com.glxp.sale.admin.controller.inout.utils.ContrastErpUtil; import com.glxp.sale.admin.controller.inout.utils.InoutUtils; +import com.glxp.sale.admin.entity.auth.AuthAdmin; import com.glxp.sale.admin.entity.basic.StockPrinttREntity; import com.glxp.sale.admin.entity.basic.UdiInfoEntity; import com.glxp.sale.admin.entity.basic.StockPrintEntity; +import com.glxp.sale.admin.entity.basic.UdiRelevanceEntity; import com.glxp.sale.admin.entity.info.CompanyEntity; import com.glxp.sale.admin.entity.inout.*; import com.glxp.sale.admin.entity.inventory.InCodeLogEntity; @@ -18,6 +21,7 @@ import com.glxp.sale.admin.entity.param.SystemParamConfigEntity; import com.glxp.sale.admin.entity.thrsys.ThrOrderDetailEntity; import com.glxp.sale.admin.entity.thrsys.ThrOrderEntity; import com.glxp.sale.admin.entity.udid.UdiEntity; +import com.glxp.sale.admin.exception.JsonException; import com.glxp.sale.admin.httpclient.ErpOrderClient; import com.glxp.sale.admin.req.inout.*; import com.glxp.sale.admin.req.inventory.PostStockPrintRequest; @@ -27,6 +31,7 @@ import com.glxp.sale.admin.req.thrsys.FilterThrOrderRequest; import com.glxp.sale.admin.res.PageSimpleResponse; import com.glxp.sale.admin.res.basic.UdiRelevanceResponse; import com.glxp.sale.admin.res.inout.ErpOrderResponse; +import com.glxp.sale.admin.service.auth.AuthAdminService; import com.glxp.sale.admin.service.basic.UdiInfoService; import com.glxp.sale.admin.service.basic.UdiRelevanceService; import com.glxp.sale.admin.service.info.CompanyService; @@ -48,8 +53,11 @@ import org.springframework.util.MultiValueMap; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; import org.springframework.web.client.RestTemplate; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import javax.validation.Valid; import java.text.DateFormat; import java.text.SimpleDateFormat; @@ -78,7 +86,8 @@ public class StockOrderController { @Value("${STOCK_PRINT_POST}") private String stpUrl; - + @Resource + private AuthAdminService authAdminService; @Resource private InvPrintController invPrintController; @Resource @@ -173,11 +182,13 @@ public class StockOrderController { } } if (StringUtils.isBlank(stockOrderEntity.getId())) { + if (!getCustomerId().equals(Constant.SYSTEM_CUSTOMER_ID)) { + CompanyEntity companyEntity = companyService.findCompany(Long.parseLong(stockOrderPostRequest.getCustomerId())); + stockOrderEntity.setCorpId(companyEntity.getUnitIdFk()); + stockOrderEntity.setCorpName(companyEntity.getCompanyName()); + stockOrderEntity.setUnitIdFk(companyEntity.getUnitIdFk()); + } - CompanyEntity companyEntity = companyService.findCompany(Long.parseLong(stockOrderPostRequest.getCustomerId())); - stockOrderEntity.setCorpId(companyEntity.getUnitIdFk()); - stockOrderEntity.setCorpName(companyEntity.getCompanyName()); - stockOrderEntity.setUnitIdFk(companyEntity.getUnitIdFk()); stockOrderEntity.setCustomerId(stockOrderPostRequest.getCustomerId()); stockOrderEntity.setBilldate(DateUtil.formatDate(new Date())); b = stockOrderService.insertStockOrder(stockOrderEntity); @@ -251,7 +262,10 @@ public class StockOrderController { if (StringUtils.isNotBlank(stockOrderFilterRequest.getCorpId())) { CompanyEntity companyEntity = companyService.findCompany(Long.parseLong(stockOrderFilterRequest.getCorpId())); - stockOrderFilterRequest.setUnitIdFk(companyEntity.getUnitIdFk()); + if (companyEntity.getUnitIdFk().equals("110")) { + stockOrderFilterRequest.setUnitIdFk(null); + } else + stockOrderFilterRequest.setUnitIdFk(companyEntity.getUnitIdFk()); stockOrderFilterRequest.setCorpId(null); } @@ -276,8 +290,9 @@ public class StockOrderController { stockOrderFilterRequest.setBillType(stockOrderFilterRequest.getBillAction()); } List erpOrderResponses = new ArrayList<>(); - if (stockOrderFilterRequest.getCustomerId() != null) { - CompanyEntity companyEntity = companyService.findCompany(Long.parseLong(stockOrderFilterRequest.getCustomerId())); + String customerId = getCustomerId(); + if (customerId != null) { + CompanyEntity companyEntity = companyService.findCompany(Long.parseLong(customerId)); stockOrderFilterRequest.setUnitIdFk(companyEntity.getUnitIdFk()); } @@ -325,6 +340,14 @@ public class StockOrderController { return ResultVOUtils.success(); } + + @PostMapping("/udiwms/stock/order/update") + public BaseResponse submitStockOrder(@RequestBody StockOrderEntity stockOrderEntity) { + stockOrderService.updateById(stockOrderEntity); + return ResultVOUtils.success(); + } + + @GetMapping("/udiwms/stock/order/new/submit") public BaseResponse submitNewStockOrder(@RequestParam("id") String id) { StockOrderEntity stockOrderEntity = new StockOrderEntity(); @@ -346,7 +369,6 @@ public class StockOrderController { @GetMapping("/udiwms/stock/order/error/submit") public BaseResponse submitStockOrderError(@RequestParam("id") String id) { StockOrderEntity stockOrderEntity = new StockOrderEntity(); - stockOrderEntity.setId(id); stockOrderEntity.setStatus(101 + "");//重新提交为未处理 stockOrderService.updateById(stockOrderEntity); return ResultVOUtils.success(); @@ -355,7 +377,15 @@ public class StockOrderController { @PostMapping("/udiwms/stock/order/qrcode/generate/text") public BaseResponse generateStockOrderQRCodeText(@RequestBody StockOrderIdsRequest stockOrderIdsRequest) { - if (stockOrderIdsRequest.getIds().size() < 1) return ResultVOUtils.error(ResultEnum.DATA_ERROR); + if (stockOrderIdsRequest.getIds() == null || stockOrderIdsRequest.getIds().size() < 1) { + if (stockOrderIdsRequest.getId() != null) { + List ids = new ArrayList<>(); + ids.add(stockOrderIdsRequest.getId()); + stockOrderIdsRequest.setIds(ids); + } else + return ResultVOUtils.error(ResultEnum.DATA_ERROR); + + } StockOrderFilterRequest stockOrderFilterRequest = new StockOrderFilterRequest(); for (String id : stockOrderIdsRequest.getIds()) { stockOrderFilterRequest.setId(id); @@ -379,22 +409,27 @@ public class StockOrderController { StockPrintEntity stockPrintEntity = new StockPrintEntity(); stockPrintEntity.setSOrderId(stockOrderEntity.getId()); stockPrintEntity.setUpdateTime(new Date()); - stockPrintEntity.setNameCode(stockOrderDetailEntity.getProductId()); + stockPrintEntity.setNameCode(udiRelevanceResponse.getNameCode() + ""); stockPrintEntity.setProduceDate(stockOrderDetailEntity.getProductDate()); stockPrintEntity.setExpireDate(stockOrderDetailEntity.getExpireDate()); stockPrintEntity.setBatchNo(stockOrderDetailEntity.getBatchNo()); stockPrintEntity.setSDetailId(stockOrderDetailEntity.getId()); + stockPrintEntity.setUdiRlIdFk(udiRelevanceResponse.getId() + ""); + stockPrintEntity.setCount(Integer.parseInt(stockOrderDetailEntity.getReCount())); stockPrintEntities.add(stockPrintEntity); } } else { + UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectGroupById(stockOrderDetailEntity.getProductId()); StockPrintEntity stockPrintEntity = new StockPrintEntity(); - stockPrintEntity.setNameCode(stockOrderDetailEntity.getProductId()); + stockPrintEntity.setNameCode(udiRelevanceResponse.getNameCode()); stockPrintEntity.setSOrderId(stockOrderEntity.getId()); stockPrintEntity.setUpdateTime(new Date()); + stockPrintEntity.setUdiRlIdFk(udiRelevanceResponse.getId() + ""); stockPrintEntity.setProduceDate(stockOrderDetailEntity.getProductDate()); stockPrintEntity.setExpireDate(stockOrderDetailEntity.getExpireDate()); stockPrintEntity.setBatchNo(stockOrderDetailEntity.getBatchNo()); stockPrintEntity.setSDetailId(stockOrderDetailEntity.getId()); + stockPrintEntity.setCount(Integer.parseInt(stockOrderDetailEntity.getReCount())); stockPrintEntities.add(stockPrintEntity); } } @@ -464,4 +499,16 @@ public class StockOrderController { return ResultVOUtils.success(billNo); } + + + public String getCustomerId() { + ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); + if (attributes == null) { + throw new JsonException(ResultEnum.NOT_NETWORK); + } + HttpServletRequest request = attributes.getRequest(); + String userId = request.getHeader("ADMIN_ID"); + AuthAdmin authAdmin = authAdminService.findById(Long.parseLong(userId)); + return authAdmin.getCustomerId() + ""; + } } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/StockOrderDetailController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/StockOrderDetailController.java index 34dd3d9..ca0d2b6 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/StockOrderDetailController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/StockOrderDetailController.java @@ -3,8 +3,10 @@ package com.glxp.sale.admin.controller.inout; import com.alibaba.fastjson.JSONObject; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; +import com.glxp.sale.admin.constant.Constant; import com.glxp.sale.admin.constant.ConstantStatus; import com.glxp.sale.admin.controller.inout.utils.ContrastErpUtil; +import com.glxp.sale.admin.entity.auth.AuthAdmin; import com.glxp.sale.admin.entity.basic.UdiInfoEntity; import com.glxp.sale.admin.entity.inout.StockOrderDetailEntity; import com.glxp.sale.admin.entity.inout.OrderEntity; @@ -12,6 +14,7 @@ import com.glxp.sale.admin.entity.inout.StockQRCodeTextEntity; import com.glxp.sale.admin.entity.inout.WarehouseEntity; import com.glxp.sale.admin.entity.param.SystemParamConfigEntity; import com.glxp.sale.admin.entity.udid.UdiEntity; +import com.glxp.sale.admin.exception.JsonException; import com.glxp.sale.admin.httpclient.ErpOrderClient; import com.glxp.sale.admin.req.basic.CompanyProductRelevanceRequest; import com.glxp.sale.admin.req.basic.FilterUdiInfoRequest; @@ -23,6 +26,7 @@ import com.glxp.sale.admin.res.basic.UdiRelevanceResponse; import com.glxp.sale.admin.res.inout.PurchaseinResponse; import com.glxp.sale.admin.res.inout.StockOrderDetailQueryProductResponse; import com.glxp.sale.admin.res.inout.StockOrderDetailResponse; +import com.glxp.sale.admin.service.auth.AuthAdminService; import com.glxp.sale.admin.service.basic.UdiInfoService; import com.glxp.sale.admin.service.basic.UdiRelevanceService; import com.glxp.sale.admin.service.info.CompanyProductRelevanceService; @@ -38,10 +42,14 @@ import com.glxp.sale.common.util.ResultVOUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Bean; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import java.util.*; import java.util.stream.Collectors; @@ -65,6 +73,8 @@ public class StockOrderDetailController { private IoTransInoutService transInoutService; @Autowired private SystemParamConfigService systemParamConfigService; + @Resource + AuthAdminService authAdminService; @GetMapping("/udiwms/stock/order/detail/filter") public BaseResponse filterStockOrderDetail(StockOrderDetailFilterRequest stockOrderDetailFilterRequest, @@ -159,7 +169,7 @@ public class StockOrderDetailController { public BaseResponse uploadCount(@RequestParam("orderId") String orderId, @RequestParam("code") String code) { UdiEntity udiEntity = FilterUdiUtils.getUdi(code); if (udiEntity == null) - return ResultVOUtils.error(ResultEnum.DATA_ERROR, "条码错误 1"); + return ResultVOUtils.error(ResultEnum.DATA_ERROR, "条码错误 1"); if (StringUtils.isBlank(udiEntity.getUdi())) return ResultVOUtils.error(ResultEnum.DATA_ERROR, "条码错误 2"); @@ -233,12 +243,25 @@ public class StockOrderDetailController { CompanyProductRelevanceRequest companyProductRelevanceRequest = new CompanyProductRelevanceRequest(); companyProductRelevanceRequest.setId(id); companyProductRelevanceRequest.setDiType(1); - List companyProductRelevanceResponses = companyProductRelevanceService.filterUdiGp(companyProductRelevanceRequest); - + companyProductRelevanceRequest.setCustomerId(getCustomerId()); + List companyProductRelevanceResponses = new ArrayList<>(); + if (companyProductRelevanceRequest.getCustomerId().equals(Constant.SYSTEM_CUSTOMER_ID)) { + FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); + filterUdiInfoRequest.setId(id); + filterUdiInfoRequest.setDiType(1); + List udiRelevanceResponses = udiRelevanceService.filterUdiGp(filterUdiInfoRequest); + if (udiRelevanceResponses.size() > 0) { + CompanyProductRelevanceResponse companyProductRelevanceResponse = new CompanyProductRelevanceResponse(); + BeanUtils.copyProperties(udiRelevanceResponses.get(0), companyProductRelevanceResponse); + companyProductRelevanceResponse.setRlId(udiRelevanceResponses.get(0).getId()); + companyProductRelevanceResponses.add(companyProductRelevanceResponse); + } + } else + companyProductRelevanceResponses = companyProductRelevanceService.filterUdiGp(companyProductRelevanceRequest); if (companyProductRelevanceResponses != null && companyProductRelevanceResponses.size() > 0) { CompanyProductRelevanceResponse udiInfoEntity = companyProductRelevanceResponses.get(0); StockOrderDetailEntity stockOrderDetailEntity = new StockOrderDetailEntity(); - stockOrderDetailEntity.setProductId(udiInfoEntity.getRlId()+""); + stockOrderDetailEntity.setProductId(udiInfoEntity.getRlId() + ""); stockOrderDetailEntity.setProductName(udiInfoEntity.getCpmctymc()); stockOrderDetailEntity.setSpec(udiInfoEntity.getGgxh()); if (stockOrderIdsRequest.getUdiEntity() != null) { @@ -302,34 +325,6 @@ public class StockOrderDetailController { return ResultVOUtils.error(ResultEnum.DATA_NOT, "未找到该产品"); } - @GetMapping("/udiwms/stock/order/detail/addFromCodeById") - public BaseResponse addStockOrderDetailFromCodeById(@RequestParam("orderId") String orderId, - @RequestParam("id") String id) { - UdiInfoEntity udiInfoEntity = - udiInfoService.findById(id); - if (udiInfoEntity != null) { - - StockOrderDetailEntity stockOrderDetailEntity = new StockOrderDetailEntity(); - stockOrderDetailEntity.setOrderIdFk(orderId); - stockOrderDetailEntity.setProductId(udiInfoEntity.getNameCode()); - stockOrderDetailEntity.setProductName(udiInfoEntity.getCpmctymc()); - stockOrderDetailEntity.setSpec(udiInfoEntity.getGgxh()); - stockOrderDetailEntity.setBatchNo(udiInfoEntity.getBatchNo()); - stockOrderDetailEntity.setProductDate(udiInfoEntity.getProduceDate()); - stockOrderDetailEntity.setExpireDate(udiInfoEntity.getExpireDate()); - stockOrderDetailEntity.setCount(0 + ""); - stockOrderDetailEntity.setReCount(0 + ""); - stockOrderDetailEntity.setSweepCount(0 + ""); - stockOrderDetailEntity.setYlqxzcrbarmc(udiInfoEntity.getYlqxzcrbarmc()); - stockOrderDetailEntity.setZczbhhzbapzbh(udiInfoEntity.getZczbhhzbapzbh()); - - stockOrderDetailService.insertStockOrderDetail(stockOrderDetailEntity); - - return ResultVOUtils.success(); - } - - return ResultVOUtils.error(ResultEnum.DATA_NOT, "未找到该产品"); - } @GetMapping("/udiwms/stock/order/detail/queryProduct") public BaseResponse queryProduct(@RequestParam("code") String code, @RequestParam("customerId") String customerId) { @@ -360,7 +355,7 @@ public class StockOrderDetailController { basicInstrumentMaintainRelevanceResponses = companyProductRelevanceService.filterUdiGp(companyProductRelevanceRequest); if (basicInstrumentMaintainRelevanceResponses.size() == 1) { stockOrderDetailQueryProductResponse.setGetType("1"); - stockOrderDetailQueryProductResponse.setGetId(basicInstrumentMaintainRelevanceResponses.get(0).getId() + ""); + stockOrderDetailQueryProductResponse.setGetId(basicInstrumentMaintainRelevanceResponses.get(0).getRlId() + ""); } else if (basicInstrumentMaintainRelevanceResponses.size() > 1) { stockOrderDetailQueryProductResponse.setGetType("2"); } else { @@ -382,20 +377,34 @@ public class StockOrderDetailController { if (filterUdiInfoRequest.getUdiCode() != null && !filterUdiInfoRequest.getUdiCode().isEmpty()) { udiEntity = FilterUdiUtils.getUdi(filterUdiInfoRequest.getUdiCode()); + if (udiEntity != null) { + nameCode = udiEntity.getUdi(); + } else { + nameCode = filterUdiInfoRequest.getNameCode(); + } + filterUdiInfoRequest.setNameCode(nameCode); + List temps = udiRelevanceService.filterUdiGp(filterUdiInfoRequest); + if (temps != null && temps.size() > 0) { + filterUdiInfoRequest.setUuid(temps.get(0).getUuid()); + filterUdiInfoRequest.setNameCode(null); + } } - if (udiEntity != null) { - nameCode = udiEntity.getUdi(); - } else { - nameCode = filterUdiInfoRequest.getNameCode(); - } - - filterUdiInfoRequest.setNameCode(nameCode); + filterUdiInfoRequest.setDiType(1); CompanyProductRelevanceRequest companyProductRelevanceRequest = new CompanyProductRelevanceRequest(); BeanUtils.copyProperties(filterUdiInfoRequest, companyProductRelevanceRequest); - companyProductRelevanceRequest.setDiType(1); List basicInstrumentMaintainRelevanceResponses = null; - basicInstrumentMaintainRelevanceResponses = companyProductRelevanceService.filterUdiGp(companyProductRelevanceRequest); + if (filterUdiInfoRequest.getCustomerId().equals(Constant.SYSTEM_CUSTOMER_ID)) { + List udiRelevanceResponses = udiRelevanceService.filterUdiGp(filterUdiInfoRequest); + basicInstrumentMaintainRelevanceResponses = new ArrayList<>(); + for (UdiRelevanceResponse udiRelevanceResponse : udiRelevanceResponses) { + CompanyProductRelevanceResponse companyProductRelevanceResponse = new CompanyProductRelevanceResponse(); + BeanUtils.copyProperties(udiRelevanceResponse, companyProductRelevanceResponse); + companyProductRelevanceResponse.setRlId(udiRelevanceResponse.getId()); + basicInstrumentMaintainRelevanceResponses.add(companyProductRelevanceResponse); + } + } else + basicInstrumentMaintainRelevanceResponses = companyProductRelevanceService.filterUdiGp(companyProductRelevanceRequest); //todo 为什么要把去掉使用单元 // if (basicInstrumentMaintainRelevanceResponses != null && basicInstrumentMaintainRelevanceResponses.size() > 0) { @@ -490,4 +499,15 @@ public class StockOrderDetailController { return ResultVOUtils.error(500, "删除失败"); } } + + public String getCustomerId() { + ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); + if (attributes == null) { + throw new JsonException(ResultEnum.NOT_NETWORK); + } + HttpServletRequest request = attributes.getRequest(); + String userId = request.getHeader("ADMIN_ID"); + AuthAdmin authAdmin = authAdminService.findById(Long.parseLong(userId)); + return authAdmin.getCustomerId() + ""; + } } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/StockQRCodeTextController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/StockQRCodeTextController.java index 7c158be..f74ce7e 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/StockQRCodeTextController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/StockQRCodeTextController.java @@ -1,5 +1,7 @@ package com.glxp.sale.admin.controller.inout; +import java.math.BigDecimal; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -8,11 +10,26 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import com.glxp.sale.admin.constant.Constant; import com.glxp.sale.admin.entity.basic.StockPrintEntity; +import com.glxp.sale.admin.entity.info.CompanyEntity; +import com.glxp.sale.admin.entity.inout.*; +import com.glxp.sale.admin.entity.inventory.StockPrintTempEntity; +import com.glxp.sale.admin.entity.thrsys.ThrProductsEntity; import com.glxp.sale.admin.req.basic.FilterStockprintRequest; +import com.glxp.sale.admin.req.inventory.DeleteStPrintTempRequest; +import com.glxp.sale.admin.req.inventory.FilterStPrintTempRequest; +import com.glxp.sale.admin.req.itextpdf.PdfPrintCountEntity; +import com.glxp.sale.admin.res.basic.CompanyProductRelevanceResponse; +import com.glxp.sale.admin.service.info.CompanyService; import com.glxp.sale.admin.service.inventory.InvStockPrintService; +import com.glxp.sale.admin.service.inventory.StockPrintTempService; +import com.glxp.sale.admin.thread.JaspaperService; +import com.glxp.sale.admin.util.CustomUtil; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -20,10 +37,6 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import com.github.pagehelper.PageInfo; -import com.glxp.sale.admin.entity.inout.StockOrderDetailEntity; -import com.glxp.sale.admin.entity.inout.StockOrderEntity; -import com.glxp.sale.admin.entity.inout.StockOrderPrintEntity; -import com.glxp.sale.admin.entity.inout.StockQRCodeTextEntity; import com.glxp.sale.admin.entity.param.SystemPDFModuleEntity; import com.glxp.sale.admin.entity.param.SystemPDFTemplateEntity; import com.glxp.sale.admin.req.inout.DeleteRequest; @@ -42,7 +55,6 @@ import com.glxp.sale.admin.service.param.SystemPDFModuleService; import com.glxp.sale.admin.service.param.SystemPDFTemplateService; import com.glxp.sale.admin.service.param.SystemParamConfigService; import com.glxp.sale.admin.thread.IoTransInoutService; -import com.glxp.sale.admin.util.ITextPDFUtils; import com.glxp.sale.admin.util.JasperUtils; import com.glxp.sale.common.enums.ResultEnum; import com.glxp.sale.common.res.BaseResponse; @@ -56,26 +68,22 @@ public class StockQRCodeTextController { @Resource StockOrderDetailService stockOrderDetailService; @Resource - StockOrderDetailTempService stockOrderDetailTempService; - @Resource StockQRCodeTextService stockQRCodeTextService; @Resource - UdiInfoService udiInfoService; - @Resource - private UdiRelevanceService udiRelevanceService; - @Resource private SystemPDFTemplateService systemPDFTemplateService; @Resource private SystemPDFModuleService systemPDFModuleService; @Resource - private BussinessTypeService bussinessTypeService; - @Resource InvStockPrintService stockPrintService; + @Resource + CompanyService companyService; + @Value("${file_path}") + private String dirPath; + @Resource + private StockPrintTempService stockPrintTempService; @Resource - private IoTransInoutService transInoutService; - @Autowired - private SystemParamConfigService systemParamConfigService; + private JaspaperService jaspaperService; @GetMapping("/udiwms/stock/qrcode/text/filter") public BaseResponse filterStockQRCodeText(StockQRCodeTextFilterRequest stockQRCodeTextFilterRequest, @@ -124,25 +132,198 @@ public class StockQRCodeTextController { } @PostMapping("/udiwms/pdf/template/stock/qrcode/text/file") - public void stockQRCodeTextPDFFromTemplateFile( + public BaseResponse stockQRCodeTextPDFFromTemplateFile( @RequestBody StockQRCodeTextPDFTemplateRequest stockQRCodeTextPDFTemplateRequest, HttpServletRequest request, HttpServletResponse response) throws Exception { + CompanyEntity companyEntity = companyService.findCompany(Long.parseLong(Constant.SYSTEM_CUSTOMER_ID)); + SystemPDFModuleEntity systemPDFModuleEntity = systemPDFModuleService.selectById(3 + ""); + if (systemPDFModuleEntity == null) return null; + SystemPDFTemplateEntity systemPDFTemplateEntity = + systemPDFTemplateService.selectById(String.valueOf(systemPDFModuleEntity.getTemplateId())); + if (systemPDFTemplateEntity == null) return null; + List printEntities = new ArrayList<>(); + List mStockPrintEntities = new ArrayList<>(); + FilterStockprintRequest filterStockprintRequest = new FilterStockprintRequest(); + if (stockQRCodeTextPDFTemplateRequest.getOrderId() != null) { + filterStockprintRequest.setSOrderId(stockQRCodeTextPDFTemplateRequest.getOrderId()); + } else { + filterStockprintRequest.setId(stockQRCodeTextPDFTemplateRequest.getQueryId()); + } + List stockPrintEntities = stockPrintService.filterJoinStockPrint(filterStockprintRequest); + if (stockPrintEntities != null && stockPrintEntities.size() > 0) { + mStockPrintEntities.addAll(stockPrintEntities); + } + for (StockPrintEntity stockPrintEntity : mStockPrintEntities) { + stockPrintEntity.setCorpName(companyEntity.getCompanyName()); + PdfPrintCountEntity pdfPrintCount = getCount(stockQRCodeTextPDFTemplateRequest.getCountList(), stockPrintEntity); + if (pdfPrintCount != null && pdfPrintCount.getRowCount() > 0) { + for (int i = 0; i < pdfPrintCount.getRowCount(); i++) { + StockPrintEntity clone = new StockPrintEntity(); + BeanUtils.copyProperties(stockPrintEntity, clone); + printEntities.add(clone); + } + } else { + printEntities.add(stockPrintEntity); + } + } + + if (printEntities.size() > 1000) { //如果标签打印数据大于1000,则切割生成多个文件 + List> splits = CustomUtil.splitList(printEntities, 100); + int index = 0; + List stockPrintTempEntities = new ArrayList<>(); + for (int i = 0; i < splits.size(); i++) { + index++; + StockPrintTempEntity stockPrintTempEntity = new StockPrintTempEntity(); + if (stockQRCodeTextPDFTemplateRequest.getOrderId() != null) { + String fileName = stockQRCodeTextPDFTemplateRequest.getOrderId() + "__" + index + "__标签打印" + ".pdf"; + String filePath = dirPath + "\\pdfprint\\" + fileName; + stockPrintTempEntity.setFileName(fileName); + stockPrintTempEntity.setFilePath(filePath); + stockPrintTempEntity.setStockOrderFk(stockQRCodeTextPDFTemplateRequest.getOrderId()); + } else { + String fileName = stockQRCodeTextPDFTemplateRequest.getQueryId() + "__" + index + "__标签打印" + ".pdf"; + String filePath = dirPath + "\\pdfprint\\" + fileName; + stockPrintTempEntity.setFileName(fileName); + stockPrintTempEntity.setFilePath(filePath); + stockPrintTempEntity.setPrintCodeIdFk(stockQRCodeTextPDFTemplateRequest.getQueryId()); + } + stockPrintTempEntity.setStatus(0); + stockPrintTempEntity.setGenKey(CustomUtil.getId()); + stockPrintTempService.insertStockPrintTempEntity(stockPrintTempEntity); + stockPrintTempEntities.add(stockPrintTempEntity); + } + jaspaperService.printPdfLocal(splits, stockPrintTempEntities, systemPDFTemplateEntity.getPath()); + PageInfo pageInfo; + pageInfo = new PageInfo<>(stockPrintTempEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(stockPrintTempEntities); + return ResultVOUtils.success(pageSimpleResponse); + + } else { + Map data = new HashMap(); + data.put("data", printEntities); + JasperUtils.jasperReport(request, response, data, systemPDFTemplateEntity.getPath(), "pdf"); + + + } + for (StockPrintEntity stockPrintEntity : mStockPrintEntities) { + stockPrintEntity.setPrintStatus("102"); + stockPrintService.updateStockPrint(stockPrintEntity); + } + return null; + + } + + @PostMapping("/udiwms/pdf/template/stock/qrcode/text/maxfile") + public BaseResponse stockQRCodeMaxTextPDFFromTemplateFile( + @RequestBody StockQRCodeTextPDFTemplateRequest stockQRCodeTextPDFTemplateRequest + ) throws Exception { SystemPDFModuleEntity systemPDFModuleEntity = systemPDFModuleService.selectById(3 + ""); - if (systemPDFModuleEntity == null) return; + if (systemPDFModuleEntity == null) return null; SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(String.valueOf(systemPDFModuleEntity.getTemplateId())); - if (systemPDFTemplateEntity == null) return; + if (systemPDFTemplateEntity == null) return null; + List printEntities = new ArrayList<>(); + List mStockPrintEntities = new ArrayList<>(); + FilterStockprintRequest filterStockprintRequest = new FilterStockprintRequest(); + DeleteStPrintTempRequest deleteStPrintTempRequest = new DeleteStPrintTempRequest(); + if (stockQRCodeTextPDFTemplateRequest.getOrderId() != null) { + filterStockprintRequest.setSOrderId(stockQRCodeTextPDFTemplateRequest.getOrderId()); + deleteStPrintTempRequest.setStockOrderFk(stockQRCodeTextPDFTemplateRequest.getOrderId() + ""); + + } else { + deleteStPrintTempRequest.setPrintCodeIdFk(stockQRCodeTextPDFTemplateRequest.getQueryId()); + filterStockprintRequest.setId(stockQRCodeTextPDFTemplateRequest.getQueryId()); + } + stockPrintTempService.deleteById(deleteStPrintTempRequest); + List stockPrintEntities = stockPrintService.filterJoinStockPrint(filterStockprintRequest); + if (stockPrintEntities != null && stockPrintEntities.size() > 0) { + mStockPrintEntities.addAll(stockPrintEntities); + } + for (StockPrintEntity stockPrintEntity : mStockPrintEntities) { + PdfPrintCountEntity pdfPrintCount = getCount(stockQRCodeTextPDFTemplateRequest.getCountList(), stockPrintEntity); + if (pdfPrintCount != null && pdfPrintCount.getRowCount() > 0) { + for (int i = 0; i < pdfPrintCount.getRowCount(); i++) { + StockPrintEntity clone = new StockPrintEntity(); + BeanUtils.copyProperties(stockPrintEntity, clone); + printEntities.add(clone); + } + } else { + printEntities.add(stockPrintEntity); + } + } + + List> splits = CustomUtil.splitList(printEntities, 100); + int index = 0; + List stockPrintTempEntities = new ArrayList<>(); + for (int i = 0; i < splits.size(); i++) { + index++; + StockPrintTempEntity stockPrintTempEntity = new StockPrintTempEntity(); + if (stockQRCodeTextPDFTemplateRequest.getOrderId() != null) { + String fileName = stockQRCodeTextPDFTemplateRequest.getOrderId() + "__" + index + "__标签打印" + ".pdf"; + String filePath = dirPath + "\\pdfprint\\" + fileName; + stockPrintTempEntity.setFileName(fileName); + stockPrintTempEntity.setFilePath(filePath); + stockPrintTempEntity.setStockOrderFk(stockQRCodeTextPDFTemplateRequest.getOrderId()); + } else { + String fileName = stockQRCodeTextPDFTemplateRequest.getQueryId() + "__" + index + "__标签打印" + ".pdf"; + String filePath = dirPath + "\\pdfprint\\" + fileName; + stockPrintTempEntity.setFileName(fileName); + stockPrintTempEntity.setFilePath(filePath); + stockPrintTempEntity.setPrintCodeIdFk(stockQRCodeTextPDFTemplateRequest.getQueryId()); + } + stockPrintTempEntity.setStatus(0); + stockPrintTempEntity.setGenKey(CustomUtil.getId()); + stockPrintTempService.insertStockPrintTempEntity(stockPrintTempEntity); + stockPrintTempEntities.add(stockPrintTempEntity); + } + jaspaperService.printPdfLocal(splits, stockPrintTempEntities, systemPDFTemplateEntity.getPath()); + + + for (StockPrintEntity stockPrintEntity : mStockPrintEntities) { + stockPrintEntity.setPrintStatus("102"); + stockPrintService.updateStockPrint(stockPrintEntity); + } + PageInfo pageInfo; + pageInfo = new PageInfo<>(stockPrintTempEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(stockPrintTempEntities); + return ResultVOUtils.success(pageSimpleResponse); + + } - StockPrintEntity stockPrintEntity = stockPrintService.selectById(stockQRCodeTextPDFTemplateRequest.getId()); - Map data = new HashMap(); - data.put("data", stockPrintEntity); - JasperUtils.jasperReport(request, response, data, systemPDFTemplateEntity.getPath(), "pdf"); - stockPrintEntity.setPrintStatus("102"); - stockPrintService.updateStockPrint(stockPrintEntity); + + @GetMapping("/spms/stock/qrcode/filterTemp") + public BaseResponse filterTemp(FilterStPrintTempRequest filterStPrintTempRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List stockQRCodeTextEntityList + = stockPrintTempService.filterStockPrintTempEntity(filterStPrintTempRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(stockQRCodeTextEntityList); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(stockQRCodeTextEntityList); + return ResultVOUtils.success(pageSimpleResponse); + } + + public PdfPrintCountEntity getCount(List countList, StockPrintEntity stockPrintEntity) { + for (PdfPrintCountEntity pdfPrintCount : countList) { + if (pdfPrintCount.getQueryId().equals(stockPrintEntity.getId() + "")) { + return pdfPrintCount; + } + } + return null; } + //-----------打印订单 @PostMapping("/udiwms/pdf/template/inspection/stock/order/file") public BaseResponse inspectionStockOrderPDFFromTemplateFile( @@ -202,7 +383,23 @@ public class StockQRCodeTextController { /*打印订单*/ List list = stockOrderService.listOrderPrint(stockQRCodeTextPDFTemplateRequest.getId()); if (list != null && list.size() > 0) { - + int index = 1; +// List stockOrderPrintResponses = new ArrayList<>(); + CompanyEntity companyEntity = companyService.findCompany(Long.parseLong(list.get(0).getCustomerId())); + for (StockOrderPrintEntity stockOrderPrintEntity : list) { + stockOrderPrintEntity.setIndex(index + ""); + stockOrderPrintEntity.setTitle(stockOrderPrintEntity.getCorpName()); +// StockOrderPrintResponse stockOrderPrintResponse = new StockOrderPrintResponse(); +// BeanUtils.copyProperties(stockOrderPrintEntity, stockOrderPrintResponse); +// stockOrderPrintResponse.setPrice(stockOrderPrintEntity.getPrice()); +// stockOrderPrintResponse.setTotalPrice(stockOrderPrintEntity.getTotalPrice()); + stockOrderPrintEntity.setAmount(BigDecimal.valueOf(85.36)); + stockOrderPrintEntity.setTotalPrice(BigDecimal.valueOf(1888.88)); + stockOrderPrintEntity.setTotalPriceWord("18888"); + stockOrderPrintEntity.setCorpName(companyEntity.getCompanyName()); + index++; +// stockOrderPrintResponses.add(stockOrderPrintResponse); + } SystemPDFModuleEntity systemPDFModuleEntity = systemPDFModuleService.selectById(2 + ""); if (systemPDFModuleEntity == null) return; SystemPDFTemplateEntity systemPDFTemplateEntity = diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/WareHouseController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/WareHouseController.java index 82676e1..1176b89 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/WareHouseController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/WareHouseController.java @@ -1,9 +1,11 @@ package com.glxp.sale.admin.controller.inout; +import cn.hutool.db.sql.Order; import com.github.pagehelper.PageInfo; import com.glxp.sale.admin.constant.ConstantStatus; import com.glxp.sale.admin.controller.inout.utils.ContrastErpUtil; import com.glxp.sale.admin.controller.inout.utils.InoutUtils; +import com.glxp.sale.admin.entity.auth.AuthAdmin; import com.glxp.sale.admin.entity.basic.BussinessTypeEntity; import com.glxp.sale.admin.entity.info.CompanyEntity; import com.glxp.sale.admin.entity.inout.ErpOrderEntity; @@ -13,9 +15,11 @@ import com.glxp.sale.admin.entity.inout.Warehousetemp; import com.glxp.sale.admin.entity.receipt.MipsBarcodeEntity; import com.glxp.sale.admin.entity.receipt.ProductOrderDetailEntity; import com.glxp.sale.admin.entity.udid.UdiEntity; +import com.glxp.sale.admin.exception.JsonException; import com.glxp.sale.admin.req.inout.*; import com.glxp.sale.admin.res.PageSimpleResponse; import com.glxp.sale.admin.res.inout.WarehouseResponse; +import com.glxp.sale.admin.service.auth.AuthAdminService; import com.glxp.sale.admin.service.basic.BussinessTypeService; import com.glxp.sale.admin.service.basic.UdiInfoService; import com.glxp.sale.admin.service.basic.UdiRelevanceService; @@ -39,8 +43,11 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import javax.validation.Valid; import java.util.ArrayList; import java.util.Date; @@ -65,6 +72,8 @@ public class WareHouseController { CompanyService companyService; @Resource private BussinessTypeService bussinessTypeService; + @Resource + AuthAdminService authAdminService; @GetMapping("admin/warehouse/inout/list") public BaseResponse list(WarehouseQueryRequest warehouseQueryRequest) { @@ -187,12 +196,40 @@ public class WareHouseController { } + @PostMapping("/warehouse/inout/addCommit")//补录提交 + public BaseResponse addCommitOrder(@RequestBody CommitRequest commitRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + + } + OrderEntity orderEntity = orderService.findById(commitRequest.getOrderId()); + orderEntity.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); + orderService.updateOrder(orderEntity); + return ResultVOUtils.success("提交成功"); + } + @GetMapping("warehouse/inout/submitOrderWeb") - public BaseResponse submitOrderWeb(@RequestParam("orderId") String orderId) { - orderService.updateOrderStatus(orderId, ConstantStatus.ORDER_STATUS_PROCESS); + public BaseResponse submitOrderWeb(AddOrderRequest orderEntity) { + orderService.updateOrderStatus(orderEntity.getOrderId(), ConstantStatus.ORDER_STATUS_PROCESS); + saveOrderWeb(orderEntity); return ResultVOUtils.success(); } + + @PostMapping("warehouse/inout/saveOrderWeb") + public BaseResponse saveOrderWeb(@RequestBody AddOrderRequest addOrderRequest) { + OrderEntity orderEntity1 = new OrderEntity(); + orderEntity1.setId(addOrderRequest.getOrderId()); + BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(addOrderRequest.getAction()); + orderEntity1.setAction(addOrderRequest.getAction()); + orderEntity1.setMainAction(bussinessTypeEntity.getMainAction()); + orderService.updateOrder(orderEntity1); + return ResultVOUtils.success(); + } + + @GetMapping("warehouse/inout/deleteCodesTempById") public BaseResponse deleteCodesTempById(@RequestParam("id") Long id) { WarehouseEntity warehouseEntity = new WarehouseEntity(); @@ -215,7 +252,9 @@ public class WareHouseController { if (udiEntity == null) return ResultVOUtils.error(500, "UDI码格式错误!"); String orderId = addOrderRequest.getOrderId(); - + CompanyEntity companyEntity = companyService.findCompany(Long.parseLong(addOrderRequest.getCustomerId())); + addOrderRequest.setFromCorp(companyEntity.getCompanyName()); + addOrderRequest.setFromCorpId((companyEntity.getUnitIdFk())); BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(addOrderRequest.getBillType()); if (StringUtils.isBlank(orderId)) { orderId = System.currentTimeMillis() + new Random().nextInt(10) + ""; @@ -225,21 +264,22 @@ public class WareHouseController { orderSaveRequest.setActDate(addOrderRequest.getActDate()); } - CompanyEntity companyEntity = companyService.findCompany(Long.parseLong(addOrderRequest.getCustomerId())); orderSaveRequest.setFromCorpId(companyEntity.getUnitIdFk()); orderSaveRequest.setFromCorp(companyEntity.getCompanyName()); + orderSaveRequest.setMainAction(bussinessTypeEntity.getMainAction()); orderSaveRequest.setAction(bussinessTypeEntity.getAction()); orderSaveRequest.setActor(addOrderRequest.getActor()); orderSaveRequest.setCorpOrderId(addOrderRequest.getCorpOrderId()); // orderSaveRequest.setFromCorpId(addOrderRequest.getFromCorpId()); // orderSaveRequest.setFromCorp(addOrderRequest.getFromCorp()); - orderSaveRequest.setFromType(addOrderRequest.getFromType()); + orderSaveRequest.setFromType(ConstantStatus.FROM_WEBNEW); orderSaveRequest.setStatus(ConstantStatus.ORDER_STATUS_TEMP_SAVE); orderSaveRequest.setExportStatus(ConstantStatus.ORDER_EXPORT_UN); orderSaveRequest.setContrastStatus(ConstantStatus.ORDER_CHECK_UN); orderSaveRequest.setSignStatus(ConstantStatus.ORDER_SIGN_UN); + orderSaveRequest.setReceiveStatus(ConstantStatus.RECEIVE_UN); orderSaveRequest.setCustomerId(addOrderRequest.getCustomerId()); orderService.insertOrder(orderSaveRequest); } @@ -292,6 +332,8 @@ public class WareHouseController { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } try { + String customerId = getCustomerId(); + postOrderRequest.setCustomerId(customerId); ioTransInoutService.creatOrderWeb(postOrderRequest); } catch (Exception e) { return ResultVOUtils.error(ResultEnum.NOT_NETWORK); @@ -308,6 +350,8 @@ public class WareHouseController { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } try { + String customerId = getCustomerId(); + postOrderRequest.setCustomerId(customerId); ioTransInoutService.creatOrder(postOrderRequest); } catch (Exception e) { return ResultVOUtils.error(ResultEnum.NOT_NETWORK); @@ -350,4 +394,14 @@ public class WareHouseController { return ResultVOUtils.success("添加成功"); } + public String getCustomerId() { + ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); + if (attributes == null) { + throw new JsonException(ResultEnum.NOT_NETWORK); + } + HttpServletRequest request = attributes.getRequest(); + String userId = request.getHeader("ADMIN_ID"); + AuthAdmin authAdmin = authAdminService.findById(Long.parseLong(userId)); + return authAdmin.getCustomerId() + ""; + } } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/inventory/InvPrintController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/inventory/InvPrintController.java index acab847..770a9f0 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/inventory/InvPrintController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/inventory/InvPrintController.java @@ -99,6 +99,9 @@ public class InvPrintController { if (stockPrintEntities != null && stockPrintEntities.size() > 0) { for (StockPrintEntity stockPrintEntity : stockPrintEntities) { stockPrintEntity.setGenKeyFk(genKey); + + //#DI#生产日期#失效日期#批次号#序列号#仓位号#货位号# + String udiCode = "#" + stockPrintEntity.getNameCode() + "#" + stockPrintEntity.getProduceDate() + "#" + stockPrintEntity.getExpireDate() + "#" + stockPrintEntity.getBatchNo() + "#" + stockPrintEntity.getSerialNo() + "#" + stockPrintEntity.getWarehouseCode() + "#" + stockPrintEntity.getSpaceCode(); stockPrintEntity.setUdiCode(udiCode); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/utils/CheckOrderUtils.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/utils/CheckOrderUtils.java index 071a514..decce07 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/utils/CheckOrderUtils.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/utils/CheckOrderUtils.java @@ -1,5 +1,6 @@ package com.glxp.sale.admin.controller.inout.utils; +import com.glxp.sale.admin.constant.Constant; import com.glxp.sale.admin.constant.ConstantStatus; import com.glxp.sale.admin.entity.inout.*; import com.glxp.sale.admin.req.basic.FilterUdiInfoRequest; @@ -11,6 +12,8 @@ import com.glxp.sale.admin.service.inout.OrderService; import com.glxp.sale.admin.service.inout.StockOrderService; import com.glxp.sale.admin.service.thrsys.ThrDataService; import com.glxp.sale.admin.thread.InvProductsTrService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -19,7 +22,7 @@ import java.util.List; @Service public class CheckOrderUtils { @Resource - private OrderDetailService myErpOrderService; + private OrderDetailService orderDetailService; @Resource UdiRelevanceService udiRelevanceService; @Resource @@ -32,7 +35,7 @@ public class CheckOrderUtils { public void check(String orderId, List vailOrderEntities) { FilterErpOrderRequest filterErpOrderRequest = new FilterErpOrderRequest(); filterErpOrderRequest.setOrderId(orderId); - List myErpOrders = myErpOrderService.filterAllMyErpOrder(filterErpOrderRequest); + List myErpOrders = orderDetailService.filterAllMyErpOrder(filterErpOrderRequest); OrderEntity orderEntity = orderService.findById(orderId); String errMsg = null; @@ -41,6 +44,8 @@ public class CheckOrderUtils { filterUdiInfoRequest.setNameCode(myErpOrder.getNameCode()); List udiRelevanceEntities = udiRelevanceService.filterUdiRelevance(filterUdiInfoRequest); if (udiRelevanceEntities != null && udiRelevanceEntities.size() > 1 && myErpOrder.getBindRlFk() == null) { + myErpOrder.setBindStatus(ConstantStatus.ORDER_DETAIL_DI_MUTI); + orderDetailService.updateErpOrder(myErpOrder); orderEntity.setRemark("该产品DI绑定多个产品ID,请在扫码单据详情绑定对应产品ID"); orderEntity.setStatus(ConstantStatus.ORDER_STATUS_SUCCESS); orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_FAIL); @@ -66,13 +71,14 @@ public class CheckOrderUtils { && checkCount(vailOrderEntity, myErpOrder) == null ) { + myErpOrder.setErpOrderId(vailOrderEntity.getErpOrderId()); myErpOrder.setErpCount(vailOrderEntity.getErpCount()); myErpOrder.setReCount(vailOrderEntity.getReCount()); myErpOrder.setGoodsname(vailOrderEntity.getGoodsname()); myErpOrder.setGoodsid(vailOrderEntity.getGoodsid()); myErpOrder.setStatus("success"); vailOrderEntity.setStatus("success"); - myErpOrderService.updateErpOrder(myErpOrder); + orderDetailService.updateErpOrder(myErpOrder); break; } else { @@ -94,7 +100,7 @@ public class CheckOrderUtils { myErpOrder.setGoodsid(vailOrderEntity.getGoodsid()); myErpOrder.setStatus("fail"); vailOrderEntity.setStatus("fail"); - myErpOrderService.updateErpOrder(myErpOrder); + orderDetailService.updateErpOrder(myErpOrder); break; } } @@ -125,13 +131,17 @@ public class CheckOrderUtils { stockOrderFilterRequest.setBillNo(id); StockOrderEntity stockOrderEntity = stockOrderService.findOne(stockOrderFilterRequest); stockOrderEntity.setStatus(ConstantStatus.SORDER_CHECKED); + stockOrderEntity.setOrderIdFk(orderId); stockOrderService.updateById(stockOrderEntity); } } - //生产库存 -// invProductsTrService.genInvProducts(orderEntity.getId()); + //生成库存 + if (orderEntity.getCustomerId().equals(Constant.SYSTEM_CUSTOMER_ID)) { + invProductsTrService.genInvProducts(orderEntity.getId()); + } + } else { for (ErpOrderEntity erpOrderEntity : vailOrderEntities) { @@ -139,7 +149,8 @@ public class CheckOrderUtils { erpOrderEntity.setOrderIdFk(orderId); erpOrderEntity.setCoName(erpOrderEntity.getGoodsname()); erpOrderEntity.setPackSpec(erpOrderEntity.getGoodsunit()); - myErpOrderService.insertErpOrder(erpOrderEntity); + erpOrderEntity.setErpOrderId(erpOrderEntity.getErpOrderId()); + orderDetailService.insertErpOrder(erpOrderEntity); } } orderEntity.setRemark(errMsg); @@ -179,7 +190,10 @@ public class CheckOrderUtils { public String checkId(ErpOrderEntity vailOrderEntity, UdiRelevanceResponse udiRelevanceResponse) { if (vailOrderEntity.getGoodsid() != null && udiRelevanceResponse != null) { - if (vailOrderEntity.getGoodsid().equals(udiRelevanceResponse.getId() + "")) + if (vailOrderEntity.getBindRlFk() != null) { + if (vailOrderEntity.getBindRlFk().equals(udiRelevanceResponse.getId() + "")) + return null; + } else if (vailOrderEntity.getGoodsid().equals(udiRelevanceResponse.getId() + "")) return null; } else { return "产品ID不匹配!"; @@ -240,11 +254,14 @@ public class CheckOrderUtils { public String checkCount(ErpOrderEntity vailOrderEntity, ErpOrderEntity myErpOrder) { if (vailOrderEntity.getReCount() != null && myErpOrder.getCount() != null) { - if (vailOrderEntity.getReCount() == myErpOrder.getCount()) + logger.info(vailOrderEntity.getReCount() +"------------"+myErpOrder.getCount() ); + if (vailOrderEntity.getReCount().intValue() == myErpOrder.getCount().intValue()) { return null; + } + } return myErpOrder.getCoName() + "数量不匹配!"; } - + final Logger logger = LoggerFactory.getLogger(ThrDataService.class); } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/utils/ContrastErpUtil.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/utils/ContrastErpUtil.java index 2351843..3f54a37 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/utils/ContrastErpUtil.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/utils/ContrastErpUtil.java @@ -1,5 +1,6 @@ package com.glxp.sale.admin.controller.inout.utils; +import com.glxp.sale.admin.constant.Constant; import com.glxp.sale.admin.constant.ConstantStatus; import com.glxp.sale.admin.entity.basic.BasicInstrumentMaintainRelevanceEntity; import com.glxp.sale.admin.entity.basic.BussinessTypeEntity; @@ -78,8 +79,8 @@ public class ContrastErpUtil { OrderEntity orderEntity = orderService.findOne(orderFilterRequest); //校验单据详情是否有包含一个di多个绑定 - String erpMsg = vailMutiDi(); - if (erpMsg != null) { + errMsg = vailMutiDi(); + if (errMsg != null) { orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_FAIL); orderEntity.setRemark(errMsg); orderService.updateOrder(orderEntity); @@ -123,9 +124,8 @@ public class ContrastErpUtil { // } // // } - - - UdiInfoEntity udiInfoEntity = new InoutUtils(udiUrl).getUdiInfo(udiInfoService, udiRelevanceService, warehouseEntity.getCode()); + UdiInfoEntity udiInfoEntity = null; + udiInfoEntity = new InoutUtils(udiUrl).getUdiInfoByRlId(udiInfoService,udiRelevanceService, warehouseEntity.getCode()); if (warehouseEntity.getCount() > 1) { udiInfoEntity.setCount(warehouseEntity.getCount()); } @@ -169,7 +169,10 @@ public class ContrastErpUtil { orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_SUCCESS); orderService.updateOrder(orderEntity); ioTransInoutService.printOrder(orderEntity.getId()); - InvProductsTrService.genInvProducts(orderEntity.getId()); + if (orderEntity.getCustomerId().equals(Constant.SYSTEM_CUSTOMER_ID)) { + InvProductsTrService.genInvProducts(orderEntity.getId()); + } + } if (errorData.size() > 0) { @@ -183,7 +186,7 @@ public class ContrastErpUtil { if (mErpOrderEntities.size() > 0) { for (ErpOrderEntity erpOrderEntity : mErpOrderEntities) { - errMsg = vailCode(erpOrderEntity, warehouseEntity,null); + errMsg = vailCode(erpOrderEntity, warehouseEntity, null); if (errMsg == null) { int erpCount = erpOrderEntity.getCount() + warehouseEntity.getCount(); if (erpOrderEntity.getErpCount() != erpCount) { diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/utils/InoutUtils.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/utils/InoutUtils.java index ed64fdf..1de3da9 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/utils/InoutUtils.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/utils/InoutUtils.java @@ -70,6 +70,9 @@ public class InoutUtils { if (warehouseData.getMainAction().equals(ConstantType.TYPE_PUT)) { return null; } + + //如果是预入库出库 + } else if (inList.size() - outList.size() == 1) { if (warehouseData.getMainAction().equals(ConstantType.TYPE_OUT)) { return null; @@ -163,6 +166,8 @@ public class InoutUtils { udiRelevanceEntity.setThirdId(udiInfoEntity.getThirdId()); udiRelevanceEntity.setThirdName(udiInfoEntity.getThirdName()); udiRelevanceService.insertUdiRelevance(udiRelevanceEntity); + List udiRelevanceEntities = udiRelevanceService.selectByUuid(udiInfoEntity.getUuid()); + udiInfoEntity.setRelId(udiRelevanceEntities.get(0).getId()); } else { udiInfoEntity = new UdiInfoEntity(); } @@ -178,11 +183,24 @@ public class InoutUtils { String prefix; prefix = FilterUdiUtils.getDiStr(code); UdiInfoEntity udiInfoEntity = new UdiInfoEntity(); - UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectGroupById(prefix); - BeanUtils.copyProperties(udiRelevanceResponse, udiInfoEntity); + + UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectByNameCode(prefix); + if (udiRelevanceResponse == null) { + udiRelevanceResponse = udiRelevanceService.selectByMainId(prefix); + } + if (udiRelevanceResponse == null) { + udiInfoEntity = getUdiInfo(udiInfoService, udiRelevanceService, code); + } else { + BeanUtils.copyProperties(udiRelevanceResponse, udiInfoEntity); + udiInfoEntity.setRelId(udiRelevanceResponse.getId() + ""); + udiInfoEntity.setCode(code); + udiInfoEntity = FilterUdiUtils.transUdi(udiInfoEntity); + udiInfoEntity.setNameCode(udiRelevanceResponse.getNameCode()); + } + udiInfoEntity.setCode(code); - udiInfoEntity = FilterUdiUtils.transUdi(udiInfoEntity); - udiInfoEntity.setNameCode(udiRelevanceResponse.getNameCode()); + + return udiInfoEntity; } @@ -193,17 +211,12 @@ public class InoutUtils { List udiInfoEntities = new ArrayList<>(); for (WarehouseEntity warehouseEntity : warehouseEntityList) { UdiInfoEntity udiInfoEntity = null; - if (warehouseEntity.getCode().substring(0, 1).equals("#")) { - udiInfoEntity = getUdiInfoByRlId(udiInfoService, udiRelevanceService, warehouseEntity.getCode()); - } else - udiInfoEntity = getUdiInfo(udiInfoService, udiRelevanceService, warehouseEntity.getCode()); + udiInfoEntity = new InoutUtils(udiUrl).getUdiInfoByRlId(udiInfoService, udiRelevanceService, warehouseEntity.getCode()); if (udiInfoEntity != null) { -// if (warehouseEntity.getCount() != null) -// udiInfoEntity.setCount(warehouseEntity.getCount()); -// else { -// -// } - udiInfoEntity.setCount(getActCount(warehouseEntity, udiRelevanceService)*warehouseEntity.getCount()); + udiInfoEntity.setCount(getActCount(warehouseEntity, udiRelevanceService) * warehouseEntity.getCount()); + udiInfoEntity.setRelId(warehouseEntity.getRelId()); + udiInfoEntity.setSupId(warehouseEntity.getSupId()); + udiInfoEntity.setStatus(warehouseEntity.getStatus()); udiInfoEntities.add(udiInfoEntity); } } @@ -233,12 +246,14 @@ public class InoutUtils { erpOrderEntity.setBatchNo(erpDetailCodeEntity.getBatchNo()); erpOrderEntity.setProductDate(erpDetailCodeEntity.getProduceDate()); erpOrderEntity.setExpireDate(erpDetailCodeEntity.getExpireDate()); + erpOrderEntity.setGoodsid(erpDetailCodeEntity.getRelId()); erpOrderEntity.setCount(erpDetailCodeEntity.getCount()); erpOrderEntity.setOrderIdFk(warehouseEntityList.get(0).getOrderId()); erpOrderEntity.setProductCompany(erpDetailCodeEntity.getYlqxzcrbarmc()); erpOrderEntity.setAuthCode(erpDetailCodeEntity.getZczbhhzbapzbh()); erpOrderEntity.setPackSpec(erpDetailCodeEntity.getGgxh()); erpOrderEntity.setUuidFk(erpDetailCodeEntity.getUuid()); + erpOrderEntity.setSupId(erpDetailCodeEntity.getSupId()); erpOrderEntities.add(erpOrderEntity); } if (!erpOrderEntities.isEmpty()) diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/inventory/InvPreProductsController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/inventory/InvPreProductsController.java new file mode 100644 index 0000000..571d29d --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/inventory/InvPreProductsController.java @@ -0,0 +1,141 @@ +package com.glxp.sale.admin.controller.inventory; + +import com.github.pagehelper.PageInfo; +import com.glxp.sale.admin.constant.ConstantStatus; +import com.glxp.sale.admin.constant.ConstantType; +import com.glxp.sale.admin.entity.inventory.InvProductDetailEntity; +import com.glxp.sale.admin.entity.inventory.InvProductEntity; +import com.glxp.sale.admin.req.inout.DeleteRequest; +import com.glxp.sale.admin.req.inventory.FilterInvProductDetailRequest; +import com.glxp.sale.admin.req.inventory.FilterInvProductRequest; +import com.glxp.sale.admin.res.PageSimpleResponse; +import com.glxp.sale.admin.res.inventory.InvProductDetailResponse; +import com.glxp.sale.admin.res.inventory.InvProductPageRespnonse; +import com.glxp.sale.admin.res.inventory.InvProductResponse; +import com.glxp.sale.admin.res.inventory.InvProductStatResponse; +import com.glxp.sale.admin.service.inventory.InvPreProductDetailService; +import com.glxp.sale.admin.service.inventory.InvPreProductService; +import com.glxp.sale.admin.service.inventory.InvProductDetailService; +import com.glxp.sale.admin.service.inventory.InvProductService; +import com.glxp.sale.common.enums.ResultEnum; +import com.glxp.sale.common.res.BaseResponse; +import com.glxp.sale.common.util.ResultVOUtils; +import org.springframework.beans.BeanUtils; +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 java.util.ArrayList; +import java.util.List; + +import static com.glxp.sale.admin.constant.Constant.SYSTEM_CUSTOMER_ID; + +@RestController +public class InvPreProductsController { + @Resource + InvPreProductService invProductService; + @Resource + InvPreProductDetailService invProductDetailService; + + @GetMapping("spms/pre/inv/products/filter") + public BaseResponse filterInvProduct(FilterInvProductRequest filterInvProductRequest) { + boolean showSup = false; + if (SYSTEM_CUSTOMER_ID.equals(filterInvProductRequest.getCustomerId())) { + filterInvProductRequest.setCustomerId(null); + showSup = true; + } + List invProductResponses = invProductService.filterJoinInvProduct(filterInvProductRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(invProductResponses); + InvProductPageRespnonse pageSimpleResponse = new InvProductPageRespnonse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(invProductResponses); + pageSimpleResponse.setShowSup(showSup); + return ResultVOUtils.success(pageSimpleResponse); + } + + + @GetMapping("spms/pre/inv/products/filterDetail") + public BaseResponse filterInvProductDetail(FilterInvProductDetailRequest filterInvProductRequest) { + if (SYSTEM_CUSTOMER_ID.equals(filterInvProductRequest.getCustomerId())) { + filterInvProductRequest.setCustomerId(null); +// filterInvProductRequest.setSupId(); + } + List invProductDetailEntities = invProductDetailService.filterInvProduct(filterInvProductRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(invProductDetailEntities); + List invProductDetailResponses = new ArrayList<>(); + if (invProductDetailEntities.size() > 0) { + for (InvProductDetailEntity invProductDetailEntity : invProductDetailEntities) { + InvProductDetailResponse invProductDetailResponse = new InvProductDetailResponse(); + BeanUtils.copyProperties(invProductDetailEntity, invProductDetailResponse); + if (invProductDetailEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { + invProductDetailResponse.setMainActionStr("出库"); + invProductDetailResponse.setOutCount(invProductDetailEntity.getCount()); + } else { + invProductDetailResponse.setMainActionStr("入库"); + invProductDetailResponse.setInCount(invProductDetailEntity.getCount()); + } + invProductDetailResponses.add(invProductDetailResponse); + } + } + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(invProductDetailResponses); + return ResultVOUtils.success(pageSimpleResponse); + } + + + @PostMapping("spms/pre/inv/products/delete") + public BaseResponse deleteInvProduct(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + String id = deleteRequest.getId(); + InvProductEntity invProductEntity = invProductService.selectById(id); + if (invProductEntity != null) { + invProductService.deleteById(id); + FilterInvProductDetailRequest detailRequest = new FilterInvProductDetailRequest(); + detailRequest.setSupId(invProductEntity.getSupId()); + detailRequest.setBatchNo(invProductEntity.getBatchNo()); + detailRequest.setProductIdFk(invProductEntity.getRelIdFk()); + invProductDetailService.deleteByProductId(detailRequest); + return ResultVOUtils.success("删除成功"); + } else { + return ResultVOUtils.error(500, "删除失败!"); + } + } + + + @GetMapping("spms/pre/inv/products/stat") + public BaseResponse statInvProduct(FilterInvProductDetailRequest filterInvProductDetailRequest) { + + InvProductStatResponse invProductStatResponse = new InvProductStatResponse(); + //统计预入库数量 + FilterInvProductDetailRequest temp1 = new FilterInvProductDetailRequest(); + BeanUtils.copyProperties(filterInvProductDetailRequest, temp1); + temp1.setPurchaseType(ConstantStatus.PRUCHASE_ADVANCE); + invProductStatResponse.setAdvanceCount(invProductDetailService.statCount(temp1)); + //统计普通采购数量 + FilterInvProductDetailRequest temp2 = new FilterInvProductDetailRequest(); + BeanUtils.copyProperties(filterInvProductDetailRequest, temp2); + temp2.setPurchaseType(ConstantStatus.PRUCHASE_COMMON); + invProductStatResponse.setCommonCount(invProductDetailService.statCount(temp2)); + //统计入库数量 + FilterInvProductDetailRequest temp3 = new FilterInvProductDetailRequest(); + BeanUtils.copyProperties(filterInvProductDetailRequest, temp3); + temp3.setMainAction(ConstantType.TYPE_PUT); + invProductStatResponse.setInCount(invProductDetailService.statCount(temp3)); + //统计出库数量 + FilterInvProductDetailRequest temp4 = new FilterInvProductDetailRequest(); + BeanUtils.copyProperties(filterInvProductDetailRequest, temp4); + temp4.setMainAction(ConstantType.TYPE_OUT); + invProductStatResponse.setOutCount(invProductDetailService.statCount(temp4)); + return ResultVOUtils.success(invProductStatResponse); + } + +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/inventory/InvProductsController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/inventory/InvProductsController.java index d69aef1..d4f6d48 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/inventory/InvProductsController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/inventory/InvProductsController.java @@ -1,20 +1,35 @@ package com.glxp.sale.admin.controller.inventory; import com.github.pagehelper.PageInfo; +import com.glxp.sale.admin.constant.Constant; +import com.glxp.sale.admin.constant.ConstantStatus; +import com.glxp.sale.admin.constant.ConstantType; +import com.glxp.sale.admin.entity.basic.UdiInfoEntity; import com.glxp.sale.admin.entity.inout.OrderEntity; import com.glxp.sale.admin.entity.inventory.InvProductDetailEntity; import com.glxp.sale.admin.entity.inventory.InvProductEntity; -import com.glxp.sale.admin.req.inout.DeleteRequest; +import com.glxp.sale.admin.entity.udid.UdiEntity; +import com.glxp.sale.admin.req.info.DeleteRequest; import com.glxp.sale.admin.req.inout.OrderQueryRequest; +import com.glxp.sale.admin.req.inventory.FilterCodeTraceRequest; import com.glxp.sale.admin.req.inventory.FilterInvProductDetailRequest; import com.glxp.sale.admin.req.inventory.FilterInvProductRequest; import com.glxp.sale.admin.res.PageSimpleResponse; +import com.glxp.sale.admin.res.basic.UdiRelevanceResponse; +import com.glxp.sale.admin.res.inventory.InvProductDetailResponse; +import com.glxp.sale.admin.res.inventory.InvProductPageRespnonse; import com.glxp.sale.admin.res.inventory.InvProductResponse; +import com.glxp.sale.admin.res.inventory.InvProductStatResponse; +import com.glxp.sale.admin.service.basic.UdiInfoService; +import com.glxp.sale.admin.service.basic.UdiRelevanceService; +import com.glxp.sale.admin.service.inout.OrderService; import com.glxp.sale.admin.service.inventory.InvProductDetailService; import com.glxp.sale.admin.service.inventory.InvProductService; +import com.glxp.sale.admin.util.FilterUdiUtils; import com.glxp.sale.common.enums.ResultEnum; import com.glxp.sale.common.res.BaseResponse; import com.glxp.sale.common.util.ResultVOUtils; +import org.springframework.beans.BeanUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -22,7 +37,10 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; import static com.glxp.sale.admin.constant.Constant.SYSTEM_CUSTOMER_ID; @@ -33,30 +51,61 @@ public class InvProductsController { InvProductService invProductService; @Resource InvProductDetailService invProductDetailService; + @Resource + OrderService orderService; + @Resource + private UdiRelevanceService udiRelevanceService; + @Resource + private UdiInfoService udiInfoService; @GetMapping("spms/inv/products/filter") public BaseResponse filterInvProduct(FilterInvProductRequest filterInvProductRequest) { + boolean showSup = false; if (SYSTEM_CUSTOMER_ID.equals(filterInvProductRequest.getCustomerId())) { filterInvProductRequest.setCustomerId(null); + showSup = true; } List invProductResponses = invProductService.filterJoinInvProduct(filterInvProductRequest); PageInfo pageInfo; pageInfo = new PageInfo<>(invProductResponses); - PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + InvProductPageRespnonse pageSimpleResponse = new InvProductPageRespnonse<>(); pageSimpleResponse.setTotal(pageInfo.getTotal()); pageSimpleResponse.setList(invProductResponses); + pageSimpleResponse.setShowSup(showSup); return ResultVOUtils.success(pageSimpleResponse); } @GetMapping("spms/inv/products/filterDetail") public BaseResponse filterInvProductDetail(FilterInvProductDetailRequest filterInvProductRequest) { + if (SYSTEM_CUSTOMER_ID.equals(filterInvProductRequest.getCustomerId())) { + filterInvProductRequest.setCustomerId(null); + } List invProductDetailEntities = invProductDetailService.filterInvProduct(filterInvProductRequest); PageInfo pageInfo; pageInfo = new PageInfo<>(invProductDetailEntities); - PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + + List invProductDetailResponses = new ArrayList<>(); + + if (invProductDetailEntities.size() > 0) { + for (InvProductDetailEntity invProductDetailEntity : invProductDetailEntities) { + InvProductDetailResponse invProductDetailResponse = new InvProductDetailResponse(); + BeanUtils.copyProperties(invProductDetailEntity, invProductDetailResponse); + if (invProductDetailEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { + invProductDetailResponse.setMainActionStr("出库"); + invProductDetailResponse.setOutCount(invProductDetailEntity.getCount()); + } else { + invProductDetailResponse.setMainActionStr("入库"); + invProductDetailResponse.setInCount(invProductDetailEntity.getCount()); + } + invProductDetailResponses.add(invProductDetailResponse); + } + } + + + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); pageSimpleResponse.setTotal(pageInfo.getTotal()); - pageSimpleResponse.setList(invProductDetailEntities); + pageSimpleResponse.setList(invProductDetailResponses); return ResultVOUtils.success(pageSimpleResponse); } @@ -71,12 +120,140 @@ public class InvProductsController { InvProductEntity invProductEntity = invProductService.selectById(id); if (invProductEntity != null) { invProductService.deleteById(id); - invProductDetailService.deleteByProductId(invProductEntity.getId() + ""); + FilterInvProductDetailRequest detailRequest = new FilterInvProductDetailRequest(); + detailRequest.setSupId(invProductEntity.getSupId()); + detailRequest.setBatchNo(invProductEntity.getBatchNo()); + detailRequest.setProductIdFk(invProductEntity.getRelIdFk()); + invProductDetailService.deleteByProductId(detailRequest); return ResultVOUtils.success("删除成功"); } else { return ResultVOUtils.error(500, "删除失败!"); } + } + + + @GetMapping("spms/inv/products/stat") + public BaseResponse statInvProduct(FilterInvProductDetailRequest filterInvProductDetailRequest) { + + if (filterInvProductDetailRequest.getCustomerId() != null && filterInvProductDetailRequest.getCustomerId().equals(SYSTEM_CUSTOMER_ID)) { + filterInvProductDetailRequest.setCustomerId(null); + } + + InvProductStatResponse invProductStatResponse = new InvProductStatResponse(); + //统计预入库数量 + FilterInvProductDetailRequest temp1 = new FilterInvProductDetailRequest(); + BeanUtils.copyProperties(filterInvProductDetailRequest, temp1); + temp1.setPurchaseType(ConstantStatus.PRUCHASE_ADVANCE); + invProductStatResponse.setAdvanceCount(invProductDetailService.statCount(temp1)); + //统计普通采购数量 + FilterInvProductDetailRequest temp2 = new FilterInvProductDetailRequest(); + BeanUtils.copyProperties(filterInvProductDetailRequest, temp2); + temp2.setPurchaseType(ConstantStatus.PRUCHASE_COMMON); + invProductStatResponse.setCommonCount(invProductDetailService.statCount(temp2)); + //统计入库数量 + FilterInvProductDetailRequest temp3 = new FilterInvProductDetailRequest(); + BeanUtils.copyProperties(filterInvProductDetailRequest, temp3); + temp3.setMainAction(ConstantType.TYPE_PUT); + invProductStatResponse.setInCount(invProductDetailService.statCount(temp3)); + //统计出库数量 + FilterInvProductDetailRequest temp4 = new FilterInvProductDetailRequest(); + BeanUtils.copyProperties(filterInvProductDetailRequest, temp4); + temp4.setMainAction(ConstantType.TYPE_OUT); + invProductStatResponse.setOutCount(invProductDetailService.statCount(temp4)); + return ResultVOUtils.success(invProductStatResponse); + } + + @GetMapping("spms/inv/products/trace") + public BaseResponse filterTrace(FilterCodeTraceRequest filterCodeTraceRequest) { + if (filterCodeTraceRequest.getCode() == null) { + return ResultVOUtils.success(); + } + FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); + filterInvProductDetailRequest.setCode(filterCodeTraceRequest.getCode()); + filterInvProductDetailRequest.setSupId(filterCodeTraceRequest.getSupId()); + List invProductDetailEntities = invProductDetailService.filterInvProduct(filterInvProductDetailRequest); + if (invProductDetailEntities.size() > 0) { + InvProductDetailEntity invProductDetailEntity = new InvProductDetailEntity(); + FilterInvProductDetailRequest filterRequest = new FilterInvProductDetailRequest(); + filterRequest.setBatchNo(invProductDetailEntity.getBatchNo()); + filterRequest.setProductIdFk(invProductDetailEntity.getProductIdFk()); + filterRequest.setSupId(filterCodeTraceRequest.getSupId()); + List resultLists = invProductDetailService.filterInvProduct(filterInvProductDetailRequest); + + List invProductDetailResponses = new ArrayList<>(); + + if (invProductDetailEntities.size() > 0) { + for (InvProductDetailEntity temp : resultLists) { + InvProductDetailResponse invProductDetailResponse = new InvProductDetailResponse(); + BeanUtils.copyProperties(temp, invProductDetailResponse); + if (temp.getMainAction().equals(ConstantType.TYPE_OUT)) { + invProductDetailResponse.setMainActionStr("出库"); + invProductDetailResponse.setOutCount(temp.getCount()); + } else { + invProductDetailResponse.setMainActionStr("入库"); + invProductDetailResponse.setInCount(temp.getCount()); + } + invProductDetailResponses.add(invProductDetailResponse); + } + } + + + PageInfo pageInfo; + pageInfo = new PageInfo<>(invProductDetailResponses); + InvProductPageRespnonse pageSimpleResponse = new InvProductPageRespnonse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(invProductDetailResponses); + return ResultVOUtils.success(pageSimpleResponse); + } else { + return ResultVOUtils.error(500, "未查询到数据!"); + } + + + } + + @GetMapping("spms/inv/products/order/trace") + public BaseResponse filterOrderTrace(FilterCodeTraceRequest filterCodeTraceRequest) { + if (filterCodeTraceRequest.getCode() == null) { + return ResultVOUtils.success(); + } + UdiEntity udiEntity = FilterUdiUtils.getUdi(filterCodeTraceRequest.getCode()); + UdiRelevanceResponse udiInfoBean = udiRelevanceService.selectByNameCode(udiEntity.getUdi()); + List udiInfoEntities = udiInfoService.findByUuids(udiInfoBean.getUuid()); + String code = null; + if (udiInfoEntities != null && udiInfoEntities.size() > 1) { + code = FilterUdiUtils.transGlxpNoSerStr(udiEntity); + } else { + code = filterCodeTraceRequest.getCode(); + } + + + FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); + filterInvProductDetailRequest.setCode(code); + filterInvProductDetailRequest.setSupId(filterCodeTraceRequest.getSupId()); + List invProductDetailEntities = invProductDetailService.filterInvProduct(filterInvProductDetailRequest); + if (invProductDetailEntities.size() > 0) { + Map filterMap = new HashMap<>(); + + for (InvProductDetailEntity invProductDetailEntity : invProductDetailEntities) { + filterMap.put(invProductDetailEntity.getOrderIdFk(), invProductDetailEntity.getOrderIdFk()); + } + List orderIds = new ArrayList<>(); + for (String key : filterMap.keySet()) { + orderIds.add(key); + } + List orderEntities = orderService.filterListByOrder(orderIds); + PageInfo pageInfo; + pageInfo = new PageInfo<>(orderEntities); + InvProductPageRespnonse pageSimpleResponse = new InvProductPageRespnonse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(orderEntities); + return ResultVOUtils.success(pageSimpleResponse); + } else { + return ResultVOUtils.error(500, "未查询到数据!"); + } } + + } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/itextpdf/PDFDawnloadController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/itextpdf/PDFDawnloadController.java index 6e18d9f..fccdbf2 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/itextpdf/PDFDawnloadController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/itextpdf/PDFDawnloadController.java @@ -89,7 +89,7 @@ public class PDFDawnloadController { } inoutOrderDetailPDFCodeRequest.setFromCorp(orderEntity.getFromCorp()); - inoutOrderDetailPDFCodeRequest.setFromType(orderEntity.getFromType()); + inoutOrderDetailPDFCodeRequest.setFromType(orderEntity.getFromType()+""); BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(orderEntity.getAction()); inoutOrderDetailPDFCodeRequest.setActionName(bussinessTypeEntity == null ? " " : bussinessTypeEntity.getName()); @@ -130,7 +130,7 @@ public class PDFDawnloadController { inoutOrderDetailPDFCodeRequest.setSettingData(settingData); //----------------------------------------------- inoutOrderDetailPDFCodeRequest.setFromCorp(orderEntity.getFromCorp()); - inoutOrderDetailPDFCodeRequest.setFromType(orderEntity.getFromType()); + inoutOrderDetailPDFCodeRequest.setFromType(orderEntity.getFromType()+""); BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(orderEntity.getAction()); inoutOrderDetailPDFCodeRequest.setActionName(bussinessTypeEntity == null ? " " : bussinessTypeEntity.getName()); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/test/HeadRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/test/HeadRequest.java new file mode 100644 index 0000000..7feafce --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/test/HeadRequest.java @@ -0,0 +1,13 @@ +package com.glxp.sale.admin.controller.test; + +import lombok.Data; + +@Data +public class HeadRequest { + + private String appId; + private String userName; + private String time; + private String secretKey; + private String sign; +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/test/TestController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/test/TestController.java new file mode 100644 index 0000000..76fc89b --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/test/TestController.java @@ -0,0 +1,85 @@ +package com.glxp.sale.admin.controller.test; + +import com.alibaba.fastjson.JSON; +import com.github.pagehelper.PageInfo; +import com.glxp.sale.admin.entity.param.SystemPDFModuleEntity; +import com.glxp.sale.admin.entity.param.SystemPDFTemplateEntity; +import com.glxp.sale.admin.req.param.SystemPDFModuleRequest; +import com.glxp.sale.admin.res.PageSimpleResponse; +import com.glxp.sale.admin.res.param.SystemPDFModuleResponse; +import com.glxp.sale.admin.util.Md5Utils; +import com.glxp.sale.common.enums.ResultEnum; +import com.glxp.sale.common.res.BaseResponse; +import com.glxp.sale.common.util.ResultVOUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.BeanUtils; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import javax.validation.Valid; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; +import java.util.List; +import java.util.stream.Collectors; + +@RestController +public class TestController { + + final Logger logger = LoggerFactory.getLogger(TestController.class); + + @GetMapping("/udplat/test") + public BaseResponse list() { + try { + HeadRequest headRequest = new HeadRequest(); + headRequest.setAppId("20004072"); + headRequest.setUserName(URLEncoder.encode("福建片仔癀诊断技术有限公司", "UTF-8"));//福建片仔癀诊断技术有限公司 + headRequest.setTime(System.currentTimeMillis() + ""); + headRequest.setSecretKey("hoGxLSEsSyysnS9"); + + String url = "appId=" + headRequest.getAppId() + "&secretKey=" + headRequest.getSecretKey() + "&time=" + headRequest.getTime() + + "&userName=" + headRequest.getUserName(); + String sign = Md5Utils.md5(url); + String sign1 = Md5Utils.stringToMD5(url); + headRequest.setSign(sign); + logger.info(url + "\n" + sign1); + logger.info(JSON.toJSONString(headRequest)); + return ResultVOUtils.success(headRequest); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + + return ResultVOUtils.success(""); + } + + @GetMapping("/udplat/hosp/test") + public BaseResponse hospList() { + try { + HeadRequest headRequest = new HeadRequest(); + headRequest.setAppId("10000090"); + headRequest.setUserName(URLEncoder.encode("诏安县医院", "UTF-8")); + headRequest.setTime(System.currentTimeMillis() + ""); + headRequest.setSecretKey("QchvZnPYK1jyOYV"); + + String url = "appId=" + headRequest.getAppId() + "&secretKey="+ headRequest.getSecretKey() + "&time=" + headRequest.getTime() + + "&userName=" + headRequest.getUserName(); +// String sign = Md5Utils.stringToMD5(url); + String sign = Md5Utils.md5(url); + headRequest.setSign(sign); + logger.info(JSON.toJSONString(headRequest)); + return ResultVOUtils.success(headRequest); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + + return ResultVOUtils.success(""); + } + + + public void getMd5Sign() { + + } + +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrCorpExportLogController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrCorpExportLogController.java new file mode 100644 index 0000000..89d1686 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrCorpExportLogController.java @@ -0,0 +1,190 @@ +package com.glxp.sale.admin.controller.thrsys; + +import com.github.pagehelper.PageInfo; +import com.glxp.sale.admin.constant.BasicProcessStatus; +import com.glxp.sale.admin.entity.basic.BasicThirdSysDetailEntity; +import com.glxp.sale.admin.entity.thrsys.ThrCorpEntity; +import com.glxp.sale.admin.entity.thrsys.ThrCorpExportLogEntity; +import com.glxp.sale.admin.httpclient.ErpBasicClient; +import com.glxp.sale.admin.req.basic.BasicUnitMaintainFilterRequest; +import com.glxp.sale.admin.req.basic.FilterUdiEpLogRequest; +import com.glxp.sale.admin.req.info.DeleteRequest; +import com.glxp.sale.admin.req.thrsys.FilterThrCorpRequest; +import com.glxp.sale.admin.req.thrsys.ThrCorpExportRequest; +import com.glxp.sale.admin.res.PageSimpleResponse; +import com.glxp.sale.admin.res.basic.ErpUnitsResponse; +import com.glxp.sale.admin.service.basic.BasicThirdSysDetailService; +import com.glxp.sale.admin.service.thrsys.ThrCorpExportLogService; +import com.glxp.sale.admin.service.thrsys.ThrCorpService; +import com.glxp.sale.admin.thread.ThrCorpsDlService; +import com.glxp.sale.admin.util.CustomUtil; +import com.glxp.sale.common.enums.ResultEnum; +import com.glxp.sale.common.res.BaseResponse; +import com.glxp.sale.common.util.ResultVOUtils; +import org.springframework.beans.BeanUtils; +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.HttpServletResponse; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * 第三方数据往来单位导出日志 + */ +@RestController +public class ThrCorpExportLogController { + + @Resource + ThrCorpExportLogService thrCorpExportLogService; + @Resource + ThrCorpService thrCorpService; + @Resource + ThrCorpsDlService thrCorpsDlService; + @Resource + BasicThirdSysDetailService basicThirdSysDetailService; + + @GetMapping("/udiwms/thrCorp/exportLog/filter") + public BaseResponse filter(FilterUdiEpLogRequest filterUdiEpLogReques, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List thrCorpExportLogEntities + = thrCorpExportLogService.filterThrCorpExportLog(filterUdiEpLogReques); + PageInfo pageInfo; + pageInfo = new PageInfo<>(thrCorpExportLogEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(thrCorpExportLogEntities); + return ResultVOUtils.success(pageSimpleResponse); + } + + @PostMapping("/udiwms/thrCorp/exportLog/deleteLog") + public BaseResponse deleteLog(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + String id = deleteRequest.getId(); + thrCorpExportLogService.deleteById(id + ""); + return ResultVOUtils.success("删除成功"); + } + + //往来单位excel文件下载 + @GetMapping("/udiwms/thrCorp/exportLog/download") + public void download(FilterUdiEpLogRequest filterUdiEpLogRequest, HttpServletResponse res) { + + List thrCorpExportLogEntities = thrCorpExportLogService.filterThrCorpExportLog(filterUdiEpLogRequest); + ThrCorpExportLogEntity thrOrderExportLogEntity = thrCorpExportLogEntities.get(0); + try { + String filePath = thrOrderExportLogEntity.getFilePath(); + String fileName = "temp"; + if (filePath != null && filePath.length() > 0) { + String[] data = filePath.split("/"); + fileName = data[data.length - 1]; + } + res.setHeader("Content-disposition", "attachment;fileName=" + fileName); + res.setContentType("text/plain;charset=UTF-8"); + FileInputStream input = new FileInputStream(new File(filePath)); + OutputStream out = res.getOutputStream(); + byte[] b = new byte[2048]; + int len; + while ((len = input.read(b)) != -1) { + out.write(b, 0, len); + } + input.close(); + if (thrOrderExportLogEntity.getDlCount() == 0) { + thrOrderExportLogEntity.setDlCount(1); + } else { + thrOrderExportLogEntity.setDlCount(thrOrderExportLogEntity.getDlCount() + 1); + } + thrCorpExportLogService.updateThrCorpExportLog(thrOrderExportLogEntity); + } catch (Exception ex) { + System.out.println("下载失败!"); + } + + + } + + //往来单位导出生成Excel,并创建生成记录 + @PostMapping("/udiwms/thrCorp/importLog/export") + public BaseResponse excelDownload(@RequestBody ThrCorpExportRequest thrCorpExportRequest) { + + String fileName = "D:\\udiwms\\exportFile\\" + "第三方往来单位信息导出" + System.currentTimeMillis() + ".xls"; + File file = new File(fileName); + if (!file.exists()) { + try { + file.createNewFile(); + } catch (IOException e) { + e.printStackTrace(); + } + } + ThrCorpExportLogEntity thrCorpExportLogEntity = new ThrCorpExportLogEntity(); + thrCorpExportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_PROCESS); + String genKey = CustomUtil.getId(); + thrCorpExportLogEntity.setGenKey(genKey); + thrCorpExportLogEntity.setFilePath(fileName); + thrCorpExportLogEntity.setUpdateTime(new Date()); + thrCorpExportLogEntity.setDlCount(0); + thrCorpExportLogEntity.setType(1); + thrCorpExportLogService.insertThrCorpExportLog(thrCorpExportLogEntity); + thrCorpsDlService.genExcel(genKey, thrCorpExportRequest); + return ResultVOUtils.success("后台正在导出生成excel文件,请稍后刷新查看!"); + + } + + + //第三方往来单位接口下载(第三方使用) + @GetMapping("/udiwms/thrsys/thrCorp/download") + public BaseResponse downloadThrCorps(BasicUnitMaintainFilterRequest unitMaintainFilterRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + BasicThirdSysDetailEntity basicThirdSysDetailEntity = basicThirdSysDetailService.selectByKey("corpUrl", unitMaintainFilterRequest.getThirdSys()); + if (basicThirdSysDetailEntity == null || basicThirdSysDetailEntity.getValue() == null) + return ResultVOUtils.error(500, "往来单位接口地址未定义"); + if (basicThirdSysDetailEntity.getEnabled()) { + if (basicThirdSysDetailEntity.getFromType() == 0) { + BaseResponse> udiDlDeviceResponse = + new ErpBasicClient().getErpCrop(unitMaintainFilterRequest, basicThirdSysDetailEntity.getValue()); + return udiDlDeviceResponse; + } else { + FilterThrCorpRequest filterThrCorpRequest = new FilterThrCorpRequest(); + BeanUtils.copyProperties(unitMaintainFilterRequest, filterThrCorpRequest); + filterThrCorpRequest.setThirdSysFk(unitMaintainFilterRequest.getThirdSys()); + List thrCorpEntities + = thrCorpService.filterThrCorps(filterThrCorpRequest); + List thrCorpEntityList = thrCorpEntities.stream().map(item -> + { + ThrCorpEntity thrCorpEntity = new ThrCorpEntity(); + BeanUtils.copyProperties(item, thrCorpEntity); + thrCorpEntity.setId(item.getUnitId()); + return thrCorpEntity; + }).collect(Collectors.toList()); + PageInfo pageInfo; + pageInfo = new PageInfo<>(thrCorpEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(thrCorpEntityList); + return ResultVOUtils.success(pageSimpleResponse); + } + } else { + return ResultVOUtils.error(500, "第三方往来单位服务未启用"); + } + + + } +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrCorpImportLogController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrCorpImportLogController.java new file mode 100644 index 0000000..b7d35b1 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrCorpImportLogController.java @@ -0,0 +1,87 @@ +package com.glxp.sale.admin.controller.thrsys; + +import com.github.pagehelper.PageInfo; +import com.glxp.sale.admin.entity.thrsys.ThrCorpImportDetailEntity; +import com.glxp.sale.admin.entity.thrsys.ThrCorpImportLogEntity; +import com.glxp.sale.admin.req.basic.FilterUdiIpLogRequest; +import com.glxp.sale.admin.req.info.DeleteRequest; +import com.glxp.sale.admin.res.PageSimpleResponse; +import com.glxp.sale.admin.service.thrsys.ThrCorpImportDetailService; +import com.glxp.sale.admin.service.thrsys.ThrCorpImportLogService; +import com.glxp.sale.common.enums.ResultEnum; +import com.glxp.sale.common.res.BaseResponse; +import com.glxp.sale.common.util.ResultVOUtils; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 第三方数据往来单位导入日志 + */ +@RestController +public class ThrCorpImportLogController { + + @Resource + ThrCorpImportLogService thrCorpImportLogService; + @Resource + ThrCorpImportDetailService thrCorpImportDetailService; + + @GetMapping("/udiwms/thrCorp/importLog/filter") + public BaseResponse filter(FilterUdiIpLogRequest filterUdiIpLogRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List thrCorpImportLogEntities + = thrCorpImportLogService.filterImportLog(filterUdiIpLogRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(thrCorpImportLogEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(thrCorpImportLogEntities); + return ResultVOUtils.success(pageSimpleResponse); + } + + @GetMapping("/udiwms/thrCorp/importLog/filterDetail") + public BaseResponse filterDetail(FilterUdiIpLogRequest filterUdiIpLogRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List thrCorpImportDetailEntities + = thrCorpImportDetailService.filterCorpDetailImport(filterUdiIpLogRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(thrCorpImportDetailEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(thrCorpImportDetailEntities); + return ResultVOUtils.success(pageSimpleResponse); + } + + @PostMapping("/udiwms/thrCorp/importLog/deleteLog") + public BaseResponse deleteLog(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + String id = deleteRequest.getId(); + FilterUdiIpLogRequest filterInCodeLogRequest = new FilterUdiIpLogRequest(); + filterInCodeLogRequest.setId(Integer.parseInt(id)); + List thrCorpImportLogEntities = thrCorpImportLogService.filterImportLog(filterInCodeLogRequest); + if (thrCorpImportLogEntities != null && thrCorpImportLogEntities.size() > 0) { + ThrCorpImportLogEntity thrCorpImportLogEntity = thrCorpImportLogEntities.get(0); + thrCorpImportLogService.deleteById(thrCorpImportLogEntity.getId() + ""); + thrCorpImportDetailService.deleteByGenkey(thrCorpImportLogEntity.getGenKey()); + } + return ResultVOUtils.success("删除成功"); + } + + +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrCorpsController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrCorpsController.java new file mode 100644 index 0000000..7ca1ee4 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrCorpsController.java @@ -0,0 +1,164 @@ +package com.glxp.sale.admin.controller.thrsys; + +import com.github.pagehelper.PageInfo; +import com.glxp.sale.admin.constant.BasicProcessStatus; +import com.glxp.sale.admin.entity.thrsys.ThrCorpEntity; +import com.glxp.sale.admin.entity.thrsys.ThrCorpImportLogEntity; +import com.glxp.sale.admin.req.basic.BasicUnitMaintainFilterRequest; +import com.glxp.sale.admin.req.info.DeleteRequest; +import com.glxp.sale.admin.req.thrsys.FilterThrCorpRequest; +import com.glxp.sale.admin.req.thrsys.PostThrCorpRequest; +import com.glxp.sale.admin.res.PageSimpleResponse; +import com.glxp.sale.admin.res.basic.ErpUnitsResponse; +import com.glxp.sale.admin.service.thrsys.ThrCorpImportLogService; +import com.glxp.sale.admin.service.thrsys.ThrCorpService; +import com.glxp.sale.admin.thread.ThrCorpsDlService; +import com.glxp.sale.admin.util.Constant; +import com.glxp.sale.admin.util.CustomUtil; +import com.glxp.sale.admin.util.RedisUtil; +import com.glxp.sale.common.enums.ResultEnum; +import com.glxp.sale.common.res.BaseResponse; +import com.glxp.sale.common.util.ResultVOUtils; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; + +@RestController +public class ThrCorpsController { + @Resource + RedisUtil redisUtil; + @Resource + private ThrCorpService thrCorpService; + @Resource + private ThrCorpsDlService thrCorpsDlService; + @Resource + private ThrCorpImportLogService thrCorpImportLogService; + + + @GetMapping("/udiwms/thrsys/getCorps") + public BaseResponse getCorps(FilterThrCorpRequest filterThrCorpRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List thrCorpEntities + = thrCorpService.filterThrCorps(filterThrCorpRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(thrCorpEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(thrCorpEntities); + return ResultVOUtils.success(pageSimpleResponse); + } + + @PostMapping("/udiwms/thrsys/delCorps") + public BaseResponse delCorps(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + String id = deleteRequest.getId(); + thrCorpService.deleteByUnitId(id); + return ResultVOUtils.success("删除成功"); + } + + @RequestMapping("/udiwms/thrsys/corp/delAll") + public BaseResponse delAll() { + thrCorpService.deleteAll(); + return ResultVOUtils.success("删除成功"); + } + + + //第三方服务上传(包括文件导入后上传) + @PostMapping("/udiwms/thrsys/postCorps") + public BaseResponse postCorps(@RequestBody PostThrCorpRequest postThrCorpRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List erpUnitsResponses = postThrCorpRequest.getCorps(); + if (erpUnitsResponses != null && erpUnitsResponses.size() > 0) { + String genKey = postThrCorpRequest.getGenKey(); + if (genKey == null) { + genKey = CustomUtil.getId(); + } + ThrCorpImportLogEntity thrCorpImportLogEntity = thrCorpImportLogService.selectByGenKey(genKey); + if (thrCorpImportLogEntity == null) { + thrCorpImportLogEntity = new ThrCorpImportLogEntity(); + thrCorpImportLogEntity.setGenKey(genKey); + if (postThrCorpRequest.getUploadType() != null) { + thrCorpImportLogEntity.setFromType(postThrCorpRequest.getUploadType()); + } else + thrCorpImportLogEntity.setFromType("第三方系统上传"); + thrCorpImportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_PROCESS); + thrCorpImportLogEntity.setUpdateTime(new Date()); + thrCorpImportLogEntity.setThirdSysFk(postThrCorpRequest.getThirdSys()); + thrCorpImportLogService.insertImportLog(thrCorpImportLogEntity); + } + thrCorpsDlService.insertData(genKey, postThrCorpRequest.getThirdSys(), erpUnitsResponses); + return ResultVOUtils.success("往来单位上传成功!后台正在处理,请稍后刷新查看!"); + } + return ResultVOUtils.error(500, "上传数据为空"); + } + + //接口一键全部 + @RequestMapping("/udiwms/thrsys/corp/downloadAll") + public BaseResponse downloadAll(FilterThrCorpRequest filterThrProductsRequest) { + String data = (String) redisUtil.get(Constant.dlThrProducts); + if (data != null && data.equals("true")) { + return ResultVOUtils.error(500, "当前任务正在下载更新产品信息,请稍后重试!"); + } else { + redisUtil.set(Constant.dlThrCorps, "true", 30); + if (filterThrProductsRequest.getThirdSysFk() == null) { + return ResultVOUtils.error(500, "未选择第三方系统!"); + } + ThrCorpImportLogEntity thrCorpImportLogEntity = new ThrCorpImportLogEntity(); + String genKey = CustomUtil.getId(); + thrCorpImportLogEntity.setGenKey(genKey); + thrCorpImportLogEntity.setFromType("第三方系统获取"); + thrCorpImportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_PROCESS); + thrCorpImportLogEntity.setUpdateTime(new Date()); + thrCorpImportLogEntity.setThirdSysFk(filterThrProductsRequest.getThirdSysFk()); + thrCorpImportLogService.insertImportLog(thrCorpImportLogEntity); + thrCorpsDlService.importCorps(genKey,null, filterThrProductsRequest.getThirdSysFk()); + return ResultVOUtils.success("后台开始下载更新,请稍后刷新查看"); + } + } + + //选中或者下载全部 + @PostMapping("/udiwms/thrsys/corp/corpsDlAll") + public BaseResponse corpsDlAll(@RequestBody BasicUnitMaintainFilterRequest filterThrCorpRequest) { + filterThrCorpRequest.setThirdSysFk(filterThrCorpRequest.getThirdSys()); + String data = (String) redisUtil.get(Constant.dlThrProducts); + if (data != null && data.equals("true")) { + return ResultVOUtils.error(500, "当前任务正在下载更新产品信息,请稍后重试!"); + } else { + redisUtil.set(Constant.dlThrCorps, "true", 30); + if (filterThrCorpRequest.getThirdSysFk() == null) { + return ResultVOUtils.error(500, "未选择第三方系统!"); + } + ThrCorpImportLogEntity thrCorpImportLogEntity = new ThrCorpImportLogEntity(); + String genKey = CustomUtil.getId(); + thrCorpImportLogEntity.setGenKey(genKey); + thrCorpImportLogEntity.setFromType("第三方系统获取"); + thrCorpImportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_PROCESS); + thrCorpImportLogEntity.setUpdateTime(new Date()); + thrCorpImportLogEntity.setThirdSysFk(filterThrCorpRequest.getThirdSysFk()); + thrCorpImportLogService.insertImportLog(thrCorpImportLogEntity); + + if (filterThrCorpRequest.getThrCorpEntities() != null && filterThrCorpRequest.getThrCorpEntities().size() > 0) {//选中导出 + thrCorpsDlService.importSelectCorps(genKey, filterThrCorpRequest.getThrCorpEntities(), filterThrCorpRequest.getThirdSysFk()); + } else { //结果导出 + thrCorpsDlService.importCorps(genKey,filterThrCorpRequest, filterThrCorpRequest.getThirdSysFk()); + } + +// thrCorpsDlService.importCorps(genKey, filterThrCorpRequest.getThirdSysFk()); + return ResultVOUtils.success("后台开始下载更新,请稍后刷新查看"); + } + } +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrOrderExportLogController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrOrderExportLogController.java index b60ed97..68f00b3 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrOrderExportLogController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrOrderExportLogController.java @@ -25,6 +25,7 @@ import com.glxp.sale.common.enums.ResultEnum; import com.glxp.sale.common.res.BaseResponse; import com.glxp.sale.common.util.ResultVOUtils; import org.springframework.beans.BeanUtils; +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; @@ -53,6 +54,8 @@ public class ThrOrderExportLogController { private ThrOrderService thrOrderService; @Resource private ThrOrderDetailService thrOrderDetailService; + @Value("${file_path}") + String filePath; @GetMapping("/udiwms/thrOrder/exportLog/filter") public BaseResponse filter(FilterUdiEpLogRequest filterUdiEpLogReques, @@ -123,11 +126,10 @@ public class ThrOrderExportLogController { public BaseResponse excelDownload(@RequestBody ThrOrderExportRequest thrOrderExportRequest) { - ThrOrderExportLogEntity udiInfoExportLogEntity = new ThrOrderExportLogEntity(); udiInfoExportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_PROCESS); String genKey = CustomUtil.getId(); - String fileName = "D:\\udiwms\\exportFile\\" + "业务单据导出" + genKey + ".xls"; + String fileName = filePath + "\\exportExcelFile\\" + "业务单据导出" + genKey + ".xls"; File file = new File(fileName); if (!file.exists()) { try { @@ -182,7 +184,7 @@ public class ThrOrderExportLogController { return ResultVOUtils.error(500, "第三方业务单据服务未启用"); } - if (basicThirdSysDetailEntity.getFromType() == 0 ) { + if (basicThirdSysDetailEntity.getFromType() == 0) { return new ErpOrderClient(basicThirdSysDetailEntity.getValue()).getErpOrderResponse(filterErpOrderRequest); } else { //todo 订单查询,需加日期 diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrOrderImportLogController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrOrderImportLogController.java index 2d15a9f..01a9ca1 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrOrderImportLogController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrOrderImportLogController.java @@ -204,10 +204,10 @@ public class ThrOrderImportLogController { if (cell5 != null) { cell5.setCellType(CellType.STRING); String billType = cell5.getStringCellValue(); - BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByName(billType); - if (bussinessTypeEntity != null) { - corpImportDetailEntity.setBillType(bussinessTypeEntity.getAction()); - } else +// BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByName(billType); +// if (bussinessTypeEntity != null) { +// corpImportDetailEntity.setBillType(bussinessTypeEntity.getAction()); +// } else corpImportDetailEntity.setBillType(billType); @@ -270,6 +270,14 @@ public class ThrOrderImportLogController { corpImportDetailEntity.setReCount(Integer.parseInt(count)); } } + Cell cell15 = row.getCell(14); + if (cell15 != null) { + cell15.setCellType(CellType.STRING); + String originType = cell15.getStringCellValue(); + if (originType != null && !"".equals(originType)) { + corpImportDetailEntity.setOriginType(originType); + } + } corpImportDetailEntity.setThirdSysFk(thirdSys); corpImportDetailEntity.setGenKeyFk(genKey); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrProductsImportLogController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrProductsImportLogController.java index 48db25d..681c170 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrProductsImportLogController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrProductsImportLogController.java @@ -42,7 +42,6 @@ public class ThrProductsImportLogController { @GetMapping("/udiwms/thrProducts//importLog/filter") - public BaseResponse filter(FilterUdiIpLogRequest filterUdiIpLogRequest, BindingResult bindingResult) { @@ -180,6 +179,11 @@ public class ThrProductsImportLogController { cell6.setCellType(CellType.STRING); erpProductsResponse.setManufactory(cell6.getStringCellValue()); } + Cell cell7 = row.getCell(6); + if (cell7 != null) { + cell7.setCellType(CellType.STRING); + erpProductsResponse.setSupName(cell7.getStringCellValue()); + } erpProductsResponses.add(erpProductsResponse); } } @@ -195,6 +199,7 @@ public class ThrProductsImportLogController { } return ResultVOUtils.success("上传成功"); } + public boolean filterEmpty(Row row) { if (row.getCell(0) != null) { diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/UdplatGoodsController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/UdplatGoodsController.java new file mode 100644 index 0000000..61f38ee --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/UdplatGoodsController.java @@ -0,0 +1,42 @@ +package com.glxp.sale.admin.controller.thrsys; + +import com.glxp.sale.admin.annotation.AuthRuleAnnotation; +import com.glxp.sale.admin.req.thrsys.BaseParam; +import com.glxp.sale.admin.service.thrsys.UdplatGoodsService; +import com.glxp.sale.common.res.BaseResponse; +import com.glxp.sale.common.util.ResultVOUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; + +/** + *目录清单 + */ +@RestController +@RequestMapping("udplat/goods") +public class UdplatGoodsController { + @Autowired + private UdplatGoodsService udplatGoodsService; + +// @AuthRuleAnnotation("udidl_udplatGoods_all") + @PostMapping("/list") + public BaseResponse getList(@RequestBody BaseParam param) + { + return udplatGoodsService.getList(param); + } +// @AuthRuleAnnotation("udidl_udplatGoods_all") + @PostMapping("/import") + public BaseResponse importExcel(MultipartFile file,int type){ + try + { + return udplatGoodsService.importExcel(file.getInputStream(),type); + }catch (Exception e){ + e.printStackTrace(); + return ResultVOUtils.error(-1,e.getMessage()); + } + + } +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/UdplatGoodsImportController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/UdplatGoodsImportController.java new file mode 100644 index 0000000..5ca53ae --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/UdplatGoodsImportController.java @@ -0,0 +1,61 @@ +package com.glxp.sale.admin.controller.thrsys; + +import com.github.pagehelper.PageInfo; +import com.glxp.sale.admin.entity.thrsys.ThrImportLogEntity; +import com.glxp.sale.admin.req.basic.FilterUdiIpLogRequest; +import com.glxp.sale.admin.req.inout.DeleteRequest; +import com.glxp.sale.admin.res.PageSimpleResponse; +import com.glxp.sale.admin.service.thrsys.ThrImportLogService; +import com.glxp.sale.common.enums.ResultEnum; +import com.glxp.sale.common.res.BaseResponse; +import com.glxp.sale.common.util.ResultVOUtils; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +@RestController +@RequestMapping("udplat/goods/import") +public class UdplatGoodsImportController { + @Resource + ThrImportLogService thrImportLogService; + + + @GetMapping("/filter") + public BaseResponse filter(FilterUdiIpLogRequest filterUdiIpLogRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List thrProductsImportLogEntities + = thrImportLogService.filterImportLog(filterUdiIpLogRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(thrProductsImportLogEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(thrProductsImportLogEntities); + return ResultVOUtils.success(pageSimpleResponse); + } + + + @PostMapping("/deleteLog") + public BaseResponse deleteLog(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + String id = deleteRequest.getId(); + FilterUdiIpLogRequest filterInCodeLogRequest = new FilterUdiIpLogRequest(); + filterInCodeLogRequest.setId(Integer.parseInt(id)); + List thrProductsImportLogEntities = thrImportLogService.filterImportLog(filterInCodeLogRequest); + if (thrProductsImportLogEntities != null && thrProductsImportLogEntities.size() > 0) { + ThrImportLogEntity thrInvProductsImportLogEntity = thrProductsImportLogEntities.get(0); + thrImportLogService.deleteById(thrInvProductsImportLogEntity.getId() + ""); + } + + return ResultVOUtils.success("删除成功"); + } + +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/dao/auth/AuthAdminDao.java b/api-admin/src/main/java/com/glxp/sale/admin/dao/auth/AuthAdminDao.java index 8222727..7e45b0d 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/dao/auth/AuthAdminDao.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/dao/auth/AuthAdminDao.java @@ -42,7 +42,7 @@ public interface AuthAdminDao { */ AuthAdmin findByUserName(String userName); - AuthAdmin findByUser(@Param("userName") String userName,@Param("CustomerId") String CustomerId); + AuthAdmin findByUser(@Param("userName") String userName, @Param("CustomerId") String CustomerId); /** @@ -68,4 +68,6 @@ public interface AuthAdminDao { * @return */ boolean deleteById(Long id); + + boolean deleteByCustomerId(Long customerId); } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/dao/basic/BussinessChangeTypeDao.java b/api-admin/src/main/java/com/glxp/sale/admin/dao/basic/BussinessChangeTypeDao.java new file mode 100644 index 0000000..8d166cc --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/dao/basic/BussinessChangeTypeDao.java @@ -0,0 +1,22 @@ +package com.glxp.sale.admin.dao.basic; + +import com.glxp.sale.admin.entity.basic.BussinessChangeTypeEntity; +import com.glxp.sale.admin.entity.basic.BussinessLocalTypeEntity; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface BussinessChangeTypeDao { + + + List findByAction(String action); + + + boolean updateBusChangeType(BussinessChangeTypeEntity bussinessTypeEntity); + + boolean insertBusChangeTypee(BussinessChangeTypeEntity bussinessTypeEntity); + + boolean deleteById(@Param("id") String id); +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/dao/basic/BussinessTypeDao.java b/api-admin/src/main/java/com/glxp/sale/admin/dao/basic/BussinessTypeDao.java index cb206ca..e7287ae 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/dao/basic/BussinessTypeDao.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/dao/basic/BussinessTypeDao.java @@ -17,6 +17,8 @@ public interface BussinessTypeDao { boolean insertBussinessType(BussinessTypeEntity bussinessTypeEntity); + boolean insertIgnoreBussinessType(BussinessTypeEntity bussinessTypeEntity); + boolean updateBussinessType(BussinessTypeEntity bussinessTypeEntity); boolean deleteById(@Param("id") String id); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/dao/info/CompanyDao.java b/api-admin/src/main/java/com/glxp/sale/admin/dao/info/CompanyDao.java index 5b979da..d3a6405 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/dao/info/CompanyDao.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/dao/info/CompanyDao.java @@ -22,5 +22,7 @@ public interface CompanyDao { boolean insertCompany(CompanyEntity companyEntity); + boolean deleteCompany(Long customerId); + AliKeyEntity findKey(String customerId); } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/dao/info/CompanyProductRelevanceDao.java b/api-admin/src/main/java/com/glxp/sale/admin/dao/info/CompanyProductRelevanceDao.java index 2b0bd43..6229d92 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/dao/info/CompanyProductRelevanceDao.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/dao/info/CompanyProductRelevanceDao.java @@ -32,4 +32,6 @@ public interface CompanyProductRelevanceDao { boolean insertCompanyProductRelevance(CompanyProductRelevanceEntity companyCertEntity); boolean deleteById(String id); + + boolean deleteByRlId(String id); } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/dao/inout/CodesDao.java b/api-admin/src/main/java/com/glxp/sale/admin/dao/inout/CodesDao.java index c20f7ec..b36555c 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/dao/inout/CodesDao.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/dao/inout/CodesDao.java @@ -24,6 +24,9 @@ public interface CodesDao { List findByReceiptId(@Param("orderId") String orderId); + boolean deleteByOrderId(@Param("orderId") String orderId); + + List findByCode(@Param("code") String code); List searchCode(@Param("code") String code); @@ -34,4 +37,11 @@ public interface CodesDao { List findCodesById(@Param("orderId") String orderId); + boolean updateCode(WarehouseEntity warehouseEntity); + + boolean updateRelId(@Param("relId") String relId, @Param("nameCode") String nameCode, @Param("orderId") String orderId); + + boolean updateSupId(@Param("supId") String supId, @Param("nameCode") String nameCode, @Param("orderId") String orderId); + + } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/dao/inout/CodesTempDao.java b/api-admin/src/main/java/com/glxp/sale/admin/dao/inout/CodesTempDao.java index 9394a3c..3f9de58 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/dao/inout/CodesTempDao.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/dao/inout/CodesTempDao.java @@ -16,6 +16,8 @@ public interface CodesTempDao { int updateById(WarehouseEntity warehouseEntitie); + boolean updateOrderId(@Param("oldOrderId") String oldOrderId, @Param("newOrderId") String newOrderId); + int deleteCodesTemp(@Param("codes") List warehouseEntities); int deleteCodesTempById(WarehouseEntity warehouseEntitie); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/dao/inout/OrderDao.java b/api-admin/src/main/java/com/glxp/sale/admin/dao/inout/OrderDao.java index da15f5d..59c2365 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/dao/inout/OrderDao.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/dao/inout/OrderDao.java @@ -44,6 +44,9 @@ public interface OrderDao { List filterListByCode(@Param("warehouseEntityList") List warehouseEntityList); + List filterListByOrder(@Param("orderList") List orderList); + + OrderEntity findOne(OrderFilterRequest orderFilterRequest); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/dao/inout/OrderDetailDao.java b/api-admin/src/main/java/com/glxp/sale/admin/dao/inout/OrderDetailDao.java index b390796..c691792 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/dao/inout/OrderDetailDao.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/dao/inout/OrderDetailDao.java @@ -39,5 +39,8 @@ public interface OrderDetailDao { List selectAllIds(@Param("docids") List docids); + + ErpOrderEntity findById(@Param("id") String id); + boolean deleteByOrderId(@Param("id") String id); } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/dao/inventory/InvPreProductDao.java b/api-admin/src/main/java/com/glxp/sale/admin/dao/inventory/InvPreProductDao.java new file mode 100644 index 0000000..9da9ced --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/dao/inventory/InvPreProductDao.java @@ -0,0 +1,27 @@ +package com.glxp.sale.admin.dao.inventory; + +import com.glxp.sale.admin.entity.inventory.InvProductEntity; +import com.glxp.sale.admin.req.inventory.FilterInvProductRequest; +import com.glxp.sale.admin.res.inventory.InvProductResponse; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface InvPreProductDao { + + + List filterInvProduct(FilterInvProductRequest filterInvProductRequest); + + List filterJoinInvProduct(FilterInvProductRequest filterInvProductRequest); + + boolean insertInvProduct(InvProductEntity invProductEntity); + + boolean updateInvProduct(InvProductEntity invProductEntity); + + InvProductEntity selectById(@Param("id") String id); + + boolean deleteById(@Param("id") String id); + +} \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/sale/admin/dao/inventory/InvPreProductDetailDao.java b/api-admin/src/main/java/com/glxp/sale/admin/dao/inventory/InvPreProductDetailDao.java new file mode 100644 index 0000000..fecf709 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/dao/inventory/InvPreProductDetailDao.java @@ -0,0 +1,29 @@ +package com.glxp.sale.admin.dao.inventory; + +import com.glxp.sale.admin.entity.inventory.InvProductDetailEntity; +import com.glxp.sale.admin.req.inventory.FilterInvProductDetailRequest; +import com.glxp.sale.admin.res.inventory.InvProductDetailJoinResponse; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface InvPreProductDetailDao { + + List filterInvProductDetail(FilterInvProductDetailRequest filterInvProductDetailRequest); + + List filterJoinInvProduct(FilterInvProductDetailRequest filterInvProductDetailRequest); + + boolean insertInvProductDetail(InvProductDetailEntity invProductDetailEntity); + + boolean insertInvProductDetails(@Param("invProductDetailEntitys") List invProductDetailEntitys); + + boolean updateInvProductDetail(InvProductDetailEntity invProductDetailEntity); + + boolean deleteById(@Param("id") String id); + + boolean deleteByProductId(FilterInvProductDetailRequest filterInvProductDetailRequest); + + int statCount(FilterInvProductDetailRequest filterInvProductDetailRequest); +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/dao/inventory/InvProductDetailDao.java b/api-admin/src/main/java/com/glxp/sale/admin/dao/inventory/InvProductDetailDao.java index 52150da..7101b29 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/dao/inventory/InvProductDetailDao.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/dao/inventory/InvProductDetailDao.java @@ -2,6 +2,7 @@ package com.glxp.sale.admin.dao.inventory; import com.glxp.sale.admin.entity.inventory.InvProductDetailEntity; import com.glxp.sale.admin.req.inventory.FilterInvProductDetailRequest; +import com.glxp.sale.admin.res.inventory.InvProductDetailJoinResponse; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -12,14 +13,17 @@ public interface InvProductDetailDao { List filterInvProductDetail(FilterInvProductDetailRequest filterInvProductDetailRequest); + List filterJoinInvProduct(FilterInvProductDetailRequest filterInvProductDetailRequest); + boolean insertInvProductDetail(InvProductDetailEntity invProductDetailEntity); - boolean insertInvProductDetails(List invProductDetailEntitys); + boolean insertInvProductDetails(@Param("invProductDetailEntitys") List invProductDetailEntitys); boolean updateInvProductDetail(InvProductDetailEntity invProductDetailEntity); boolean deleteById(@Param("id") String id); - boolean deleteByProductId(@Param("productIdFk") String productIdFk); + boolean deleteByProductId(FilterInvProductDetailRequest productIdFk); + int statCount(FilterInvProductDetailRequest filterInvProductDetailRequest); } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/dao/inventory/InvStockPrintDao.java b/api-admin/src/main/java/com/glxp/sale/admin/dao/inventory/InvStockPrintDao.java index bcdfcab..b8f2253 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/dao/inventory/InvStockPrintDao.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/dao/inventory/InvStockPrintDao.java @@ -12,6 +12,8 @@ public interface InvStockPrintDao { List filterStockPrint(FilterStockprintRequest filterStockprintRequest); + List filterJoinStockPrint(FilterStockprintRequest filterStockprintRequest); + StockPrintEntity findByNameCode(@Param("nameCode") String nameCode); StockPrintEntity findByRlId(FilterStockprintRequest udiRlIdFk); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/dao/inventory/StockPrintTempDao.java b/api-admin/src/main/java/com/glxp/sale/admin/dao/inventory/StockPrintTempDao.java new file mode 100644 index 0000000..f1fd7e2 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/dao/inventory/StockPrintTempDao.java @@ -0,0 +1,21 @@ +package com.glxp.sale.admin.dao.inventory; + +import com.glxp.sale.admin.entity.inventory.StockPrintTempEntity; +import com.glxp.sale.admin.req.basic.FilterStockprintRequest; +import com.glxp.sale.admin.req.inventory.DeleteStPrintTempRequest; +import com.glxp.sale.admin.req.inventory.FilterStPrintTempRequest; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface StockPrintTempDao { + + List filterStockPrintTempEntity(FilterStPrintTempRequest filterStockprintRequest); + + boolean deleteById(DeleteStPrintTempRequest deleteStPrintTempRequest); + + boolean insertStockPrintTempEntity(StockPrintTempEntity stockPrintEntity); + + boolean updateStockPrintTempEntity(StockPrintTempEntity stockPrintEntity); +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/dao/thrsys/ThrCorpDao.java b/api-admin/src/main/java/com/glxp/sale/admin/dao/thrsys/ThrCorpDao.java new file mode 100644 index 0000000..fa4bc5b --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/dao/thrsys/ThrCorpDao.java @@ -0,0 +1,26 @@ +package com.glxp.sale.admin.dao.thrsys; + +import com.glxp.sale.admin.entity.thrsys.ThrCorpEntity; +import com.glxp.sale.admin.req.thrsys.FilterThrCorpRequest; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface ThrCorpDao { + + List filterThrCorps(FilterThrCorpRequest filterThrCorpRequest); + + boolean insertThrCorps(ThrCorpEntity thrCorpEntity); + + boolean insertThrCorpss(@Param("thrCorpEntitys") List thrCorpEntitys); + + boolean updateThrCorps(ThrCorpEntity thrCorpEntity); + + boolean deleteById(@Param("id") String id); + + boolean deleteByUnitId(@Param("unitId") String unitId); + + boolean deleteAll(); +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/dao/thrsys/ThrCorpExportLogDao.java b/api-admin/src/main/java/com/glxp/sale/admin/dao/thrsys/ThrCorpExportLogDao.java new file mode 100644 index 0000000..a835d1d --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/dao/thrsys/ThrCorpExportLogDao.java @@ -0,0 +1,21 @@ +package com.glxp.sale.admin.dao.thrsys; + +import com.glxp.sale.admin.entity.thrsys.ThrCorpExportLogEntity; +import com.glxp.sale.admin.req.basic.FilterUdiEpLogRequest; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface ThrCorpExportLogDao { + + + List filterThrCorpExportLog(FilterUdiEpLogRequest filterUdiEpLogRequest); + + boolean insertThrCorpExportLog(ThrCorpExportLogEntity thrCorpExportLogEntity); + + boolean updateThrCorpExportLog(ThrCorpExportLogEntity thrCorpExportLogEntity); + + boolean deleteById(@Param("id") String id); +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/dao/thrsys/ThrCorpImportDetailDao.java b/api-admin/src/main/java/com/glxp/sale/admin/dao/thrsys/ThrCorpImportDetailDao.java new file mode 100644 index 0000000..e5481be --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/dao/thrsys/ThrCorpImportDetailDao.java @@ -0,0 +1,23 @@ +package com.glxp.sale.admin.dao.thrsys; + +import com.glxp.sale.admin.entity.thrsys.ThrCorpImportDetailEntity; +import com.glxp.sale.admin.req.basic.FilterUdiIpLogRequest; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface ThrCorpImportDetailDao { + List filterCorpDetailImport(FilterUdiIpLogRequest filterInCodeLogRequest); + + boolean insertCorpDetailImport(ThrCorpImportDetailEntity thrCorpImportDetailEntity); + + boolean updateCorpDetailImport(ThrCorpImportDetailEntity thrCorpImportDetailEntity); + + boolean insertCorpDetailImports(@Param("corps") List thrCorpImportDetailEntities); + + boolean deleteById(@Param("id") String id); + + boolean deleteByGenkey(@Param("genKey") String genKey); +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/dao/thrsys/ThrCorpImportLogDao.java b/api-admin/src/main/java/com/glxp/sale/admin/dao/thrsys/ThrCorpImportLogDao.java new file mode 100644 index 0000000..f824e8a --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/dao/thrsys/ThrCorpImportLogDao.java @@ -0,0 +1,21 @@ +package com.glxp.sale.admin.dao.thrsys; + +import com.glxp.sale.admin.entity.thrsys.ThrCorpImportLogEntity; +import com.glxp.sale.admin.req.basic.FilterUdiIpLogRequest; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface ThrCorpImportLogDao { + + List filterImportLog(FilterUdiIpLogRequest filterInCodeLogRequest); + + boolean insertImportLog(ThrCorpImportLogEntity thrCorpImportLogEntity); + + boolean updateImportLog(ThrCorpImportLogEntity thrCorpImportLogEntity); + + boolean deleteById(@Param("id") String id); + +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/dao/thrsys/ThrImportLogDao.java b/api-admin/src/main/java/com/glxp/sale/admin/dao/thrsys/ThrImportLogDao.java new file mode 100644 index 0000000..d6bc4b3 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/dao/thrsys/ThrImportLogDao.java @@ -0,0 +1,23 @@ +package com.glxp.sale.admin.dao.thrsys; + +import com.glxp.sale.admin.entity.thrsys.ThrImportLogEntity; +import com.glxp.sale.admin.entity.thrsys.ThrOrderImportLogEntity; +import com.glxp.sale.admin.req.basic.FilterUdiIpLogRequest; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface ThrImportLogDao { + + List filterImportLog(FilterUdiIpLogRequest filterInCodeLogRequest); + + boolean insertImportLog(ThrImportLogEntity thrOrderImportLogEntity); + + boolean updateImportLog(ThrImportLogEntity thrOrderImportLogEntity); + + boolean deleteById(@Param("id") String id); + + +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/dao/thrsys/UdplatGoodsMapper.java b/api-admin/src/main/java/com/glxp/sale/admin/dao/thrsys/UdplatGoodsMapper.java new file mode 100644 index 0000000..3d4540a --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/dao/thrsys/UdplatGoodsMapper.java @@ -0,0 +1,22 @@ +package com.glxp.sale.admin.dao.thrsys; + +import com.glxp.sale.admin.entity.thrsys.UdplatGoods; +import com.glxp.sale.admin.req.thrsys.BaseParam; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface UdplatGoodsMapper { + int deleteByPrimaryKey(Long id); + + int insert(UdplatGoods record); + + UdplatGoods selectByGoodId(String projectGoodsCode); + + List selectAll(); + + int update(UdplatGoods record); + + List list(BaseParam param); +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/dao/thrsys/UdplatLogMapper.java b/api-admin/src/main/java/com/glxp/sale/admin/dao/thrsys/UdplatLogMapper.java new file mode 100644 index 0000000..96e1b09 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/dao/thrsys/UdplatLogMapper.java @@ -0,0 +1,23 @@ +package com.glxp.sale.admin.dao.thrsys; + +import com.glxp.sale.admin.entity.thrsys.UdplatLog; +import com.glxp.sale.admin.req.thrsys.JobLogFilterRequest; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface UdplatLogMapper { + int deleteByPrimaryKey(Integer id); + + int insert(UdplatLog record); + + UdplatLog selectByPrimaryKey(Integer id); + + List selectAll(); + + int updateByPrimaryKey(UdplatLog record); + + List list(JobLogFilterRequest jobLogFilterRequest); + +} \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/BasicThirdSysDetailEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/BasicThirdSysDetailEntity.java index 9204712..5c5db68 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/BasicThirdSysDetailEntity.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/BasicThirdSysDetailEntity.java @@ -11,10 +11,21 @@ public class BasicThirdSysDetailEntity { private Boolean enabled; private Boolean itrCache; private String guideUrl; + private String thridUrl; private String remark; private String thirdSysFk; private String name; private Integer fromType; + private String localAction; + private String thirdAction; + public String getValue() { + if (value == null) + return null; + else if (thridUrl != null) + return thridUrl + value; + else + return value; + } } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/BasicUnitMaintainEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/BasicUnitMaintainEntity.java index a15e386..ed955d6 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/BasicUnitMaintainEntity.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/BasicUnitMaintainEntity.java @@ -31,5 +31,7 @@ public class BasicUnitMaintainEntity { private String thirdName4; private Date updateTime; + private int corpType; + } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/BussinessChangeTypeEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/BussinessChangeTypeEntity.java new file mode 100644 index 0000000..0dd6e1b --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/BussinessChangeTypeEntity.java @@ -0,0 +1,24 @@ +package com.glxp.sale.admin.entity.basic; + +import lombok.Data; + +@Data +public class BussinessChangeTypeEntity { + + + private Integer id; + private String intro; + private String action; + private String scAction; + private Integer index; + private Integer beforeTime; + private String remark; + private String name; + + + public Integer getBeforeTime() { + if (beforeTime == null) + return 0; + return beforeTime; + } +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/BussinessLocalTypeEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/BussinessLocalTypeEntity.java index c3421ef..0163bc0 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/BussinessLocalTypeEntity.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/BussinessLocalTypeEntity.java @@ -13,6 +13,9 @@ public class BussinessLocalTypeEntity { private String localName; private String remark; private Boolean enable; - + private Boolean checkEnable; + private Boolean advanceType; + private Boolean changeEnable; + private Boolean spUse; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/BussinessTypeEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/BussinessTypeEntity.java index 9c31524..d4089af 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/BussinessTypeEntity.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/BussinessTypeEntity.java @@ -13,5 +13,27 @@ public class BussinessTypeEntity { private String thirdSysFk; private String localAction; private String localName; + private Boolean checkEnable; + private boolean advanceType; + private boolean genUnit; + private boolean innerOrder; + private boolean secCheckEnable; + private Boolean spUse; + + private Integer index; + private boolean checkUdims; + private boolean checkPdaEd; + private boolean checkPdaUn; + private boolean checkPc; + private boolean checkWebNew; + private boolean checkChange; + + private boolean secCheckUdims; + private boolean secCheckPdaEd; + private boolean secCheckPdaUn; + private boolean secCheckPc; + private boolean secCheckWebNew; + private boolean secCheckChange; + } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/StockPrintEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/StockPrintEntity.java index 2c40423..acddd52 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/StockPrintEntity.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/StockPrintEntity.java @@ -2,10 +2,11 @@ package com.glxp.sale.admin.entity.basic; import lombok.Data; +import java.io.Serializable; import java.util.Date; @Data -public class StockPrintEntity { +public class StockPrintEntity implements Serializable { private Integer id; private String udiRlIdFk; private String udiCode; @@ -33,4 +34,6 @@ public class StockPrintEntity { private String sOrderId; private String sDetailId; private Date updateTime; + private Integer count; + private String corpName; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/StockPrinttREntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/StockPrinttREntity.java index 5dca39f..d7b91f0 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/StockPrinttREntity.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/StockPrinttREntity.java @@ -4,7 +4,7 @@ import java.util.Date; public class StockPrinttREntity { - private int id; + private Integer id; private String udiRlIdFk; private String udiCode; private String nameCode; @@ -33,11 +33,11 @@ public class StockPrinttREntity { private Date updateTime; - public int getId() { + public Integer getId() { return id; } - public void setId(int id) { + public void setId(Integer id) { this.id = id; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/UdiInfoEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/UdiInfoEntity.java index b2dd59b..90453b9 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/UdiInfoEntity.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/UdiInfoEntity.java @@ -1,6 +1,8 @@ package com.glxp.sale.admin.entity.basic; +import lombok.Data; +@Data public class UdiInfoEntity { private Integer id; @@ -46,7 +48,10 @@ public class UdiInfoEntity { private String code; private Integer count; private String warehouseCode; - + private String udplatCode; + private String relId;//关联ID主键 + private Integer status; + private String supId; private Boolean isCheck; diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/UdiInfoImportDetailEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/UdiInfoImportDetailEntity.java index 0b5b946..c2a5b76 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/UdiInfoImportDetailEntity.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/UdiInfoImportDetailEntity.java @@ -17,6 +17,7 @@ public class UdiInfoImportDetailEntity { private String thirdId4; private String thirdId; private Integer status; + private String isUseDy; private Date updateTime; private String remark; private String genKeyFk; diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/UdiRelevanceEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/UdiRelevanceEntity.java index fb9d366..7009a89 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/UdiRelevanceEntity.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/UdiRelevanceEntity.java @@ -28,6 +28,12 @@ public class UdiRelevanceEntity { private String mainId; private String mainName; private Integer lockStatus; + private String udplatCode; + private Boolean isAdavence; - + public Integer getLockStatus() { + if (lockStatus == null) + return 1; + return lockStatus; + } } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/ErpOrderEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/ErpOrderEntity.java index e1c0b8c..040c1a4 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/ErpOrderEntity.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/ErpOrderEntity.java @@ -39,6 +39,8 @@ public class ErpOrderEntity { private Integer erpCount; private Integer reCount; private String uuidFk; + private String supId; + private Integer bindSupStatus; private String nameCode; diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/OrderEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/OrderEntity.java index cad4ce4..fc79b87 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/OrderEntity.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/OrderEntity.java @@ -9,19 +9,29 @@ public class OrderEntity { private String corpOrderId; private String action; private String actDate; - private String fromCorpId; + private String actor; private String mainAction; + private String fromCorpId; private String fromCorp; private Integer status; - private Integer exportStatus; - private String fromType; + + private Integer fromType; private Integer contrastStatus; private String erpFk; private Integer signStatus; private String stockCheckFk; private String remark; - private int receiveStatus; + private Integer receiveStatus; + private String supId; + private String customerId; + + private Integer exportStatus; + private String exportFilePath; + private Integer dlCount; + + + } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/StockOrderDetailEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/StockOrderDetailEntity.java index 9600377..d7acdb4 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/StockOrderDetailEntity.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/StockOrderDetailEntity.java @@ -2,6 +2,8 @@ package com.glxp.sale.admin.entity.inout; import lombok.Data; +import java.math.BigDecimal; + @Data public class StockOrderDetailEntity { @@ -18,5 +20,6 @@ public class StockOrderDetailEntity { private String sweepCount; private String ylqxzcrbarmc; private String zczbhhzbapzbh; + private BigDecimal price; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/StockOrderEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/StockOrderEntity.java index 9e5292a..866466d 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/StockOrderEntity.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/StockOrderEntity.java @@ -1,12 +1,16 @@ package com.glxp.sale.admin.entity.inout; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; +import java.math.BigDecimal; + @Data public class StockOrderEntity { private String id; private String billNo; + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") private String billdate; private String corpId; private String corpName; @@ -20,4 +24,7 @@ public class StockOrderEntity { private String printStatus; private String unitIdFk; private String customerId; + private String thirdOrderFk; + private String orderIdFk; + private BigDecimal totalPrice; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/StockOrderPrintEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/StockOrderPrintEntity.java index 4c3305f..58d2b89 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/StockOrderPrintEntity.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/StockOrderPrintEntity.java @@ -2,9 +2,12 @@ package com.glxp.sale.admin.entity.inout; import lombok.Data; +import java.math.BigDecimal; + @Data public class StockOrderPrintEntity extends StockOrderDetailEntity { + private String id; private String billNo; private String billdate; @@ -20,4 +23,11 @@ public class StockOrderPrintEntity extends StockOrderDetailEntity { private String printStatus; private String unitIdFk; private String customerId; + private BigDecimal totalPrice; + private BigDecimal price; + private BigDecimal amount; + private String title; + private String zczbhhzbapzbh; + private String index; + private String totalPriceWord; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/StockOrderPrintResponse.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/StockOrderPrintResponse.java new file mode 100644 index 0000000..4ad3fd8 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/StockOrderPrintResponse.java @@ -0,0 +1,28 @@ +package com.glxp.sale.admin.entity.inout; + +import lombok.Data; + +import java.math.BigDecimal; +@Data +public class StockOrderPrintResponse { + private String id; + private String billNo; + private String billdate; + private String corpId; + private String corpName; + private String billType; + private String billFlag; + private String thirdSysFk; + private String status; + private String statusInfo; + private String type; + private String sourceType; + private String printStatus; + private String unitIdFk; + private String customerId; + private BigDecimal totalPrice; + private BigDecimal price; + private String title; + private String zczbhhzbapzbh; + private String index; +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/WarehouseEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/WarehouseEntity.java index 6f54341..d71f5eb 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/WarehouseEntity.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/WarehouseEntity.java @@ -24,4 +24,16 @@ public class WarehouseEntity { private String customerId; private String nameCode; + private String supId;//供应商ID + + private String relId; + private Integer status; + + public String getSupId() { + + if (supId == null) { + return fromCorpId; + } + return supId; + } } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/inventory/InvProductDetailEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/inventory/InvProductDetailEntity.java index ac1b1c3..14be7c2 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/entity/inventory/InvProductDetailEntity.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/inventory/InvProductDetailEntity.java @@ -15,4 +15,12 @@ public class InvProductDetailEntity { private String action; private Integer count; private Date updateTime; + private Integer purchaseType; + private String batchNo; + private String productionDate; + private String expireDate; + private String unitFk; + private String stockIdFk; + private String supId; + private String originCode; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/inventory/InvProductEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/inventory/InvProductEntity.java index e9ef366..3f400f0 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/entity/inventory/InvProductEntity.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/inventory/InvProductEntity.java @@ -18,6 +18,8 @@ public class InvProductEntity { private Integer outCount; private Integer reCount; private String customerId; + private String supId; + private String unitFk; public Integer getInCount() { if (inCount == null) diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/inventory/StockPrintTempEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/inventory/StockPrintTempEntity.java new file mode 100644 index 0000000..deb74f1 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/inventory/StockPrintTempEntity.java @@ -0,0 +1,16 @@ +package com.glxp.sale.admin.entity.inventory; + +import lombok.Data; + +@Data +public class StockPrintTempEntity { + + private Integer id; + private String fileName; + private String filePath; + private Integer status; + private String printCodeIdFk; + private String stockOrderFk; + private String genKey; + +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/param/SystemPDFModuleEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/param/SystemPDFModuleEntity.java index 69804d2..d6499ac 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/entity/param/SystemPDFModuleEntity.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/param/SystemPDFModuleEntity.java @@ -16,4 +16,5 @@ public class SystemPDFModuleEntity { private Date create_time; private Date update_time; private String templateDlUrl; + private Integer templateType; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/param/SystemPDFTemplateEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/param/SystemPDFTemplateEntity.java index fce4ea8..63db08f 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/entity/param/SystemPDFTemplateEntity.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/param/SystemPDFTemplateEntity.java @@ -18,4 +18,5 @@ public class SystemPDFTemplateEntity { private String remark; private Date create_time; private Date update_time; + private String jrxmlPath; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/DeliveryGoods.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/DeliveryGoods.java new file mode 100644 index 0000000..e70635a --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/DeliveryGoods.java @@ -0,0 +1,54 @@ +package com.glxp.sale.admin.entity.thrsys; + +import com.glxp.sale.common.annotation.Excel; +import lombok.Data; + +import java.util.Date; + +@Data +public class DeliveryGoods { + + private String deliveryGoodId;//配送目录ID/bigint + @Excel(name = "*采购平台产品ID") + private String projectGoodsCode;//联采目录编码/varchar(50) + private String deliveryGoodsCode;//配送目录编码/varchar(50) + private long manufactureId;//平台生产企业ID/bigint(20) + private String manufactureName;//平台生产企业名称/varchar(50) + private long distributorId; //平台配送企业ID/bigint(20) + private String distributorName;//平台配送企业名称/varchar(50) + @Excel(name = "产品名称") + private String productName; //产品通用名/varchar(255) + private Integer compId; //组件id/bigint + @Excel(name = "型号") + private String model;//型号/varchar(1000) + @Excel(name = "规格") + private String spec;//规格/varchar(1000) + @Excel(name = "材质") + private String prodMaterial;//材质/varchar(255) + @Excel(name = "包材") + private String packMaterial;//包材/varchar(255) + @Excel(name = "注册证编号") + private String regNum;//注册证编号/varchar(255) + @Excel(name = "注册证名称") + private String regName;//注册证名称/varchar(255) + @Excel(name = "注册证有效期截止时间") + private String regValidTo;//注册证有效期截止时间/varchar(255) + private long unionProjectId;//联采项目ID/bigint(20) + private String unionProjectName;//采购项目名称/varchar(255) + private double salePrice;//价格/decimal(18,4) + private String priceUnitText;//价格单位/varchar(100) + private double topSalePrice;//最高销售限价,可能为空/decimal(18,4) + private double settlePayPrice;//医保支付标准,可能为空/varchar(255) + private Integer goodsSource;//数据来源/int(11)(取值:1.集中采购 2.耗材联采 3.医院HIS/医疗机构新增 4.备案采购 9. 阳光采购10. 新型冠状病毒相关检测试剂省级集中采购14. 限新冠病毒核酸快速检测采购使用) + @Excel(name = "*缺货状态",convertExp="1=有货,2=缺货") + private String stockStatus;//缺货状态(1有货、2缺货)/int + @Excel(name = "更新内容") + private String changedContent;//更新内容 + @Excel(name = "更新时间") + private String changedTime;//更新时间 + private String proxyName;//申报企业名称/ varchar(50) + @Excel(name = "挂网状态") + private Integer onlineStatus;//挂网状态 1挂网2挂网状态为空 6 撤销申报 + @Excel(name = "医用耗材代码") + private String medicalCode;//医保编码 +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/HospitalGoods.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/HospitalGoods.java new file mode 100644 index 0000000..7b1ee66 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/HospitalGoods.java @@ -0,0 +1,55 @@ +package com.glxp.sale.admin.entity.thrsys; + +import com.glxp.sale.common.annotation.Excel; +import lombok.Data; + +import java.util.Date; + +@Data +public class HospitalGoods { + + private String deliveryGoodId;//配送目录ID/bigint + @Excel(name = "采购平台产品ID") + private String projectGoodsCode;//联采目录编码/varchar(50) + private String deliveryGoodsCode;//配送目录编码/varchar(50) + private long manufactureId;//平台生产企业ID/bigint(20) + @Excel(name = "生产企业") + private String manufactureName;//平台生产企业名称/varchar(50) + private long distributorId; //平台配送企业ID/bigint(20) + @Excel(name = "配送企业") + private String distributorName;//平台配送企业名称/varchar(50) + @Excel(name = "产品名称") + private String productName; //产品通用名/varchar(255) + private Integer compId; //组件id/bigint + @Excel(name = "型号") + private String model;//型号/varchar(1000) + @Excel(name = "规格") + private String spec;//规格/varchar(1000) + @Excel(name = "材质") + private String prodMaterial;//材质/varchar(255) + private String packMaterial;//包材/varchar(255) + @Excel(name = "注册证编号") + private String regNum;//注册证编号/varchar(255) + @Excel(name = "注册证名称") + private String regName;//注册证名称/varchar(255) + @Excel(name = "注册证有效期截止时间") + private String regValidTo;//注册证有效期截止时间/varchar(255) + private long unionProjectId;//联采项目ID/bigint(20) + private String unionProjectName;//采购项目名称/varchar(255) + @Excel(name = "企业报价(元)") + private double salePrice;//价格/decimal(18,4) + @Excel(name = "价格单位") + private String priceUnitText;//价格单位/varchar(100) + private double topSalePrice;//最高销售限价,可能为空/decimal(18,4) + private double settlePayPrice;//医保支付标准,可能为空/varchar(255) + private Integer goodsSource;//数据来源/int(11)(取值:1.集中采购 2.耗材联采 3.医院HIS/医疗机构新增 4.备案采购 9. 阳光采购10. 新型冠状病毒相关检测试剂省级集中采购14. 限新冠病毒核酸快速检测采购使用) + private String stockStatus;//缺货状态(1有货、2缺货)/int + @Excel(name = "更新内容") + private String changedContent;//更新内容 + @Excel(name = "更新时间") + private String changedTime;//更新时间 + private String proxyName;//申报企业名称/ varchar(50) + private Integer onlineStatus;//挂网状态 1挂网2挂网状态为空 6 撤销申报 + @Excel(name = "医用耗材代码") + private String medicalCode;//医保编码 +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/ThrCorpEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/ThrCorpEntity.java new file mode 100644 index 0000000..3c200d5 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/ThrCorpEntity.java @@ -0,0 +1,23 @@ +package com.glxp.sale.admin.entity.thrsys; + +import lombok.Data; + +import java.util.Date; + +@Data +public class ThrCorpEntity { + + private String id; + private String unitId; + private String name; + private String spell; + private String addr; + private String creditNo; + private String contact; + private String mobile; + private String thirdSysFk; + private Boolean checked; + private Date updateTime; + + +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/ThrCorpExportLogEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/ThrCorpExportLogEntity.java new file mode 100644 index 0000000..8fb7f35 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/ThrCorpExportLogEntity.java @@ -0,0 +1,17 @@ +package com.glxp.sale.admin.entity.thrsys; + +import lombok.Data; + +import java.util.Date; + +@Data +public class ThrCorpExportLogEntity { + private Integer id; + private String genKey; + private Integer status; + private Date updateTime; + private String remark; + private Integer dlCount; + private String filePath; + private Integer type; +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/ThrCorpImportDetailEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/ThrCorpImportDetailEntity.java new file mode 100644 index 0000000..7521831 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/ThrCorpImportDetailEntity.java @@ -0,0 +1,22 @@ +package com.glxp.sale.admin.entity.thrsys; + +import lombok.Data; + +import java.util.Date; + +@Data +public class ThrCorpImportDetailEntity { + + private String id; + private String unitId; + private String name; + private String spell; + private String addr; + private String creditNo; + private String contact; + private String mobile; + private String thirdSysFk; + private Date updateTime; + private String genKeyFk; + +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/ThrCorpImportLogEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/ThrCorpImportLogEntity.java new file mode 100644 index 0000000..34fa497 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/ThrCorpImportLogEntity.java @@ -0,0 +1,16 @@ +package com.glxp.sale.admin.entity.thrsys; + +import lombok.Data; + +import java.util.Date; + +@Data +public class ThrCorpImportLogEntity { + private Integer id; + private String genKey; + private Integer status; + private Date updateTime; + private String fromType; + private String thirdSysFk; + private String remark; +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/ThrImportLogEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/ThrImportLogEntity.java new file mode 100644 index 0000000..76c699b --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/ThrImportLogEntity.java @@ -0,0 +1,20 @@ +package com.glxp.sale.admin.entity.thrsys; + +import lombok.Data; + +import java.util.Date; + +@Data +public class ThrImportLogEntity { + + private Integer id; + private String genKey; + private Integer status; + private Integer importType; + private Date updateTime; + private String fromType; + private String thirdSysFk; + private String remark; + + +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/ThrProductsEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/ThrProductsEntity.java index fcc2409..ecd8562 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/ThrProductsEntity.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/ThrProductsEntity.java @@ -25,7 +25,7 @@ public class ThrProductsEntity { private String ylqxzcrbarywmc; private String cpms; private Date updateTime; - + private String supName; private boolean isChecked; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/ThrProductsImportDetailEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/ThrProductsImportDetailEntity.java index d908b95..d43e65a 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/ThrProductsImportDetailEntity.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/ThrProductsImportDetailEntity.java @@ -25,5 +25,6 @@ public class ThrProductsImportDetailEntity { private String ylqxzcrbarywmc; private String cpms; private Date updateTime; + private String supName; private String genKeyFk; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/UdplatGoods.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/UdplatGoods.java new file mode 100644 index 0000000..561ea7c --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/UdplatGoods.java @@ -0,0 +1,45 @@ +package com.glxp.sale.admin.entity.thrsys; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; + +@Data +public class UdplatGoods { + private Long id; + private String uuid; + private String deliveryGoodId;//配送目录ID/bigint + private String projectGoodsCode;//联采目录编码/varchar(50) + private String deliveryGoodsCode;//配送目录编码/varchar(50) + private Long manufactureId;//平台生产企业ID/bigint(20) + private String manufactureName;//平台生产企业名称/varchar(50) + private Long distributorId; //平台配送企业ID/bigint(20) + private String distributorName;//平台配送企业名称/varchar(50) + private String productName; //产品通用名/varchar(255) + private Integer compId; //组件id/bigint + private String model;//型号/varchar(1000) + private String spec;//规格/varchar(1000) + private String prodMaterial;//材质/varchar(255) + private String packMaterial;//包材/varchar(255) + private String regNum;//注册证编号/varchar(255) + private String regName;//注册证名称/varchar(255) + private String regValidTo;//注册证有效期截止时间/varchar(255) + private Long unionProjectId;//联采项目ID/bigint(20) + private String unionProjectName;//采购项目名称/varchar(255) + private double salePrice;//价格/decimal(18,4) + private String priceUnitText;//价格单位/varchar(100) + private double topSalePrice;//最高销售限价,可能为空/decimal(18,4) + private double settlePayPrice;//医保支付标准,可能为空/varchar(255) + private Integer goodsSource;//数据来源/int(11)(取值:1.集中采购 2.耗材联采 3.医院HIS/医疗机构新增 4.备案采购 9. 阳光采购10. 新型冠状病毒相关检测试剂省级集中采购14. 限新冠病毒核酸快速检测采购使用) + private String stockStatus;//缺货状态(1有货、2缺货)/int + private String changedContent;//更新内容 + private String changedTime;//更新时间 + private String proxyName;//申报企业名称/ varchar(50) + private Integer onlineStatus;//挂网状态 1挂网2挂网状态为空 6 撤销申报 + private String medicalCode;//医保编码 + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") + private Date createTime;//创建时间 + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") + private Date updateTime;//最后更新时间 +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/UdplatLog.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/UdplatLog.java new file mode 100644 index 0000000..8171958 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/UdplatLog.java @@ -0,0 +1,64 @@ +package com.glxp.sale.admin.entity.thrsys; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; + +/** + * 阳光采购平台日志 + * + * @author hong + * @date 2022/01/19 + */ +@Data +public class UdplatLog { + /** + * + */ + private Integer id; + + /** + * 类型: error; info; warning ... + */ + private String type; + + /** + * 下载类型:auto(自动下载),manual(手动下载),import 接口导入 + */ + private String downloadType; + + /** + * 表名 + */ + private String tbName; + + /** + * 日期 + */ + @JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8") + private Date actionDate; + + /** + * 更新行数 + */ + private Integer totalCount; + + /** + * 提示信息 + */ + private String msg; + + /** + * 创建时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") + private Date createTime; + + /** + * 内容 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") + private String content; + +} \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/sale/admin/httpclient/ErpBasicClient.java b/api-admin/src/main/java/com/glxp/sale/admin/httpclient/ErpBasicClient.java index 455719c..1fba032 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/httpclient/ErpBasicClient.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/httpclient/ErpBasicClient.java @@ -28,7 +28,10 @@ public class ErpBasicClient { paramMap.put("key", unitMaintainFilterRequest.getKey()); paramMap.put("page", unitMaintainFilterRequest.getPage()); paramMap.put("limit", unitMaintainFilterRequest.getLimit()); - String response = HttpClient.mipsGet(url, paramMap); + + + String response = HttpClient.uCloudPost(url, unitMaintainFilterRequest); +// String response = HttpClient.mipsGet(url, paramMap); try { BaseResponse> udiDlDeviceResponse = JSONObject.parseObject(response, new TypeReference>>() { @@ -48,7 +51,8 @@ public class ErpBasicClient { paramMap.put("limit", filterErpGoodsRequest.getLimit()); paramMap.put("page", filterErpGoodsRequest.getPage()); - String response = HttpClient.mipsGet(url, paramMap); +// String response = HttpClient.mipsGet(url, paramMap); + String response = HttpClient.uCloudPost(url, filterErpGoodsRequest); try { BaseResponse> udiDlDeviceResponse = JSONObject.parseObject(response, new TypeReference>>() { diff --git a/api-admin/src/main/java/com/glxp/sale/admin/httpclient/ErpOrderClient.java b/api-admin/src/main/java/com/glxp/sale/admin/httpclient/ErpOrderClient.java index 8bc27a6..3db9948 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/httpclient/ErpOrderClient.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/httpclient/ErpOrderClient.java @@ -62,8 +62,8 @@ public class ErpOrderClient { paramMap.put("startDate", filterOrderRequest.getStartDate()); paramMap.put("endDate", filterOrderRequest.getEndDate()); - String response = ""; - response = HttpClient.mipsGet(url, paramMap); +// response = HttpClient.mipsGet(url, paramMap); + String response = HttpClient.uCloudPost(url, filterOrderRequest); try { BaseResponse> responseBaseResponse = JSONObject.parseObject(response, new TypeReference>>() { diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/auth/CustomerInfoFilterRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/auth/CustomerInfoFilterRequest.java index 7c9ef18..5ee63b4 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/req/auth/CustomerInfoFilterRequest.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/auth/CustomerInfoFilterRequest.java @@ -1,25 +1,13 @@ package com.glxp.sale.admin.req.auth; import com.glxp.sale.admin.req.ListPageRequest; +import lombok.Data; +@Data public class CustomerInfoFilterRequest extends ListPageRequest { private String customerName; private long customerId; + private String companyName; - public String getCustomerName() { - return customerName; - } - - public void setCustomerName(String customerName) { - this.customerName = customerName; - } - - public long getCustomerId() { - return customerId; - } - - public void setCustomerId(long customerId) { - this.customerId = customerId; - } } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/basic/BasicUnitMaintainFilterRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/basic/BasicUnitMaintainFilterRequest.java index 43a342d..ffe0395 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/req/basic/BasicUnitMaintainFilterRequest.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/basic/BasicUnitMaintainFilterRequest.java @@ -21,10 +21,10 @@ public class BasicUnitMaintainFilterRequest extends ListPageRequest { private String thirdId2; private String thirdId3; private String thirdId4; - + private String erpId; + private Integer corpType; private Boolean isDownThrSys; List thrCorpEntities; - } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/basic/BussinessLocalTypeFilterRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/basic/BussinessLocalTypeFilterRequest.java index e42acea..bea3007 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/req/basic/BussinessLocalTypeFilterRequest.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/basic/BussinessLocalTypeFilterRequest.java @@ -11,5 +11,7 @@ public class BussinessLocalTypeFilterRequest extends ListPageRequest { private String mainAction; private Boolean enabled; private String originAction; + private Boolean changeEnable; + private Boolean spUse; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/basic/BussinessTypeFilterRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/basic/BussinessTypeFilterRequest.java index 47c6424..60fa9f4 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/req/basic/BussinessTypeFilterRequest.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/basic/BussinessTypeFilterRequest.java @@ -10,5 +10,9 @@ public class BussinessTypeFilterRequest extends ListPageRequest { private String name; private String mainAction; private Boolean enabled; - + private Boolean checkEnable; + private Boolean advanceType; + private String type; + private Boolean spUse; + private Boolean secCheckEnable; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/basic/CompanyProductRelevanceRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/basic/CompanyProductRelevanceRequest.java index 3d3bd0e..bb909c0 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/req/basic/CompanyProductRelevanceRequest.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/basic/CompanyProductRelevanceRequest.java @@ -41,5 +41,7 @@ public class CompanyProductRelevanceRequest extends ListPageRequest { private String auditStatus; - private String customerName; + private String companyName; + private Integer lockStatus; + private Boolean isAdavence; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/basic/FilterUdiInfoRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/basic/FilterUdiInfoRequest.java index cb7a2af..4ea660d 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/req/basic/FilterUdiInfoRequest.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/basic/FilterUdiInfoRequest.java @@ -39,6 +39,9 @@ public class FilterUdiInfoRequest extends ListPageRequest { private Integer lockStatus; private String customerId; + private String udplatCode; + private String mainId; + private Boolean isAdavence; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/basic/FilterUdiIpLogRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/basic/FilterUdiIpLogRequest.java index 849e267..149e9db 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/req/basic/FilterUdiIpLogRequest.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/basic/FilterUdiIpLogRequest.java @@ -12,4 +12,5 @@ public class FilterUdiIpLogRequest extends ListPageRequest { private Integer status; private String thirdSysFk; private String fromType; + private Integer importType; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/info/FilterCompanyProductRelevanceRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/info/FilterCompanyProductRelevanceRequest.java index c2a1da5..a71e1ab 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/req/info/FilterCompanyProductRelevanceRequest.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/info/FilterCompanyProductRelevanceRequest.java @@ -9,4 +9,5 @@ public class FilterCompanyProductRelevanceRequest extends ListPageRequest { private Long customerId; private Long productId; private String productUuid; + private String udiRlIdFk; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/inout/AddOrderRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/inout/AddOrderRequest.java index ee486d6..3f4dce6 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/req/inout/AddOrderRequest.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/inout/AddOrderRequest.java @@ -14,7 +14,7 @@ public class AddOrderRequest { private String action; private String fromCorpId; private String fromCorp; - private String fromType; + private Integer fromType; private String actDate; private String billType; diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/inout/FilterOrderRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/inout/FilterOrderRequest.java index d0dd496..57c5362 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/req/inout/FilterOrderRequest.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/inout/FilterOrderRequest.java @@ -16,5 +16,6 @@ public class FilterOrderRequest { private Integer page; private String originType; private String customerId; + private String status; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/inout/OrderFilterRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/inout/OrderFilterRequest.java index 9d2ad50..25b0873 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/req/inout/OrderFilterRequest.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/inout/OrderFilterRequest.java @@ -22,4 +22,6 @@ public class OrderFilterRequest extends ListPageRequest { private Integer receiveStatus; private Integer statusOrOne; private String customerId; + + private String orderId;//业务单据ID,手持终端上传上来的 } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/inout/PostOrderRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/inout/PostOrderRequest.java index 36baa83..34b0662 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/req/inout/PostOrderRequest.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/inout/PostOrderRequest.java @@ -10,6 +10,7 @@ public class PostOrderRequest { List postOrders; int submitType;//0:提交,1:保存 String oldOrderId;//保存再编辑后再保存或提交,根据旧id删除旧数据。 + private String customerId; public List getPostOrder() { return postOrders; diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/inout/StockOrderDetailFilterRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/inout/StockOrderDetailFilterRequest.java index 5b33614..f0d648d 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/req/inout/StockOrderDetailFilterRequest.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/inout/StockOrderDetailFilterRequest.java @@ -3,6 +3,8 @@ package com.glxp.sale.admin.req.inout; import com.glxp.sale.admin.req.ListPageRequest; import lombok.Data; +import java.math.BigDecimal; + @Data public class StockOrderDetailFilterRequest extends ListPageRequest { @@ -19,5 +21,6 @@ public class StockOrderDetailFilterRequest extends ListPageRequest { private String sweepCount; private String ylqxzcrbarmc; private String zczbhhzbapzbh; + private BigDecimal price; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/inout/StockOrderFilterRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/inout/StockOrderFilterRequest.java index ae32259..5bfd962 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/req/inout/StockOrderFilterRequest.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/inout/StockOrderFilterRequest.java @@ -3,6 +3,8 @@ package com.glxp.sale.admin.req.inout; import com.glxp.sale.admin.req.ListPageRequest; import lombok.Data; +import java.math.BigDecimal; + @Data public class StockOrderFilterRequest extends ListPageRequest { @@ -24,4 +26,7 @@ public class StockOrderFilterRequest extends ListPageRequest { private String customerId; private String startTime; //起始日期 private String endTime; //结束日期 + private String thirdOrderFk; + private String orderIdFk; + private BigDecimal totalPrice; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/inout/StockOrderPostRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/inout/StockOrderPostRequest.java index b5c8860..57886be 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/req/inout/StockOrderPostRequest.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/inout/StockOrderPostRequest.java @@ -3,6 +3,7 @@ package com.glxp.sale.admin.req.inout; import com.glxp.sale.admin.entity.inout.StockOrderDetailEntity; import lombok.Data; +import java.math.BigDecimal; import java.util.List; @Data @@ -21,6 +22,7 @@ public class StockOrderPostRequest { private String type; private String sourceType; private String printStatus; + private BigDecimal price; private List subErpOrders; private String customerId; diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/inout/StockOrderQueryRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/inout/StockOrderQueryRequest.java index 5cce1fe..e066850 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/req/inout/StockOrderQueryRequest.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/inout/StockOrderQueryRequest.java @@ -5,5 +5,6 @@ import lombok.Data; @Data public class StockOrderQueryRequest extends ListPageRequest { - + private String thirdOrderFk; + private String billNo; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/inventory/DeleteStPrintTempRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/inventory/DeleteStPrintTempRequest.java new file mode 100644 index 0000000..0fc86c7 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/inventory/DeleteStPrintTempRequest.java @@ -0,0 +1,11 @@ +package com.glxp.sale.admin.req.inventory; + +import lombok.Data; + +@Data +public class DeleteStPrintTempRequest { + private String printCodeIdFk; + private String stockOrderFk; + private Integer id; + private String genKey; +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/inventory/FilterCodeTraceRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/inventory/FilterCodeTraceRequest.java new file mode 100644 index 0000000..f8c4d2f --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/inventory/FilterCodeTraceRequest.java @@ -0,0 +1,9 @@ +package com.glxp.sale.admin.req.inventory; + +import lombok.Data; + +@Data +public class FilterCodeTraceRequest { + private String code; + private String supId; +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/inventory/FilterInvProductDetailRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/inventory/FilterInvProductDetailRequest.java index bfdf2ef..55c3edc 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/req/inventory/FilterInvProductDetailRequest.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/inventory/FilterInvProductDetailRequest.java @@ -13,4 +13,14 @@ public class FilterInvProductDetailRequest extends ListPageRequest { private String mainAction; private String action; private Integer count; + + private Integer purchaseType; + private String batchNo; + private String productionDate; + private String expireDate; + private String unitFk; + private String stockIdFk; + private String supId; + private String originCode; + } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/inventory/FilterInvProductRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/inventory/FilterInvProductRequest.java index 66153dc..59af3fa 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/req/inventory/FilterInvProductRequest.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/inventory/FilterInvProductRequest.java @@ -18,6 +18,6 @@ public class FilterInvProductRequest extends ListPageRequest { private String zczbhhzbapzbh; private String customerId; private String productsName; - - + private String supId; + private String unitFk; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/inventory/FilterStPrintTempRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/inventory/FilterStPrintTempRequest.java new file mode 100644 index 0000000..eb1a672 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/inventory/FilterStPrintTempRequest.java @@ -0,0 +1,12 @@ +package com.glxp.sale.admin.req.inventory; + +import com.glxp.sale.admin.req.ListPageRequest; +import com.lowagie.text.List; +import lombok.Data; + +@Data +public class FilterStPrintTempRequest extends ListPageRequest { + private Integer id; + private Integer printCodeIdFk; + private Integer stockOrderFk; +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/itextpdf/InspectionPDFTemplateRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/itextpdf/InspectionPDFTemplateRequest.java index e966736..01930ee 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/req/itextpdf/InspectionPDFTemplateRequest.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/itextpdf/InspectionPDFTemplateRequest.java @@ -10,7 +10,6 @@ public class InspectionPDFTemplateRequest { private String id; private int type; private int module; - private String orderId; private Long customerId; diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/itextpdf/PdfPrintCountEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/req/itextpdf/PdfPrintCountEntity.java new file mode 100644 index 0000000..38287ef --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/itextpdf/PdfPrintCountEntity.java @@ -0,0 +1,10 @@ +package com.glxp.sale.admin.req.itextpdf; + +import lombok.Data; + +@Data +public class PdfPrintCountEntity { + + private String queryId; + private Integer rowCount; +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/itextpdf/StockQRCodeTextPDFTemplateRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/itextpdf/StockQRCodeTextPDFTemplateRequest.java index 70c1b66..2bebcc5 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/req/itextpdf/StockQRCodeTextPDFTemplateRequest.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/itextpdf/StockQRCodeTextPDFTemplateRequest.java @@ -2,10 +2,13 @@ package com.glxp.sale.admin.req.itextpdf; import lombok.Data; +import java.util.List; + @Data public class StockQRCodeTextPDFTemplateRequest { private String id; + private String queryId; private String orderId; private String billNo; private String detailId; @@ -16,4 +19,5 @@ public class StockQRCodeTextPDFTemplateRequest { private String path; private int rowCount; private int qrcodeCount; + private List countList; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/param/SystemPDFModuleSaveRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/param/SystemPDFModuleSaveRequest.java index e0c2a44..39ce96b 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/req/param/SystemPDFModuleSaveRequest.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/param/SystemPDFModuleSaveRequest.java @@ -16,4 +16,5 @@ public class SystemPDFModuleSaveRequest { private Date create_time; private Date update_time; private String templateDlUrl; + private Integer templateType; } \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/param/SystemPDFTemplateRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/param/SystemPDFTemplateRequest.java index a8cabfc..c4ca2a2 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/req/param/SystemPDFTemplateRequest.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/param/SystemPDFTemplateRequest.java @@ -12,10 +12,11 @@ public class SystemPDFTemplateRequest extends ListPageRequest { private int id; private String name; - private int type; - private int module; + private Integer type; + private Integer module; private String param; private String path; + private String jrxmlPath; private int rowCount; private int qrcodeCount; private String remark; diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/param/SystemPDFTemplateSaveRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/param/SystemPDFTemplateSaveRequest.java index fb010b0..03c94ee 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/req/param/SystemPDFTemplateSaveRequest.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/param/SystemPDFTemplateSaveRequest.java @@ -18,4 +18,5 @@ public class SystemPDFTemplateSaveRequest { private String remark; private Date create_time; private Date update_time; + private String jrxmlPath; } \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/thrsys/BaseParam.java b/api-admin/src/main/java/com/glxp/sale/admin/req/thrsys/BaseParam.java new file mode 100644 index 0000000..d45aac5 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/thrsys/BaseParam.java @@ -0,0 +1,12 @@ +package com.glxp.sale.admin.req.thrsys; + +import com.glxp.sale.admin.req.ListPageRequest; +import lombok.Data; + + +@Data +public class BaseParam extends ListPageRequest { + private String startDate;//开始日期 + private String endDate;//结束日期 + private String name;//名称,支持模糊查询 +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/thrsys/FilterThrCorpRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/thrsys/FilterThrCorpRequest.java new file mode 100644 index 0000000..d55d440 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/thrsys/FilterThrCorpRequest.java @@ -0,0 +1,16 @@ +package com.glxp.sale.admin.req.thrsys; + +import com.glxp.sale.admin.req.ListPageRequest; +import com.glxp.sale.admin.res.basic.ErpUnitsResponse; +import lombok.Data; + +import java.util.List; + +@Data +public class FilterThrCorpRequest extends ListPageRequest { + private String thirdSysFk; + private String thirdSys; + private String unitId; + private String name; + List thrCorpEntities; +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/thrsys/FilterThrOrderRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/thrsys/FilterThrOrderRequest.java index 31c7f62..9e16e5a 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/req/thrsys/FilterThrOrderRequest.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/thrsys/FilterThrOrderRequest.java @@ -19,6 +19,7 @@ public class FilterThrOrderRequest extends ListPageRequest { private String corpName; private String unitIdFk; private String originType; + private String status; private List erpOrderResponses; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/thrsys/FilterThrProductsRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/thrsys/FilterThrProductsRequest.java index d1b29b4..a4aa432 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/req/thrsys/FilterThrProductsRequest.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/thrsys/FilterThrProductsRequest.java @@ -17,4 +17,5 @@ public class FilterThrProductsRequest extends ListPageRequest { private String thirdSys; private String thirdSysFk; private String unionCode; + private String supName; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/thrsys/JobLogFilterRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/thrsys/JobLogFilterRequest.java new file mode 100644 index 0000000..a637e0b --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/thrsys/JobLogFilterRequest.java @@ -0,0 +1,12 @@ +package com.glxp.sale.admin.req.thrsys; + +import com.glxp.sale.admin.req.ListPageRequest; +import lombok.Data; + +@Data +public class JobLogFilterRequest extends ListPageRequest { + private String type; + private String downloadType; + private String startDate; + private String endDate; +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/thrsys/PostThrCorpRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/thrsys/PostThrCorpRequest.java new file mode 100644 index 0000000..97aeba9 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/thrsys/PostThrCorpRequest.java @@ -0,0 +1,14 @@ +package com.glxp.sale.admin.req.thrsys; + +import com.glxp.sale.admin.res.basic.ErpUnitsResponse; +import lombok.Data; + +import java.util.List; + +@Data +public class PostThrCorpRequest { + private String genKey; + private String thirdSys; + private String uploadType; + private List corps; +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/thrsys/ThrCorpExportRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/thrsys/ThrCorpExportRequest.java new file mode 100644 index 0000000..4ef9997 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/thrsys/ThrCorpExportRequest.java @@ -0,0 +1,18 @@ +package com.glxp.sale.admin.req.thrsys; + +import com.glxp.sale.admin.entity.thrsys.ThrCorpEntity; +import com.glxp.sale.admin.req.ListPageRequest; +import lombok.Data; + +import java.util.List; + +@Data +public class ThrCorpExportRequest extends ListPageRequest { + + private List thrCorpEntities; + private String thirdSysFk; + private String unitId; + private String thirdSys; + private String name; + +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/res/basic/BasicUnitMaintainResponse.java b/api-admin/src/main/java/com/glxp/sale/admin/res/basic/BasicUnitMaintainResponse.java index 527a966..fb2578d 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/res/basic/BasicUnitMaintainResponse.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/res/basic/BasicUnitMaintainResponse.java @@ -17,5 +17,5 @@ public class BasicUnitMaintainResponse { private String contact; private String mobile; private String thirdName; - + private String unitId; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/res/basic/BussinessTypResponse.java b/api-admin/src/main/java/com/glxp/sale/admin/res/basic/BussinessTypResponse.java index c753393..f26be9f 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/res/basic/BussinessTypResponse.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/res/basic/BussinessTypResponse.java @@ -16,5 +16,28 @@ public class BussinessTypResponse { private String thirdName; private Boolean enabled; private String localAction; + private Boolean checkEnable; //是否根据业务单据类型校验 + private Boolean advanceType; //是否预入库 + private Boolean changeEnable; + private Boolean genUnit; + private Boolean innerOrder; + private Boolean spUse; + private String localName; + private Boolean secCheckEnable; + + + private boolean checkUdims; + private boolean checkPdaEd; + private boolean checkPdaUn; + private boolean checkPc; + private boolean checkWebNew; + private boolean checkChange; + + private boolean secCheckUdims; + private boolean secCheckPdaEd; + private boolean secCheckPdaUn; + private boolean secCheckPc; + private boolean secCheckWebNew; + private boolean secCheckChange; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/res/basic/CompanyProductRelevanceResponse.java b/api-admin/src/main/java/com/glxp/sale/admin/res/basic/CompanyProductRelevanceResponse.java index ebc1916..9d8d5c6 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/res/basic/CompanyProductRelevanceResponse.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/res/basic/CompanyProductRelevanceResponse.java @@ -53,7 +53,9 @@ public class CompanyProductRelevanceResponse { private String auditStatus; private Boolean isLock; private Integer lockStatus; - private String customerName; + private String companyName; private String mainId; private String mainName; + private Boolean isAdavence; + } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/res/basic/ErpProductsResponse.java b/api-admin/src/main/java/com/glxp/sale/admin/res/basic/ErpProductsResponse.java index c7b028d..2e0c566 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/res/basic/ErpProductsResponse.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/res/basic/ErpProductsResponse.java @@ -21,7 +21,7 @@ public class ErpProductsResponse { private String ylqxzcrbarmc; private String ylqxzcrbarywmc; private String cpms; - + private String supName; //辅助字段 diff --git a/api-admin/src/main/java/com/glxp/sale/admin/res/basic/ErpUnitsResponse.java b/api-admin/src/main/java/com/glxp/sale/admin/res/basic/ErpUnitsResponse.java index 208686a..513875d 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/res/basic/ErpUnitsResponse.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/res/basic/ErpUnitsResponse.java @@ -12,4 +12,5 @@ public class ErpUnitsResponse { private String creditNo; private String contact; private String mobile; + private Boolean checked; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/res/basic/UdiRelevanceResponse.java b/api-admin/src/main/java/com/glxp/sale/admin/res/basic/UdiRelevanceResponse.java index 4ab4e9f..5602594 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/res/basic/UdiRelevanceResponse.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/res/basic/UdiRelevanceResponse.java @@ -54,6 +54,8 @@ public class UdiRelevanceResponse { private String mainId; private String mainName; private Integer lockStatus; + private String udplatCode; + private Boolean isAdavence; public int getBhzxxsbzsl() { if (bhzxxsbzsl == null || bhzxxsbzsl == 0) { diff --git a/api-admin/src/main/java/com/glxp/sale/admin/res/inout/StockOrderDetailResponse.java b/api-admin/src/main/java/com/glxp/sale/admin/res/inout/StockOrderDetailResponse.java index 19fc67e..e9b946b 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/res/inout/StockOrderDetailResponse.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/res/inout/StockOrderDetailResponse.java @@ -2,6 +2,8 @@ package com.glxp.sale.admin.res.inout; import lombok.Data; +import java.math.BigDecimal; + @Data public class StockOrderDetailResponse { @@ -20,4 +22,5 @@ public class StockOrderDetailResponse { private String sweepCount; private String ylqxzcrbarmc; private String zczbhhzbapzbh; + private BigDecimal price; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/res/inventory/InvProductDetailJoinResponse.java b/api-admin/src/main/java/com/glxp/sale/admin/res/inventory/InvProductDetailJoinResponse.java new file mode 100644 index 0000000..3832d02 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/res/inventory/InvProductDetailJoinResponse.java @@ -0,0 +1,26 @@ +package com.glxp.sale.admin.res.inventory; + +import lombok.Data; + +import java.util.Date; + +@Data +public class InvProductDetailJoinResponse { + private Integer id; + private String code; + private String productIdFk; + private String orderIdFk; + private String customerId; + private String mainAction; + private String action; + private Integer count; + private Date updateTime; + private Integer purchaseType; + private String batchNo; + private String productionDate; + private String expireDate; + private String unitFk; + private String stockIdFk; + private String fromCorpId; + private String fromCorp; +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/res/inventory/InvProductDetailResponse.java b/api-admin/src/main/java/com/glxp/sale/admin/res/inventory/InvProductDetailResponse.java new file mode 100644 index 0000000..30a2f05 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/res/inventory/InvProductDetailResponse.java @@ -0,0 +1,32 @@ +package com.glxp.sale.admin.res.inventory; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; + +@Data +public class InvProductDetailResponse { + + private Integer id; + private String code; + private String productIdFk; + private String orderIdFk; + private String customerId; + private String mainAction; + private String action; + private Integer count; + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date updateTime; + private Integer purchaseType; + private String batchNo; + private String productionDate; + private String expireDate; + private String unitFk; + private String stockIdFk; + private Integer inCount; + private Integer outCount; + private String mainActionStr; + private String originCode; + +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/res/inventory/InvProductPageRespnonse.java b/api-admin/src/main/java/com/glxp/sale/admin/res/inventory/InvProductPageRespnonse.java new file mode 100644 index 0000000..c1a5c47 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/res/inventory/InvProductPageRespnonse.java @@ -0,0 +1,11 @@ +package com.glxp.sale.admin.res.inventory; + +import com.glxp.sale.admin.res.PageSimpleResponse; +import lombok.Data; +import org.apache.poi.ss.formula.functions.T; +@Data +public class InvProductPageRespnonse extends PageSimpleResponse { + + private Boolean showSup; + +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/res/inventory/InvProductResponse.java b/api-admin/src/main/java/com/glxp/sale/admin/res/inventory/InvProductResponse.java index 1bc1217..8eb31c7 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/res/inventory/InvProductResponse.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/res/inventory/InvProductResponse.java @@ -18,6 +18,9 @@ public class InvProductResponse { private Integer outCount; private Integer reCount; private String customerId; + private String companyName; + private String supId; + private String unitFk; public Integer getInCount() { if (inCount == null) diff --git a/api-admin/src/main/java/com/glxp/sale/admin/res/inventory/InvProductStatResponse.java b/api-admin/src/main/java/com/glxp/sale/admin/res/inventory/InvProductStatResponse.java new file mode 100644 index 0000000..9aa2416 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/res/inventory/InvProductStatResponse.java @@ -0,0 +1,11 @@ +package com.glxp.sale.admin.res.inventory; + +import lombok.Data; + +@Data +public class InvProductStatResponse { + private int advanceCount; + private int commonCount; + private int inCount; + private int outCount; +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/res/param/SystemPDFModuleResponse.java b/api-admin/src/main/java/com/glxp/sale/admin/res/param/SystemPDFModuleResponse.java index 6c06c30..608d8b5 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/res/param/SystemPDFModuleResponse.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/res/param/SystemPDFModuleResponse.java @@ -17,4 +17,5 @@ public class SystemPDFModuleResponse { private Date update_time; private String templateDlUrl; private String templateName; + private Integer templateType; } \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/sale/admin/res/param/SystemPDFTemplateResponse.java b/api-admin/src/main/java/com/glxp/sale/admin/res/param/SystemPDFTemplateResponse.java index 2725b1b..3aee327 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/res/param/SystemPDFTemplateResponse.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/res/param/SystemPDFTemplateResponse.java @@ -18,4 +18,5 @@ public class SystemPDFTemplateResponse { private String remark; private Date create_time; private Date update_time; + private String jrxmlPath; } \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/auth/AuthAdminService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/auth/AuthAdminService.java index df63f19..bd7aa09 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/auth/AuthAdminService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/auth/AuthAdminService.java @@ -26,4 +26,6 @@ public interface AuthAdminService { boolean deleteById(Long id); + boolean deleteByCustomerId(Long customerId); + } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/auth/impl/AuthAdminServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/auth/impl/AuthAdminServiceImpl.java index 9f1e77e..bf693cc 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/auth/impl/AuthAdminServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/auth/impl/AuthAdminServiceImpl.java @@ -117,5 +117,10 @@ public class AuthAdminServiceImpl implements AuthAdminService { return authAdminDao.deleteById(id); } + @Override + public boolean deleteByCustomerId(Long customerId) { + return authAdminDao.deleteByCustomerId(customerId); + } + } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/basic/BasicUnitMaintainService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/basic/BasicUnitMaintainService.java index 83ae755..dea934f 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/basic/BasicUnitMaintainService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/basic/BasicUnitMaintainService.java @@ -26,6 +26,8 @@ public interface BasicUnitMaintainService { BasicUnitMaintainEntity selectById(String id); + BasicUnitMaintainEntity selectByErpId(String id); + BasicUnitMaintainEntity selectByName(String name); boolean isExit(); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/basic/BussinessChangeTypeService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/basic/BussinessChangeTypeService.java new file mode 100644 index 0000000..81f3392 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/basic/BussinessChangeTypeService.java @@ -0,0 +1,22 @@ +package com.glxp.sale.admin.service.basic; + +import com.glxp.sale.admin.entity.basic.BussinessChangeTypeEntity; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface BussinessChangeTypeService { + + List findByAction(String action); + + BussinessChangeTypeEntity findByName(String name); + + public BussinessChangeTypeEntity findFirstByAction(String action); + + boolean updateBusChangeType(BussinessChangeTypeEntity bussinessTypeEntity); + + boolean insertBusChangeTypee(BussinessChangeTypeEntity bussinessTypeEntity); + + boolean deleteById(String id); + +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/basic/BussinessTypeService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/basic/BussinessTypeService.java index 34f095f..841c6fa 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/basic/BussinessTypeService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/basic/BussinessTypeService.java @@ -23,6 +23,8 @@ public interface BussinessTypeService { boolean insertBussinessType(BussinessTypeEntity bussinessTypeEntity); + boolean insertIgnoreBussinessType(BussinessTypeEntity bussinessTypeEntity); + boolean updateBussinessType(BussinessTypeEntity bussinessTypeEntity); boolean deleteById(String id); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/basic/UdiRelevanceService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/basic/UdiRelevanceService.java index b97f276..31296f7 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/basic/UdiRelevanceService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/basic/UdiRelevanceService.java @@ -15,6 +15,8 @@ public interface UdiRelevanceService { UdiRelevanceResponse selectByNameCode(String nameCode); + List selectAllByNameCode(String nameCode); + boolean isExit(); List filterUdiGp(FilterUdiInfoRequest filterUdiInfoRequest); @@ -31,6 +33,8 @@ public interface UdiRelevanceService { UdiRelevanceEntity selectUpdateByThirdId(String thirdId); + UdiRelevanceResponse selectByMainId(String mainId); + UdiRelevanceEntity selectUpteaByAll(String uuid, String thirdId); UdiRelevanceEntity selectByThirdId(String thirdId, String thirdSys); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/basic/impl/BasicUnitMaintainServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/basic/impl/BasicUnitMaintainServiceImpl.java index 7edd8e7..8fb48e8 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/basic/impl/BasicUnitMaintainServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/basic/impl/BasicUnitMaintainServiceImpl.java @@ -22,7 +22,7 @@ public class BasicUnitMaintainServiceImpl implements BasicUnitMaintainService { if (basicUnitMaintainFilterRequest == null) { return Collections.emptyList(); } - if(basicUnitMaintainFilterRequest.getPage()!=null){ + if (basicUnitMaintainFilterRequest.getPage() != null) { int offset = (basicUnitMaintainFilterRequest.getPage() - 1) * basicUnitMaintainFilterRequest.getLimit(); PageHelper.offsetPage(offset, basicUnitMaintainFilterRequest.getLimit()); } @@ -76,6 +76,16 @@ public class BasicUnitMaintainServiceImpl implements BasicUnitMaintainService { return basicUnitMaintainDao.selectById(id); } + @Override + public BasicUnitMaintainEntity selectByErpId(String id) { + BasicUnitMaintainFilterRequest filterUdiInfoRequest = new BasicUnitMaintainFilterRequest(); + filterUdiInfoRequest.setErpId(id); + List basicUnitMaintainEntities = basicUnitMaintainDao.filterList(filterUdiInfoRequest); + if (basicUnitMaintainEntities != null && basicUnitMaintainEntities.size() > 0) + return basicUnitMaintainEntities.get(0); + return null; + } + @Override public BasicUnitMaintainEntity selectByName(String name) { return basicUnitMaintainDao.selectByName(name); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/basic/impl/BussinessChangeTypeServiceaImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/basic/impl/BussinessChangeTypeServiceaImpl.java new file mode 100644 index 0000000..4b0575c --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/basic/impl/BussinessChangeTypeServiceaImpl.java @@ -0,0 +1,53 @@ +package com.glxp.sale.admin.service.basic.impl; + +import com.glxp.sale.admin.dao.basic.BussinessChangeTypeDao; +import com.glxp.sale.admin.entity.basic.BussinessChangeTypeEntity; +import com.glxp.sale.admin.entity.basic.BussinessTypeEntity; +import com.glxp.sale.admin.service.basic.BussinessChangeTypeService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +@Service +public class BussinessChangeTypeServiceaImpl implements BussinessChangeTypeService { + + @Resource + BussinessChangeTypeDao bussinessChangeTypeDao; + + @Override + public List findByAction(String action) { + List data = bussinessChangeTypeDao.findByAction(action); + return data; + } + + + @Override + public BussinessChangeTypeEntity findFirstByAction(String action) { + + List data = bussinessChangeTypeDao.findByAction(action); + if (data != null && data.size() > 0) + return data.get(0); + else return null; + } + + @Override + public BussinessChangeTypeEntity findByName(String name) { + return null; + } + + @Override + public boolean updateBusChangeType(BussinessChangeTypeEntity bussinessTypeEntity) { + return bussinessChangeTypeDao.updateBusChangeType(bussinessTypeEntity); + } + + @Override + public boolean insertBusChangeTypee(BussinessChangeTypeEntity bussinessTypeEntity) { + return bussinessChangeTypeDao.insertBusChangeTypee(bussinessTypeEntity); + } + + @Override + public boolean deleteById(String id) { + return bussinessChangeTypeDao.deleteById(id); + } +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/basic/impl/BussinessLocalTypeServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/basic/impl/BussinessLocalTypeServiceImpl.java index 1dfcd7b..8e9f7a2 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/basic/impl/BussinessLocalTypeServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/basic/impl/BussinessLocalTypeServiceImpl.java @@ -47,7 +47,7 @@ public class BussinessLocalTypeServiceImpl implements BussinessLocalTypeService public BussinessLocalTypeEntity findBTByAction(String action) { BussinessLocalTypeFilterRequest bussinessTypeFilterRequest = new BussinessLocalTypeFilterRequest(); bussinessTypeFilterRequest.setAction(action); - List data = bussinessLocalTypeDao.filterList(bussinessTypeFilterRequest); + List data = bussinessLocalTypeDao.filterJoin(bussinessTypeFilterRequest); if (data != null && data.size() > 0) { return data.get(0); } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/basic/impl/BussinessTypeServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/basic/impl/BussinessTypeServiceImpl.java index c508aba..7a7f93c 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/basic/impl/BussinessTypeServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/basic/impl/BussinessTypeServiceImpl.java @@ -97,6 +97,11 @@ public class BussinessTypeServiceImpl implements BussinessTypeService { return bussinessTypeDao.insertBussinessType(bussinessTypeEntity); } + @Override + public boolean insertIgnoreBussinessType(BussinessTypeEntity bussinessTypeEntity) { + return bussinessTypeDao.insertIgnoreBussinessType(bussinessTypeEntity); + } + @Override public boolean updateBussinessType(BussinessTypeEntity bussinessTypeEntity) { return bussinessTypeDao.updateBussinessType(bussinessTypeEntity); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/basic/impl/UdiRelevanceServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/basic/impl/UdiRelevanceServiceImpl.java index f11dce2..cd34f7f 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/basic/impl/UdiRelevanceServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/basic/impl/UdiRelevanceServiceImpl.java @@ -52,6 +52,14 @@ public class UdiRelevanceServiceImpl implements UdiRelevanceService { return null; } + @Override + public List selectAllByNameCode(String nameCode) { + FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); + filterUdiInfoRequest.setNameCode(nameCode); + List udiRelevanceResponses = filterUdiRelevance(filterUdiInfoRequest); + return udiRelevanceResponses; + } + @Override public boolean isExit() { FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); @@ -101,6 +109,7 @@ public class UdiRelevanceServiceImpl implements UdiRelevanceService { public UdiRelevanceResponse selectGroupById(String id) { FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); filterUdiInfoRequest.setId(id); + filterUdiInfoRequest.setDiType(1); List data = udiRelevanceDao.filterUdiRelevance(filterUdiInfoRequest); if (data != null && data.size() > 0) return data.get(0); @@ -141,6 +150,16 @@ public class UdiRelevanceServiceImpl implements UdiRelevanceService { return null; } + @Override + public UdiRelevanceResponse selectByMainId(String mainId) { + FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); + filterUdiInfoRequest.setMainId(mainId); + List udiRelevanceResponses = filterUdiRelevance(filterUdiInfoRequest); + if (udiRelevanceResponses != null && udiRelevanceResponses.size() > 0) + return udiRelevanceResponses.get(0); + return null; + } + @Override public UdiRelevanceEntity selectUpteaByAll(String uuid, String thirdId) { FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/info/CompanyProductRelevanceService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/info/CompanyProductRelevanceService.java index a54756a..4275389 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/info/CompanyProductRelevanceService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/info/CompanyProductRelevanceService.java @@ -19,7 +19,7 @@ public interface CompanyProductRelevanceService { CompanyProductRelevanceEntity findCompanyProductRelevanceByProductId(String productId); - CompanyProductRelevanceEntity findCompanyProductRelevanceByUdiRlIdFk(String udiRlIdFk,String customerId); + CompanyProductRelevanceEntity findCompanyProductRelevanceByUdiRlIdFk(String udiRlIdFk, String customerId); CompanyProductRelevanceEntity findCompanyProductRelevanceByProductUuid(CompanyProductRelevanceEntity companyProductRelevanceEntity); @@ -30,4 +30,6 @@ public interface CompanyProductRelevanceService { boolean insertCompanyProductRelevance(CompanyProductRelevanceEntity companyCertEntity); boolean deleteById(String id); + + boolean deleteByRlId(String id); } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/info/CompanyService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/info/CompanyService.java index 2af0918..1489c4b 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/info/CompanyService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/info/CompanyService.java @@ -23,4 +23,5 @@ public interface CompanyService { AliKeyEntity findKey(String customerId); + boolean deleteCompany(Long customerId); } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/info/impl/CompanyProductRelevanceServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/info/impl/CompanyProductRelevanceServiceImpl.java index 02f4966..d3c040d 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/info/impl/CompanyProductRelevanceServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/info/impl/CompanyProductRelevanceServiceImpl.java @@ -90,4 +90,9 @@ public class CompanyProductRelevanceServiceImpl implements CompanyProductRelevan public boolean deleteById(String id) { return companyProductRelevanceDao.deleteById(id); } + + @Override + public boolean deleteByRlId(String id) { + return companyProductRelevanceDao.deleteByRlId(id); + } } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/info/impl/CompanyServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/info/impl/CompanyServiceImpl.java index 436f683..db300df 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/info/impl/CompanyServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/info/impl/CompanyServiceImpl.java @@ -64,4 +64,9 @@ public class CompanyServiceImpl implements CompanyService { public AliKeyEntity findKey(String customerId) { return companyDao.findKey(customerId); } + + @Override + public boolean deleteCompany(Long customerId) { + return companyDao.deleteCompany(customerId); + } } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/CodesService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/CodesService.java index 62bf5ec..27a3f67 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/CodesService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/CodesService.java @@ -13,6 +13,7 @@ public interface CodesService { boolean insertWarehouses(List warehouseEntities); + boolean deleteByOrderId(String orderId); List findByNo(WarehouseQueryRequest warehouseQueryRequest); @@ -32,4 +33,10 @@ public interface CodesService { List searchCode(String code); boolean updateUnit(String orderId, String fromCorpId, String fromCorp); + + boolean updateCode(WarehouseEntity warehouseEntity); + + boolean updateRelId(String relId, String nameCode, String orderId); + + boolean updateSupId(String sup, String nameCode, String orderId); } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/CodesTempService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/CodesTempService.java index 6516c08..be66efc 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/CodesTempService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/CodesTempService.java @@ -13,6 +13,8 @@ public interface CodesTempService { int updateById(WarehouseEntity warehouseEntitie); + boolean updateOrderId(String oldOrderId, String newOrderId); + int deleteCodesTemp(List warehouseEntities); int deleteCodesTempById(WarehouseEntity warehouseEntitie); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/OrderDetailService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/OrderDetailService.java index 6dfa6ed..108275d 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/OrderDetailService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/OrderDetailService.java @@ -9,6 +9,8 @@ public interface OrderDetailService { List filterAllMyErpOrder(FilterErpOrderRequest filterErpOrderRequest); + List filterAllByOrderIdFk(String orderId); + List findByStockCheck(FilterErpOrderRequest filterErpOrderRequest); List filterMyErpOrder(FilterErpOrderRequest filterErpOrderRequest); @@ -33,7 +35,9 @@ public interface OrderDetailService { boolean deleteById(String id); - boolean deleteByPrimiyId( String id); + boolean deleteByPrimiyId(String id); boolean deleteByOrderId(String id); + + ErpOrderEntity findById(String id); } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/OrderService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/OrderService.java index 610f253..d03cf2c 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/OrderService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/OrderService.java @@ -4,6 +4,7 @@ import com.glxp.sale.admin.entity.inout.OrderEntity; import com.glxp.sale.admin.entity.inout.WarehouseEntity; import com.glxp.sale.admin.req.inout.OrderFilterRequest; import com.glxp.sale.admin.req.inout.OrderQueryRequest; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -47,5 +48,7 @@ public interface OrderService { List findCodesById(String orderId); + List filterListByOrder(List orderList); + List filterListByCode(List warehouseEntityList); } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/CodesServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/CodesServiceImpl.java index 3c6485f..bb7080c 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/CodesServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/CodesServiceImpl.java @@ -38,6 +38,11 @@ public class CodesServiceImpl implements CodesService { return codesDao.insertWarehouses(warehouseEntities); } + @Override + public boolean deleteByOrderId(String orderId) { + return codesDao.deleteByOrderId(orderId); + } + @Override public List findByNo(WarehouseQueryRequest warehouseQueryRequest) { @@ -109,4 +114,20 @@ public class CodesServiceImpl implements CodesService { public boolean updateUnit(String orderId, String fromCorpId, String fromCorp) { return codesDao.updateUnit(orderId, fromCorpId, fromCorp); } + + @Override + public boolean updateCode(WarehouseEntity warehouseEntity) { + return codesDao.updateCode(warehouseEntity); + } + + @Override + public boolean updateRelId(String relId, String nameCode, String orderId) { + return codesDao.updateRelId(relId, nameCode, orderId); + } + + @Override + public boolean updateSupId(String sup, String nameCode, String orderId) { + return codesDao.updateSupId(sup, nameCode, orderId); + } + } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/CodesTempServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/CodesTempServiceImpl.java index 96e6a54..264d7ce 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/CodesTempServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/CodesTempServiceImpl.java @@ -33,6 +33,11 @@ public class CodesTempServiceImpl implements CodesTempService { return codesTempDao.updateById(warehouseEntitie); } + @Override + public boolean updateOrderId(String oldOrderId, String newOrderId) { + return codesTempDao.updateOrderId(oldOrderId, newOrderId); + } + @Override public int deleteCodesTemp(List ids) { return codesTempDao.deleteCodesTemp(ids); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/OrderDetailServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/OrderDetailServiceImpl.java index ff0616f..6805aba 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/OrderDetailServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/OrderDetailServiceImpl.java @@ -26,6 +26,13 @@ public class OrderDetailServiceImpl implements OrderDetailService { return orderDetailDao.filterMyErpOrder(filterErpOrderRequest); } + @Override + public List filterAllByOrderIdFk(String orderId) { + FilterErpOrderRequest filterErpOrderRequest = new FilterErpOrderRequest(); + filterErpOrderRequest.setOrderIdFk(orderId); + return orderDetailDao.filterMyErpOrder(filterErpOrderRequest); + } + @Override public List findByStockCheck(FilterErpOrderRequest filterErpOrderRequest) { @@ -122,4 +129,8 @@ public class OrderDetailServiceImpl implements OrderDetailService { return orderDetailDao.deleteByOrderId(id); } + @Override + public ErpOrderEntity findById(String id) { + return orderDetailDao.findById(id); + } } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/OrderServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/OrderServiceImpl.java index fb2c19a..5903177 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/OrderServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/OrderServiceImpl.java @@ -145,6 +145,11 @@ public class OrderServiceImpl implements OrderService { return warehouseDao.findCodesById(orderId); } + @Override + public List filterListByOrder(List orderList) { + return orderDao.filterListByOrder(orderList); + } + @Override public List filterListByCode(List warehouseEntityList) { if (warehouseEntityList == null) { diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/InvPreProductDetailService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/InvPreProductDetailService.java new file mode 100644 index 0000000..9262c6a --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/InvPreProductDetailService.java @@ -0,0 +1,28 @@ +package com.glxp.sale.admin.service.inventory; + +import com.glxp.sale.admin.entity.inventory.InvProductDetailEntity; +import com.glxp.sale.admin.req.inventory.FilterInvProductDetailRequest; +import com.glxp.sale.admin.res.inventory.InvProductDetailJoinResponse; + +import java.util.List; + + +public interface InvPreProductDetailService { + + + List filterInvProduct(FilterInvProductDetailRequest filterInvProductDetailRequest); + + List filterJoinInvProduct(FilterInvProductDetailRequest filterInvProductDetailRequest); + + boolean insertInvProduct(InvProductDetailEntity invProductDetailEntity); + + boolean insertInvProducts(List invProductDetailEntitys); + + boolean updateInvProduct(InvProductDetailEntity invProductDetailEntity); + + boolean deleteById(String id); + + boolean deleteByProductId(FilterInvProductDetailRequest filterInvProductDetailRequest); + + int statCount(FilterInvProductDetailRequest filterInvProductDetailRequest); +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/InvPreProductService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/InvPreProductService.java new file mode 100644 index 0000000..ba08416 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/InvPreProductService.java @@ -0,0 +1,25 @@ +package com.glxp.sale.admin.service.inventory; + +import com.glxp.sale.admin.entity.inventory.InvProductEntity; +import com.glxp.sale.admin.req.inventory.FilterInvProductRequest; +import com.glxp.sale.admin.res.inventory.InvProductResponse; + +import java.util.List; + +public interface InvPreProductService { + + List filterInvProduct(FilterInvProductRequest filterInvProductRequest); + + List filterJoinInvProduct(FilterInvProductRequest filterInvProductRequest); + + InvProductEntity selectByUuid(String uuid, String batchNo,String supId); + + InvProductEntity selectById(String id); + + boolean insertInvProduct(InvProductEntity invProductEntity); + + boolean updateInvProduct(InvProductEntity invProductEntity); + + boolean deleteById(String id); + +} \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/InvProductDetailService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/InvProductDetailService.java index 8b79750..c911a54 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/InvProductDetailService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/InvProductDetailService.java @@ -2,6 +2,7 @@ package com.glxp.sale.admin.service.inventory; import com.glxp.sale.admin.entity.inventory.InvProductDetailEntity; import com.glxp.sale.admin.req.inventory.FilterInvProductDetailRequest; +import com.glxp.sale.admin.res.inventory.InvProductDetailJoinResponse; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Service; @@ -12,6 +13,8 @@ public interface InvProductDetailService { List filterInvProduct(FilterInvProductDetailRequest filterInvProductDetailRequest); + List filterJoinInvProduct(FilterInvProductDetailRequest filterInvProductDetailRequest); + boolean insertInvProduct(InvProductDetailEntity invProductDetailEntity); boolean insertInvProducts(List invProductDetailEntitys); @@ -20,5 +23,7 @@ public interface InvProductDetailService { boolean deleteById(String id); - boolean deleteByProductId(String productIdFk); + boolean deleteByProductId(FilterInvProductDetailRequest productIdFk); + + int statCount(FilterInvProductDetailRequest filterInvProductDetailRequest); } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/InvProductService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/InvProductService.java index 3bf50ce..69f7195 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/InvProductService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/InvProductService.java @@ -13,7 +13,7 @@ public interface InvProductService { List filterJoinInvProduct(FilterInvProductRequest filterInvProductRequest); - InvProductEntity selectByUuid(String uuid, String batchNo); + InvProductEntity selectByUuid(String uuid, String batchNo,String supId); InvProductEntity selectById(String id); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/InvStockPrintService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/InvStockPrintService.java index 0b2daec..3a224e4 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/InvStockPrintService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/InvStockPrintService.java @@ -10,6 +10,8 @@ public interface InvStockPrintService { List filterStockPrint(FilterStockprintRequest filterStockprintRequest); + List filterJoinStockPrint(FilterStockprintRequest filterStockprintRequest); + StockPrintEntity findByNameCode(String nameCode); StockPrintEntity selectById(String id); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/StockPrintTempService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/StockPrintTempService.java new file mode 100644 index 0000000..777b09e --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/StockPrintTempService.java @@ -0,0 +1,18 @@ +package com.glxp.sale.admin.service.inventory; + +import com.glxp.sale.admin.entity.inventory.StockPrintTempEntity; +import com.glxp.sale.admin.req.inventory.DeleteStPrintTempRequest; +import com.glxp.sale.admin.req.inventory.FilterStPrintTempRequest; + +import java.util.List; + +public interface StockPrintTempService { + + List filterStockPrintTempEntity(FilterStPrintTempRequest filterStockprintRequest); + + boolean deleteById(DeleteStPrintTempRequest deleteStPrintTempRequest); + + boolean insertStockPrintTempEntity(StockPrintTempEntity stockPrintEntity); + + boolean updateStockPrintTempEntity(StockPrintTempEntity stockPrintEntity); +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvPreProductDetailServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvPreProductDetailServiceImpl.java new file mode 100644 index 0000000..f05adad --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvPreProductDetailServiceImpl.java @@ -0,0 +1,79 @@ +package com.glxp.sale.admin.service.inventory.impl; + +import com.github.pagehelper.PageHelper; +import com.glxp.sale.admin.dao.inventory.InvPreProductDetailDao; +import com.glxp.sale.admin.dao.inventory.InvProductDetailDao; +import com.glxp.sale.admin.entity.inventory.InvProductDetailEntity; +import com.glxp.sale.admin.req.inventory.FilterInvProductDetailRequest; +import com.glxp.sale.admin.res.inventory.InvProductDetailJoinResponse; +import com.glxp.sale.admin.service.inventory.InvPreProductDetailService; +import com.glxp.sale.admin.service.inventory.InvProductDetailService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + + +@Service +public class InvPreProductDetailServiceImpl implements InvPreProductDetailService { + + @Resource + InvPreProductDetailDao invPreProductDetailDao; + + @Override + public List filterInvProduct(FilterInvProductDetailRequest filterInvProductDetailRequest) { + if (filterInvProductDetailRequest == null) { + return Collections.emptyList(); + } + if (filterInvProductDetailRequest.getPage() != null) { + int offset = (filterInvProductDetailRequest.getPage() - 1) * filterInvProductDetailRequest.getLimit(); + PageHelper.offsetPage(offset, filterInvProductDetailRequest.getLimit()); + } + List data = invPreProductDetailDao.filterInvProductDetail(filterInvProductDetailRequest); + return data; + } + + @Override + public List filterJoinInvProduct(FilterInvProductDetailRequest filterInvProductDetailRequest) { + if (filterInvProductDetailRequest == null) { + return Collections.emptyList(); + } + if (filterInvProductDetailRequest.getPage() != null) { + int offset = (filterInvProductDetailRequest.getPage() - 1) * filterInvProductDetailRequest.getLimit(); + PageHelper.offsetPage(offset, filterInvProductDetailRequest.getLimit()); + } + List data = invPreProductDetailDao.filterJoinInvProduct(filterInvProductDetailRequest); + return data; + } + + @Override + public boolean insertInvProduct(InvProductDetailEntity invProductDetailEntity) { + return invPreProductDetailDao.insertInvProductDetail(invProductDetailEntity); + } + + @Override + public boolean insertInvProducts(List invProductDetailEntitys) { + return invPreProductDetailDao.insertInvProductDetails(invProductDetailEntitys); + } + + @Override + public boolean updateInvProduct(InvProductDetailEntity invProductDetailEntity) { + return invPreProductDetailDao.updateInvProductDetail(invProductDetailEntity); + } + + @Override + public boolean deleteById(String id) { + return invPreProductDetailDao.deleteById(id); + } + + @Override + public boolean deleteByProductId(FilterInvProductDetailRequest filterInvProductDetailRequest) { + return invPreProductDetailDao.deleteByProductId(filterInvProductDetailRequest); + } + + @Override + public int statCount(FilterInvProductDetailRequest filterInvProductDetailRequest) { + return invPreProductDetailDao.statCount(filterInvProductDetailRequest); + } +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvPreProductServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvPreProductServiceImpl.java new file mode 100644 index 0000000..b73f170 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvPreProductServiceImpl.java @@ -0,0 +1,83 @@ +package com.glxp.sale.admin.service.inventory.impl; + +import com.github.pagehelper.PageHelper; +import com.glxp.sale.admin.dao.inventory.InvPreProductDao; +import com.glxp.sale.admin.dao.inventory.InvProductDao; +import com.glxp.sale.admin.dao.inventory.InvProductDetailDao; +import com.glxp.sale.admin.entity.inventory.InvProductEntity; +import com.glxp.sale.admin.req.inventory.FilterInvProductRequest; +import com.glxp.sale.admin.res.inventory.InvProductResponse; +import com.glxp.sale.admin.service.inventory.InvPreProductService; +import com.glxp.sale.admin.service.inventory.InvProductService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + + +@Service +public class InvPreProductServiceImpl implements InvPreProductService { + + @Resource + InvPreProductDao invPreProductDao; + + @Override + public List filterInvProduct(FilterInvProductRequest filterInvProductRequest) { + if (filterInvProductRequest == null) { + return Collections.emptyList(); + } + if (filterInvProductRequest.getPage() != null) { + int offset = (filterInvProductRequest.getPage() - 1) * filterInvProductRequest.getLimit(); + PageHelper.offsetPage(offset, filterInvProductRequest.getLimit()); + } + List data = invPreProductDao.filterInvProduct(filterInvProductRequest); + return data; + } + + @Override + public List filterJoinInvProduct(FilterInvProductRequest filterInvProductRequest) { + if (filterInvProductRequest == null) { + return Collections.emptyList(); + } + if (filterInvProductRequest.getPage() != null) { + int offset = (filterInvProductRequest.getPage() - 1) * filterInvProductRequest.getLimit(); + PageHelper.offsetPage(offset, filterInvProductRequest.getLimit()); + } + List data = invPreProductDao.filterJoinInvProduct(filterInvProductRequest); + return data; + } + + @Override + public InvProductEntity selectByUuid(String uuid, String batchNo, String supId) { + FilterInvProductRequest filterInvProductRequest = new FilterInvProductRequest(); + filterInvProductRequest.setRelIdFk(uuid); + filterInvProductRequest.setBatchNo(batchNo); + filterInvProductRequest.setSupId(supId); + List data = filterInvProduct(filterInvProductRequest); + if (data != null && data.size() > 0) { + return data.get(0); + } + return null; + } + + @Override + public InvProductEntity selectById(String id) { + return invPreProductDao.selectById(id); + } + + @Override + public boolean insertInvProduct(InvProductEntity invProductEntity) { + return invPreProductDao.insertInvProduct(invProductEntity); + } + + @Override + public boolean updateInvProduct(InvProductEntity invProductEntity) { + return invPreProductDao.updateInvProduct(invProductEntity); + } + + @Override + public boolean deleteById(String id) { + return invPreProductDao.deleteById(id); + } +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvProductDetailServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvProductDetailServiceImpl.java index 1f5e736..2b14883 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvProductDetailServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvProductDetailServiceImpl.java @@ -4,6 +4,7 @@ import com.github.pagehelper.PageHelper; import com.glxp.sale.admin.dao.inventory.InvProductDetailDao; import com.glxp.sale.admin.entity.inventory.InvProductDetailEntity; import com.glxp.sale.admin.req.inventory.FilterInvProductDetailRequest; +import com.glxp.sale.admin.res.inventory.InvProductDetailJoinResponse; import com.glxp.sale.admin.service.inventory.InvProductDetailService; import org.springframework.stereotype.Service; @@ -31,6 +32,20 @@ public class InvProductDetailServiceImpl implements InvProductDetailService { return data; } + @Override + public List filterJoinInvProduct(FilterInvProductDetailRequest filterInvProductDetailRequest) { + if (filterInvProductDetailRequest == null) { + return Collections.emptyList(); + } + if (filterInvProductDetailRequest.getPage() != null) { + int offset = (filterInvProductDetailRequest.getPage() - 1) * filterInvProductDetailRequest.getLimit(); + PageHelper.offsetPage(offset, filterInvProductDetailRequest.getLimit()); + } + List data = invProductDetailDao.filterJoinInvProduct(filterInvProductDetailRequest); + return data; + } + + @Override public boolean insertInvProduct(InvProductDetailEntity invProductDetailEntity) { return invProductDetailDao.insertInvProductDetail(invProductDetailEntity); @@ -52,7 +67,12 @@ public class InvProductDetailServiceImpl implements InvProductDetailService { } @Override - public boolean deleteByProductId(String productIdFk) { - return false; + public boolean deleteByProductId(FilterInvProductDetailRequest productIdFk) { + return invProductDetailDao.deleteByProductId(productIdFk); + } + + @Override + public int statCount(FilterInvProductDetailRequest filterInvProductDetailRequest) { + return invProductDetailDao.statCount(filterInvProductDetailRequest); } } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvProductServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvProductServiceImpl.java index 4c955ed..4e62f2e 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvProductServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvProductServiceImpl.java @@ -45,10 +45,11 @@ public class InvProductServiceImpl implements InvProductService { } @Override - public InvProductEntity selectByUuid(String uuid, String batchNo) { + public InvProductEntity selectByUuid(String uuid, String batchNo, String customerId) { FilterInvProductRequest filterInvProductRequest = new FilterInvProductRequest(); filterInvProductRequest.setRelIdFk(uuid); filterInvProductRequest.setBatchNo(batchNo); + filterInvProductRequest.setSupId(customerId); List data = filterInvProduct(filterInvProductRequest); if (data != null && data.size() > 0) { return data.get(0); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvStockPrintServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvStockPrintServiceImpl.java index 89cf195..da4a782 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvStockPrintServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvStockPrintServiceImpl.java @@ -23,12 +23,29 @@ public class InvStockPrintServiceImpl implements InvStockPrintService { if (filterStockprintRequest == null) { return Collections.emptyList(); } - int offset = (filterStockprintRequest.getPage() - 1) * filterStockprintRequest.getLimit(); - PageHelper.offsetPage(offset, filterStockprintRequest.getLimit()); + if(filterStockprintRequest.getPage()!=null){ + int offset = (filterStockprintRequest.getPage() - 1) * filterStockprintRequest.getLimit(); + PageHelper.offsetPage(offset, filterStockprintRequest.getLimit()); + } + List data = stockPrintDao.filterStockPrint(filterStockprintRequest); return data; } + @Override + public List filterJoinStockPrint(FilterStockprintRequest filterStockprintRequest) { + if (filterStockprintRequest == null) { + return Collections.emptyList(); + } + if(filterStockprintRequest.getPage()!=null){ + int offset = (filterStockprintRequest.getPage() - 1) * filterStockprintRequest.getLimit(); + PageHelper.offsetPage(offset, filterStockprintRequest.getLimit()); + } + + List data = stockPrintDao.filterJoinStockPrint(filterStockprintRequest); + return data; + } + @Override public StockPrintEntity findByNameCode(String nameCode) { String prefix = FilterUdiUtils.getDiStr(nameCode); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/StockPrintTempServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/StockPrintTempServiceImpl.java new file mode 100644 index 0000000..e4c3b7b --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/StockPrintTempServiceImpl.java @@ -0,0 +1,51 @@ +package com.glxp.sale.admin.service.inventory.impl; + +import com.github.pagehelper.PageHelper; +import com.glxp.sale.admin.dao.inventory.StockPrintTempDao; +import com.glxp.sale.admin.entity.basic.StockPrintEntity; +import com.glxp.sale.admin.entity.inventory.StockPrintTempEntity; +import com.glxp.sale.admin.req.inventory.DeleteStPrintTempRequest; +import com.glxp.sale.admin.req.inventory.FilterStPrintTempRequest; +import com.glxp.sale.admin.service.inventory.StockPrintTempService; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + +@Service +public class StockPrintTempServiceImpl implements StockPrintTempService { + + @Resource + StockPrintTempDao stockPrintTempDao; + + @Override + public List filterStockPrintTempEntity(FilterStPrintTempRequest filterStockprintRequest) { + if (filterStockprintRequest == null) { + return Collections.emptyList(); + } + if (filterStockprintRequest.getPage() != null) { + int offset = (filterStockprintRequest.getPage() - 1) * filterStockprintRequest.getLimit(); + PageHelper.offsetPage(offset, filterStockprintRequest.getLimit()); + } + + List data = stockPrintTempDao.filterStockPrintTempEntity(filterStockprintRequest); + return data; + } + + @Override + public boolean deleteById(DeleteStPrintTempRequest deleteStPrintTempRequest) { + return stockPrintTempDao.deleteById(deleteStPrintTempRequest); + } + + @Override + public boolean insertStockPrintTempEntity(StockPrintTempEntity stockPrintEntity) { + return stockPrintTempDao.insertStockPrintTempEntity(stockPrintEntity); + } + + @Override + public boolean updateStockPrintTempEntity(StockPrintTempEntity stockPrintEntity) { + return stockPrintTempDao.updateStockPrintTempEntity(stockPrintEntity); + } +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/ThrCorpExportLogService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/ThrCorpExportLogService.java new file mode 100644 index 0000000..3301334 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/ThrCorpExportLogService.java @@ -0,0 +1,23 @@ +package com.glxp.sale.admin.service.thrsys; + + +import com.glxp.sale.admin.entity.thrsys.ThrCorpExportLogEntity; +import com.glxp.sale.admin.req.basic.FilterUdiEpLogRequest; + +import java.util.List; + +public interface ThrCorpExportLogService { + + + ThrCorpExportLogEntity selectByGenKey(String genKey); + + + List filterThrCorpExportLog(FilterUdiEpLogRequest filterUdiEpLogRequest); + + boolean insertThrCorpExportLog(ThrCorpExportLogEntity thrCorpExportLogEntity); + + boolean updateThrCorpExportLog(ThrCorpExportLogEntity thrCorpExportLogEntity); + + boolean deleteById(String id); + +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/ThrCorpImportDetailService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/ThrCorpImportDetailService.java new file mode 100644 index 0000000..6f3fca0 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/ThrCorpImportDetailService.java @@ -0,0 +1,24 @@ +package com.glxp.sale.admin.service.thrsys; + +import com.glxp.sale.admin.entity.thrsys.ThrCorpImportDetailEntity; +import com.glxp.sale.admin.req.basic.FilterUdiIpLogRequest; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public interface ThrCorpImportDetailService { + + List filterCorpDetailImport(FilterUdiIpLogRequest filterInCodeLogRequest); + + boolean insertCorpDetailImport(ThrCorpImportDetailEntity thrCorpImportDetailEntity); + + boolean updateCorpDetailImport(ThrCorpImportDetailEntity thrCorpImportDetailEntity); + + boolean insertCorpDetailImports( List thrCorpImportDetailEntities); + + boolean deleteById( String id); + + boolean deleteByGenkey( String genKey); + +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/ThrCorpImportLogService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/ThrCorpImportLogService.java new file mode 100644 index 0000000..e599ed6 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/ThrCorpImportLogService.java @@ -0,0 +1,20 @@ +package com.glxp.sale.admin.service.thrsys; + +import com.glxp.sale.admin.entity.thrsys.ThrCorpImportLogEntity; +import com.glxp.sale.admin.req.basic.FilterUdiIpLogRequest; + +import java.util.List; + +public interface ThrCorpImportLogService { + + ThrCorpImportLogEntity selectByGenKey(String genKey); + + List filterImportLog(FilterUdiIpLogRequest filterInCodeLogRequest); + + boolean insertImportLog(ThrCorpImportLogEntity thrCorpImportLogEntity); + + boolean updateImportLog(ThrCorpImportLogEntity thrCorpImportLogEntity); + + boolean deleteById(String id); + +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/ThrCorpService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/ThrCorpService.java new file mode 100644 index 0000000..93dd4ff --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/ThrCorpService.java @@ -0,0 +1,24 @@ +package com.glxp.sale.admin.service.thrsys; + + +import com.glxp.sale.admin.entity.thrsys.ThrCorpEntity; +import com.glxp.sale.admin.req.thrsys.FilterThrCorpRequest; + +import java.util.List; + +public interface ThrCorpService { + + List filterThrCorps(FilterThrCorpRequest filterThrCorpRequest); + + boolean insertThrCorps(ThrCorpEntity thrCorpEntity); + + boolean insertThrCorpss(List thrCorpEntitys); + + boolean updateThrCorps(ThrCorpEntity thrCorpEntity); + + boolean deleteById(String id); + + boolean deleteByUnitId(String id); + + boolean deleteAll(); +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/ThrDataService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/ThrDataService.java index c309f0f..d10ee14 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/ThrDataService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/ThrDataService.java @@ -110,6 +110,7 @@ public class ThrDataService { erpOrderResponse.setProductCompany(thrOrderDetailEntity.getYlqxzcrbarmc()); erpOrderResponse.setPackSpec(thrOrderDetailEntity.getSpec()); erpOrderResponse.setGoodsunit(thrOrderDetailEntity.getSpec()); + erpOrderResponse.setErpOrderId(thrOrderEntity.getBillNo()); erpOrderEntities.add(erpOrderResponse); } } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/ThrImportLogService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/ThrImportLogService.java new file mode 100644 index 0000000..64075e3 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/ThrImportLogService.java @@ -0,0 +1,21 @@ +package com.glxp.sale.admin.service.thrsys; + +import com.glxp.sale.admin.entity.thrsys.ThrImportLogEntity; +import com.glxp.sale.admin.entity.thrsys.ThrOrderImportLogEntity; +import com.glxp.sale.admin.entity.thrsys.ThrProductsImportLogEntity; +import com.glxp.sale.admin.req.basic.FilterUdiIpLogRequest; + +import java.util.List; + +public interface ThrImportLogService { + + List filterImportLog(FilterUdiIpLogRequest filterInCodeLogRequest); + + boolean insertImportLog(ThrImportLogEntity thrProductsImportLogEntity); + + boolean updateImportLog(ThrImportLogEntity thrProductsImportLogEntity); + + boolean deleteById(String id); + + ThrImportLogEntity selectByGenKey(String genKey); +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/UdplatGoodsService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/UdplatGoodsService.java new file mode 100644 index 0000000..add6065 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/UdplatGoodsService.java @@ -0,0 +1,18 @@ +package com.glxp.sale.admin.service.thrsys; + + +import com.glxp.sale.admin.req.thrsys.BaseParam; +import com.glxp.sale.common.res.BaseResponse; + +import java.io.InputStream; + +public interface UdplatGoodsService { + BaseResponse getList(BaseParam param); + /** + * excel导入 + * @param is + * @param type 1:院内的导入 2;配送目录 + * @return + */ + BaseResponse importExcel(InputStream is,int type) ; +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/UdplatLogService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/UdplatLogService.java new file mode 100644 index 0000000..221fdc9 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/UdplatLogService.java @@ -0,0 +1,12 @@ +package com.glxp.sale.admin.service.thrsys; + + +import com.glxp.sale.admin.entity.thrsys.UdplatLog; +import com.glxp.sale.admin.req.thrsys.JobLogFilterRequest; +import com.glxp.sale.common.res.BaseResponse; + +public interface UdplatLogService { + BaseResponse getList(JobLogFilterRequest param); + + int insert(UdplatLog udplatLog); +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/impl/ThrCorpExportLogServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/impl/ThrCorpExportLogServiceImpl.java new file mode 100644 index 0000000..da882b4 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/impl/ThrCorpExportLogServiceImpl.java @@ -0,0 +1,57 @@ +package com.glxp.sale.admin.service.thrsys.impl; + +import com.github.pagehelper.PageHelper; +import com.glxp.sale.admin.dao.thrsys.ThrCorpExportLogDao; +import com.glxp.sale.admin.entity.thrsys.ThrCorpExportLogEntity; +import com.glxp.sale.admin.req.basic.FilterUdiEpLogRequest; +import com.glxp.sale.admin.service.thrsys.ThrCorpExportLogService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + +@Service +public class ThrCorpExportLogServiceImpl implements ThrCorpExportLogService { + @Resource + ThrCorpExportLogDao thrCorpExportLogDao; + + @Override + public ThrCorpExportLogEntity selectByGenKey(String genKey) { + FilterUdiEpLogRequest filterUdiEpLogRequest = new FilterUdiEpLogRequest(); + filterUdiEpLogRequest.setGenKey(genKey); + List data = thrCorpExportLogDao.filterThrCorpExportLog(filterUdiEpLogRequest); + if (data != null && data.size() > 0) { + return data.get(0); + } + return null; + } + + @Override + public List filterThrCorpExportLog(FilterUdiEpLogRequest filterUdiEpLogRequest) { + if (filterUdiEpLogRequest == null) { + return Collections.emptyList(); + } + if (filterUdiEpLogRequest.getPage() != null) { + int offset = (filterUdiEpLogRequest.getPage() - 1) * filterUdiEpLogRequest.getLimit(); + PageHelper.offsetPage(offset, filterUdiEpLogRequest.getLimit()); + } + List data = thrCorpExportLogDao.filterThrCorpExportLog(filterUdiEpLogRequest); + return data; + } + + @Override + public boolean insertThrCorpExportLog(ThrCorpExportLogEntity thrCorpExportLogEntity) { + return thrCorpExportLogDao.insertThrCorpExportLog(thrCorpExportLogEntity); + } + + @Override + public boolean updateThrCorpExportLog(ThrCorpExportLogEntity thrCorpExportLogEntity) { + return thrCorpExportLogDao.updateThrCorpExportLog(thrCorpExportLogEntity); + } + + @Override + public boolean deleteById(String id) { + return thrCorpExportLogDao.deleteById(id); + } +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/impl/ThrCorpImportDetailServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/impl/ThrCorpImportDetailServiceImpl.java new file mode 100644 index 0000000..cb8114b --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/impl/ThrCorpImportDetailServiceImpl.java @@ -0,0 +1,57 @@ +package com.glxp.sale.admin.service.thrsys.impl; + +import com.github.pagehelper.PageHelper; +import com.glxp.sale.admin.dao.thrsys.ThrCorpImportDetailDao; +import com.glxp.sale.admin.entity.thrsys.ThrCorpImportDetailEntity; +import com.glxp.sale.admin.req.basic.FilterUdiIpLogRequest; +import com.glxp.sale.admin.service.thrsys.ThrCorpImportDetailService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + +@Service +public class ThrCorpImportDetailServiceImpl implements ThrCorpImportDetailService { + + @Resource + ThrCorpImportDetailDao thrCorpImportDetailDao; + + @Override + public List filterCorpDetailImport(FilterUdiIpLogRequest filterUdiIpLogRequest) { + if (filterUdiIpLogRequest == null) { + return Collections.emptyList(); + } + if (filterUdiIpLogRequest.getPage() != null) { + int offset = (filterUdiIpLogRequest.getPage() - 1) * filterUdiIpLogRequest.getLimit(); + PageHelper.offsetPage(offset, filterUdiIpLogRequest.getLimit()); + } + List data = thrCorpImportDetailDao.filterCorpDetailImport(filterUdiIpLogRequest); + return data; + } + + @Override + public boolean insertCorpDetailImport(ThrCorpImportDetailEntity thrCorpImportDetailEntity) { + return thrCorpImportDetailDao.insertCorpDetailImport(thrCorpImportDetailEntity); + } + + @Override + public boolean updateCorpDetailImport(ThrCorpImportDetailEntity thrCorpImportDetailEntity) { + return thrCorpImportDetailDao.updateCorpDetailImport(thrCorpImportDetailEntity); + } + + @Override + public boolean insertCorpDetailImports(List thrCorpImportDetailEntities) { + return thrCorpImportDetailDao.insertCorpDetailImports(thrCorpImportDetailEntities); + } + + @Override + public boolean deleteById(String id) { + return thrCorpImportDetailDao.deleteById(id); + } + + @Override + public boolean deleteByGenkey(String genKey) { + return thrCorpImportDetailDao.deleteByGenkey(genKey); + } +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/impl/ThrCorpImportLogServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/impl/ThrCorpImportLogServiceImpl.java new file mode 100644 index 0000000..037b5c6 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/impl/ThrCorpImportLogServiceImpl.java @@ -0,0 +1,58 @@ +package com.glxp.sale.admin.service.thrsys.impl; + +import com.github.pagehelper.PageHelper; +import com.glxp.sale.admin.dao.thrsys.ThrCorpImportLogDao; +import com.glxp.sale.admin.entity.thrsys.ThrCorpImportLogEntity; +import com.glxp.sale.admin.req.basic.FilterUdiIpLogRequest; +import com.glxp.sale.admin.service.thrsys.ThrCorpImportLogService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + +@Service +public class ThrCorpImportLogServiceImpl implements ThrCorpImportLogService { + @Resource + ThrCorpImportLogDao thrCorpImportLogDao; + + @Override + public ThrCorpImportLogEntity selectByGenKey(String genKey) { + FilterUdiIpLogRequest filterUdiIpLogRequest = new FilterUdiIpLogRequest(); + filterUdiIpLogRequest.setGenKey(genKey); + List data = thrCorpImportLogDao.filterImportLog(filterUdiIpLogRequest); + if (data != null && data.size() > 0) { + return data.get(0); + } + return null; + } + + @Override + public List filterImportLog(FilterUdiIpLogRequest filterInCodeLogRequest) { + if (filterInCodeLogRequest == null) { + return Collections.emptyList(); + } + if (filterInCodeLogRequest.getPage() != null) { + int offset = (filterInCodeLogRequest.getPage() - 1) * filterInCodeLogRequest.getLimit(); + PageHelper.offsetPage(offset, filterInCodeLogRequest.getLimit()); + } + List data = thrCorpImportLogDao.filterImportLog(filterInCodeLogRequest); + return data; + + } + + @Override + public boolean insertImportLog(ThrCorpImportLogEntity thrCorpImportLogEntity) { + return thrCorpImportLogDao.insertImportLog(thrCorpImportLogEntity); + } + + @Override + public boolean updateImportLog(ThrCorpImportLogEntity thrCorpImportLogEntity) { + return thrCorpImportLogDao.updateImportLog(thrCorpImportLogEntity); + } + + @Override + public boolean deleteById(String id) { + return thrCorpImportLogDao.deleteById(id); + } +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/impl/ThrCorpServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/impl/ThrCorpServiceImpl.java new file mode 100644 index 0000000..b4fdfbb --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/impl/ThrCorpServiceImpl.java @@ -0,0 +1,62 @@ +package com.glxp.sale.admin.service.thrsys.impl; + +import com.github.pagehelper.PageHelper; +import com.glxp.sale.admin.dao.thrsys.ThrCorpDao; +import com.glxp.sale.admin.entity.thrsys.ThrCorpEntity; +import com.glxp.sale.admin.req.thrsys.FilterThrCorpRequest; +import com.glxp.sale.admin.service.thrsys.ThrCorpService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + +@Service +public class ThrCorpServiceImpl implements ThrCorpService { + + @Resource + private ThrCorpDao thrCorpDao; + + @Override + public List filterThrCorps(FilterThrCorpRequest filterThrCorpRequest) { + if (filterThrCorpRequest == null) { + return Collections.emptyList(); + } + if (filterThrCorpRequest.getPage() != null) { + int offset = (filterThrCorpRequest.getPage() - 1) * filterThrCorpRequest.getLimit(); + PageHelper.offsetPage(offset, filterThrCorpRequest.getLimit()); + } + List data = thrCorpDao.filterThrCorps(filterThrCorpRequest); + return data; + } + + @Override + public boolean insertThrCorps(ThrCorpEntity thrCorpEntity) { + return thrCorpDao.insertThrCorps(thrCorpEntity); + } + + @Override + public boolean insertThrCorpss(List thrCorpEntitys) { + return thrCorpDao.insertThrCorpss(thrCorpEntitys); + } + + @Override + public boolean updateThrCorps(ThrCorpEntity thrCorpEntity) { + return thrCorpDao.updateThrCorps(thrCorpEntity); + } + + @Override + public boolean deleteById(String id) { + return thrCorpDao.deleteById(id); + } + + @Override + public boolean deleteByUnitId(String id) { + return thrCorpDao.deleteByUnitId(id); + } + + @Override + public boolean deleteAll() { + return thrCorpDao.deleteAll(); + } +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/impl/ThrImportLogServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/impl/ThrImportLogServiceImpl.java new file mode 100644 index 0000000..e35d2e6 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/impl/ThrImportLogServiceImpl.java @@ -0,0 +1,60 @@ +package com.glxp.sale.admin.service.thrsys.impl; + +import com.github.pagehelper.PageHelper; +import com.glxp.sale.admin.dao.thrsys.ThrImportLogDao; +import com.glxp.sale.admin.dao.thrsys.ThrOrderImportLogDao; +import com.glxp.sale.admin.entity.thrsys.ThrImportLogEntity; +import com.glxp.sale.admin.entity.thrsys.ThrOrderImportLogEntity; +import com.glxp.sale.admin.req.basic.FilterUdiIpLogRequest; +import com.glxp.sale.admin.service.thrsys.ThrImportLogService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + +@Service +public class ThrImportLogServiceImpl implements ThrImportLogService { + + @Resource + ThrImportLogDao thrImportLogDao; + + @Override + public List filterImportLog(FilterUdiIpLogRequest filterInCodeLogRequest) { + if (filterInCodeLogRequest == null) { + return Collections.emptyList(); + } + if (filterInCodeLogRequest.getPage() != null) { + int offset = (filterInCodeLogRequest.getPage() - 1) * filterInCodeLogRequest.getLimit(); + PageHelper.offsetPage(offset, filterInCodeLogRequest.getLimit()); + } + List data = thrImportLogDao.filterImportLog(filterInCodeLogRequest); + return data; + } + + @Override + public boolean insertImportLog(ThrImportLogEntity thrImportLogEntity) { + return thrImportLogDao.insertImportLog(thrImportLogEntity); + } + + @Override + public boolean updateImportLog(ThrImportLogEntity thrImportLogEntity) { + return thrImportLogDao.updateImportLog(thrImportLogEntity); + } + + @Override + public boolean deleteById(String id) { + return thrImportLogDao.deleteById(id); + } + + @Override + public ThrImportLogEntity selectByGenKey(String genKey) { + FilterUdiIpLogRequest filterUdiIpLogRequest = new FilterUdiIpLogRequest(); + filterUdiIpLogRequest.setGenKey(genKey); + List data = thrImportLogDao.filterImportLog(filterUdiIpLogRequest); + if (data != null && data.size() > 0) { + return data.get(0); + } + return null; + } +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/impl/UdplatGoodsServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/impl/UdplatGoodsServiceImpl.java new file mode 100644 index 0000000..097c28f --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/impl/UdplatGoodsServiceImpl.java @@ -0,0 +1,238 @@ +package com.glxp.sale.admin.service.thrsys.impl; + +import com.alibaba.fastjson.JSON; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import com.glxp.sale.admin.constant.BasicProcessStatus; +import com.glxp.sale.admin.constant.ConstantStatus; +import com.glxp.sale.admin.dao.thrsys.UdplatGoodsMapper; +import com.glxp.sale.admin.entity.thrsys.*; +import com.glxp.sale.admin.req.thrsys.BaseParam; +import com.glxp.sale.admin.res.PageSimpleResponse; +import com.glxp.sale.admin.service.thrsys.ThrImportLogService; +import com.glxp.sale.admin.service.thrsys.UdplatGoodsService; +import com.glxp.sale.admin.service.thrsys.UdplatLogService; +import com.glxp.sale.admin.thread.UploadUdplatService; +import com.glxp.sale.admin.util.BeanUtils; +import com.glxp.sale.admin.util.CustomUtil; +import com.glxp.sale.admin.util.DateUtil; +import com.glxp.sale.common.res.BaseResponse; +import com.glxp.sale.common.util.ExcelUtil; +import com.glxp.sale.common.util.ResultVOUtils; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +@Service +@Slf4j +public class UdplatGoodsServiceImpl implements UdplatGoodsService { + @Autowired + private UdplatGoodsMapper udplatGoodsMapper; + @Autowired + private UdplatLogService logService; + @Resource + private ThrImportLogService thrImportLogService; + @Resource + UploadUdplatService uploadUdplatService; + + public BaseResponse getList(BaseParam param) { + PageHelper.startPage(param.getPage(), param.getLimit()); + if (param.getEndDate() != null && !param.getEndDate().isEmpty()) + param.setEndDate(DateUtil.formatDate(DateUtil.addDays(DateUtil.parseDate(param.getEndDate()), 1))); + List list = udplatGoodsMapper.list(param); + PageInfo pageInfo = new PageInfo<>(list); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(list); + return ResultVOUtils.success(pageSimpleResponse); + } + + @Override + public BaseResponse importExcel(InputStream is, int type) { + String genKey = CustomUtil.getUUId(); + int count = 0; + try { + if (type == 1) { + List list1 = getData1(is); + //list = BeanUtils.convertList2List(list1,UdplatGoods.class); + if (list1 == null || list1.size() < 1) + return ResultVOUtils.error(-1, "无数据!"); + count = SaveHospitalGoods(list1, genKey); + } else if (type == 2) { + List list2 = getData2(is); + //log.info(JSONUtil.toJsonStr(list2)); + //list = BeanUtils.convertList2List(list2,UdplatGoods.class); + if (list2 == null || list2.size() < 1) + return ResultVOUtils.error(-1, "无数据!"); + count = SaveDeliveryGoods(list2); + } else + return ResultVOUtils.error(-1, "文件类型不匹配!"); + + + ThrImportLogEntity importLogEntity = new ThrImportLogEntity(); + importLogEntity.setGenKey(genKey); + importLogEntity.setImportType(1); + importLogEntity.setFromType("文件导入"); + importLogEntity.setUpdateTime(new Date()); + importLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_PROCESS); + thrImportLogService.insertImportLog(importLogEntity); + + return ResultVOUtils.success(count); + //return save(list); + } catch (Exception e) { + + ThrImportLogEntity importLogEntity = new ThrImportLogEntity(); + importLogEntity.setGenKey(CustomUtil.getUUId()); + importLogEntity.setImportType(1); + importLogEntity.setFromType("文件导入"); + importLogEntity.setUpdateTime(new Date()); + importLogEntity.setRemark(e.getMessage()); + importLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_FAIL); + thrImportLogService.insertImportLog(importLogEntity); + + return ResultVOUtils.error(-1, "出错了:" + e.getMessage()); + } + + //return ResultVOUtils.success(); + } + + private List getData1(InputStream is) throws Exception { + ExcelUtil util = new ExcelUtil(HospitalGoods.class); + return util.importExcel(is); + } + + private List getData2(InputStream is) throws Exception { + ExcelUtil util = new ExcelUtil(DeliveryGoods.class); + return util.importExcel(is); + } + + private int SaveHospitalGoods(List list, String genKey) { + + List udplatGoodsList = new ArrayList<>(); + int count = 0; + for (HospitalGoods item : list) { + String goodId = item.getProjectGoodsCode(); + if (goodId == null || goodId.isEmpty()) + continue; + UdplatGoods goods = udplatGoodsMapper.selectByGoodId(goodId); + goods = HospitalGoodsToUdplatGoods(item, goods); + udplatGoodsList.add(goods); + if (goods.getId() > 0) { + goods.setUpdateTime(new Date()); + udplatGoodsMapper.update(goods); + } else { + goods.setUuid(BeanUtils.getUUId()); + goods.setCreateTime(new Date()); + udplatGoodsMapper.insert(goods); + } + count++; + } + uploadUdplatService.asyncUpload(genKey, udplatGoodsList); + return count; + } + + private int SaveDeliveryGoods(List list) { + int count = 0; + for (DeliveryGoods item : list) { + String goodId = item.getProjectGoodsCode(); + if (goodId == null || goodId.isEmpty()) + continue; + UdplatGoods goods = udplatGoodsMapper.selectByGoodId(goodId); + goods = DeliveryGoodsToUdplatGoods(item, goods); + System.out.println(JSON.toJSONString(goods)); + if (goods.getId() > 0L) { + goods.setUpdateTime(new Date()); + udplatGoodsMapper.update(goods); + } else { + goods.setUuid(BeanUtils.getUUId()); + goods.setCreateTime(new Date()); + udplatGoodsMapper.insert(goods); + } + count++; + } + return count; + } + + private UdplatGoods HospitalGoodsToUdplatGoods(HospitalGoods hospitalGoods, UdplatGoods udplatGoods) { + if (udplatGoods == null) { + udplatGoods = new UdplatGoods(); + udplatGoods.setId(0L); + } + udplatGoods.setDeliveryGoodId(hospitalGoods.getDeliveryGoodId()); + udplatGoods.setProjectGoodsCode(hospitalGoods.getProjectGoodsCode()); + udplatGoods.setManufactureName(hospitalGoods.getManufactureName()); + udplatGoods.setDistributorName(hospitalGoods.getDistributorName()); + udplatGoods.setProductName(hospitalGoods.getProductName()); + udplatGoods.setModel(hospitalGoods.getModel()); + udplatGoods.setSpec(hospitalGoods.getSpec()); + udplatGoods.setProdMaterial(hospitalGoods.getProdMaterial()); + udplatGoods.setRegNum(hospitalGoods.getRegNum()); + udplatGoods.setRegName(hospitalGoods.getRegName()); + udplatGoods.setRegValidTo(hospitalGoods.getRegValidTo()); + udplatGoods.setSalePrice(hospitalGoods.getSalePrice()); + udplatGoods.setPriceUnitText(hospitalGoods.getPriceUnitText()); + udplatGoods.setChangedContent(hospitalGoods.getChangedContent()); + udplatGoods.setChangedTime(hospitalGoods.getChangedTime()); + udplatGoods.setMedicalCode(hospitalGoods.getMedicalCode()); + return udplatGoods; + } + + private UdplatGoods DeliveryGoodsToUdplatGoods(DeliveryGoods deliveryGoods, UdplatGoods udplatGoods) { + if (udplatGoods == null) { + udplatGoods = new UdplatGoods(); + udplatGoods.setId(0L); + } + udplatGoods.setDeliveryGoodId(deliveryGoods.getDeliveryGoodId()); + udplatGoods.setProductName(deliveryGoods.getProductName()); + udplatGoods.setModel(deliveryGoods.getModel()); + udplatGoods.setSpec(deliveryGoods.getSpec()); + udplatGoods.setProdMaterial(deliveryGoods.getProdMaterial()); + udplatGoods.setPackMaterial(deliveryGoods.getPackMaterial()); + udplatGoods.setRegNum(deliveryGoods.getRegNum()); + udplatGoods.setRegName(deliveryGoods.getRegName()); + udplatGoods.setRegValidTo(deliveryGoods.getRegValidTo()); + udplatGoods.setStockStatus(deliveryGoods.getStockStatus()); + udplatGoods.setChangedContent(deliveryGoods.getChangedContent()); + udplatGoods.setChangedTime(deliveryGoods.getChangedTime()); + udplatGoods.setMedicalCode(deliveryGoods.getMedicalCode()); + return udplatGoods; + } + /*private BaseResponse save(List list){ + if(list == null || list.size()<1) + return ResultVOUtils.error(-1,"无数据!"); + int count=0; + for(UdplatGoods item:list){ + String goodId = item.getDeliveryGoodId(); + if(goodId == null || goodId.isEmpty()) + continue; + UdplatGoods goods = udplatGoodsMapper.selectByGoodId(goodId); + if(goods != null) + { + BeanUtils.copyProperties(item,goods); + goods.setUpdateTime(new Date()); + udplatGoodsMapper.update(goods); + }else{ + item.setUuid(BeanUtils.getUUId()); + item.setCreateTime(new Date()); + udplatGoodsMapper.insert(item); + } + count++; + } + UdplatLog udplatLog = new UdplatLog(); + udplatLog.setDownloadType("import"); + udplatLog.setTbName("udplat_goods"); + udplatLog.setType("info"); + udplatLog.setMsg("执行成功!"); + udplatLog.setActionDate(DateUtil.parseDate(DateUtil.getDate())); + udplatLog.setTotalCount(count); + udplatLog.setCreateTime(new Date()); + logService.insert(udplatLog); + return ResultVOUtils.success(count); + }*/ +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/impl/UdplatLogServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/impl/UdplatLogServiceImpl.java new file mode 100644 index 0000000..d46a939 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/impl/UdplatLogServiceImpl.java @@ -0,0 +1,39 @@ +package com.glxp.sale.admin.service.thrsys.impl; + +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import com.glxp.sale.admin.dao.thrsys.UdplatLogMapper; +import com.glxp.sale.admin.entity.thrsys.UdplatLog; +import com.glxp.sale.admin.req.thrsys.JobLogFilterRequest; +import com.glxp.sale.admin.res.PageSimpleResponse; +import com.glxp.sale.admin.service.thrsys.UdplatLogService; +import com.glxp.sale.admin.util.DateUtil; +import com.glxp.sale.common.res.BaseResponse; +import com.glxp.sale.common.util.ResultVOUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class UdplatLogServiceImpl implements UdplatLogService { + @Autowired + private UdplatLogMapper mapper; + @Override + public BaseResponse getList(JobLogFilterRequest param) { + PageHelper.startPage(param.getPage(), param.getLimit()); + if (param.getEndDate() != null && !param.getEndDate().isEmpty()) + param.setEndDate(DateUtil.formatDate(DateUtil.addDays(DateUtil.parseDate(param.getEndDate()), 1))); + List list = mapper.list(param); + PageInfo pageInfo = new PageInfo<>(list); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(list); + return ResultVOUtils.success(pageSimpleResponse); + } + + @Override + public int insert(UdplatLog udplatLog) { + return mapper.insert(udplatLog); + } +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/thread/BasicCorpImportService.java b/api-admin/src/main/java/com/glxp/sale/admin/thread/BasicCorpImportService.java index 3f765ca..d987139 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/thread/BasicCorpImportService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/thread/BasicCorpImportService.java @@ -1,5 +1,6 @@ package com.glxp.sale.admin.thread; +import com.glxp.sale.admin.constant.ConstantStatus; import com.glxp.sale.admin.constant.UdiInfoImportStatus; import com.glxp.sale.admin.entity.basic.BasicUnitMaintainEntity; import com.glxp.sale.admin.entity.basic.CorpImportDetailEntity; @@ -38,6 +39,7 @@ public class BasicCorpImportService { for (CorpImportDetailEntity corpImportDetailEntity : corpImportDetailEntities) { BasicUnitMaintainEntity basicUnitMaintainEntity = new BasicUnitMaintainEntity(); BeanUtils.copyProperties(corpImportDetailEntity, basicUnitMaintainEntity); + basicUnitMaintainEntity.setCorpType(ConstantStatus.CORP_SP); basicUnitMaintainService.insertBasicUnitMaintain(basicUnitMaintainEntity); corpImportDetailEntity.setImportStatus(UdiInfoImportStatus.UDIINFO_IMPORT_CODE_SUCESS); corpImportDetailService.updateCorpImport(corpImportDetailEntity); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/thread/BasicGenExcelService.java b/api-admin/src/main/java/com/glxp/sale/admin/thread/BasicGenExcelService.java index b626c00..387764e 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/thread/BasicGenExcelService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/thread/BasicGenExcelService.java @@ -153,6 +153,7 @@ public class BasicGenExcelService { head.add("thirdId2"); head.add("thirdId3"); head.add("thirdId4"); + head.add("是否以使用单元入库"); excelData.add(head); //选中导出 if (udiInfoExportRequest.getUuids() != null && udiInfoExportRequest.getUuids().size() > 0) { @@ -265,6 +266,11 @@ public class BasicGenExcelService { rows.add(udiRelevanceResponse.getThirdId2()); rows.add(udiRelevanceResponse.getThirdId3()); rows.add(udiRelevanceResponse.getThirdId4()); + if(udiRelevanceResponse.getIsUseDy()==1){ + rows.add("是"); + }else { + rows.add("否"); + } excelData.add(rows); } return excelData; @@ -283,6 +289,11 @@ public class BasicGenExcelService { udiInfoImportDetailEntity.setThirdId2(udiRelevanceResponse.getThirdId2()); udiInfoImportDetailEntity.setThirdId3(udiRelevanceResponse.getThirdId3()); udiInfoImportDetailEntity.setThirdId4(udiRelevanceResponse.getThirdId4()); + if (udiRelevanceResponse.getIsUseDy() == 1) { + udiInfoImportDetailEntity.setIsUseDy("是"); + } else { + udiInfoImportDetailEntity.setIsUseDy("否"); + } udiInfoImportDetailEntities.add(udiInfoImportDetailEntity); } return udiInfoImportDetailEntities; diff --git a/api-admin/src/main/java/com/glxp/sale/admin/thread/BasicUdiInfoImportService.java b/api-admin/src/main/java/com/glxp/sale/admin/thread/BasicUdiInfoImportService.java index f24b559..7d76804 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/thread/BasicUdiInfoImportService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/thread/BasicUdiInfoImportService.java @@ -47,6 +47,8 @@ public class BasicUdiInfoImportService { SystemParamConfigService systemParamConfigService; @Resource BasicThirdSysService basicThirdSysService; + @Resource + UdiDlHttpClient udiDlHttpClient; //导入产品信息文件,生成产品信息,更新或插入对照表 @Async @@ -66,7 +68,7 @@ public class BasicUdiInfoImportService { udiInfoEntity = udiInfoService.findByNameCode(udiInfoImportDetailEntity.getUdiCode()); List froms = null; if (udiInfoEntity == null) { - froms = new UdiDlHttpClient(udiUrl).getUdiByDi(udiInfoImportDetailEntity.getUdiCode()); + froms = udiDlHttpClient.getUdiByDi(udiInfoImportDetailEntity.getUdiCode()); if (froms != null && !froms.isEmpty()) { udiInfoEntity = froms.get(0); @@ -202,6 +204,15 @@ public class BasicUdiInfoImportService { udiRelevanceEntity.setSptm(udiInfoImportDetailEntity.getSptm()); } + if (udiInfoImportDetailEntity.getIsUseDy() != null && udiInfoImportDetailEntity.getIsUseDy().trim().equals("")) { + if (udiInfoImportDetailEntity.getIsUseDy().equals("是")) { + udiRelevanceEntity.setIsUseDy(true); + } else { + udiRelevanceEntity.setIsUseDy(false); + } + + } + if (udiInfoImportDetailEntity.getThirdId() != null && !udiInfoImportDetailEntity.getThirdId().trim().equals("")) { ThrProductsEntity thrProductsEntity = thrDataService.getProducts(udiInfoImportDetailEntity.getThirdId(), "thirdId"); if (thrProductsEntity != null) { @@ -309,6 +320,13 @@ public class BasicUdiInfoImportService { UdiInfoImportDetailEntity udiInfoImportEntity = new UdiInfoImportDetailEntity(); udiInfoImportEntity.setUdiCode(udiRelevanceResponse.getNameCode()); BeanUtils.copyProperties(udiRelevanceResponse, udiInfoImportEntity); + + if (udiRelevanceResponse.getIsUseDy() == 1) { + udiInfoImportEntity.setIsUseDy("是"); + } else { + udiInfoImportEntity.setIsUseDy("否"); + } + udiInfoImportEntity.setThirdId(udiRelevanceResponse.getErpId()); udiInfoImportEntity.setUpdateTime(new Date()); udiInfoImportEntity.setGenKeyFk(genKey); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/thread/BasicUnitImportService.java b/api-admin/src/main/java/com/glxp/sale/admin/thread/BasicUnitImportService.java index 494d84c..efe59ba 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/thread/BasicUnitImportService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/thread/BasicUnitImportService.java @@ -1,5 +1,6 @@ package com.glxp.sale.admin.thread; +import com.glxp.sale.admin.constant.ConstantStatus; import com.glxp.sale.admin.entity.basic.BasicThirdSysDetailEntity; import com.glxp.sale.admin.entity.basic.BasicUnitMaintainEntity; import com.glxp.sale.admin.httpclient.ErpBasicClient; @@ -78,6 +79,7 @@ public class BasicUnitImportService { basicUnitMaintainEntity.setCreditNo(erpUnitsResponse.getCreditNo()); basicUnitMaintainEntity.setContact(erpUnitsResponse.getContact()); basicUnitMaintainEntity.setMobile(erpUnitsResponse.getMobile()); + basicUnitMaintainEntity.setCorpType(ConstantStatus.CORP_SP); basicUnitMaintainService.insertBasicUnitMaintain(basicUnitMaintainEntity); } } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/thread/BasicUpdateProductService.java b/api-admin/src/main/java/com/glxp/sale/admin/thread/BasicUpdateProductService.java index c108043..e9cf4ae 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/thread/BasicUpdateProductService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/thread/BasicUpdateProductService.java @@ -234,8 +234,8 @@ public class BasicUpdateProductService { public List getUdiInfoEntity(FilterUdiInfoRequest productInfoFilterRequest) { String nameCode = null; - if (productInfoFilterRequest.getNameCode() != null) { - UdiEntity udiEntity = FilterUdiUtils.getUdi(productInfoFilterRequest.getNameCode()); + if (productInfoFilterRequest.getUdiCode() != null) { + UdiEntity udiEntity = FilterUdiUtils.getUdi(productInfoFilterRequest.getUdiCode()); if (udiEntity != null) { nameCode = udiEntity.getUdi(); } else { diff --git a/api-admin/src/main/java/com/glxp/sale/admin/thread/InvProductsTrService.java b/api-admin/src/main/java/com/glxp/sale/admin/thread/InvProductsTrService.java index b2a21b0..1b6bf96 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/thread/InvProductsTrService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/thread/InvProductsTrService.java @@ -1,30 +1,40 @@ package com.glxp.sale.admin.thread; +import com.glxp.sale.admin.constant.Constant; import com.glxp.sale.admin.constant.ConstantStatus; import com.glxp.sale.admin.constant.ConstantType; -import com.glxp.sale.admin.entity.basic.BussinessTypeEntity; -import com.glxp.sale.admin.entity.basic.UdiInfoEntity; -import com.glxp.sale.admin.entity.inout.ErpOrderEntity; -import com.glxp.sale.admin.entity.inout.FilterErpOrderRequest; -import com.glxp.sale.admin.entity.inout.OrderEntity; -import com.glxp.sale.admin.entity.inout.WarehouseEntity; +import com.glxp.sale.admin.entity.basic.*; +import com.glxp.sale.admin.entity.info.CompanyEntity; +import com.glxp.sale.admin.entity.inout.*; import com.glxp.sale.admin.entity.inventory.InvProductDetailEntity; import com.glxp.sale.admin.entity.inventory.InvProductEntity; +import com.glxp.sale.admin.entity.param.SystemParamConfigEntity; import com.glxp.sale.admin.req.basic.FilterUdiInfoRequest; +import com.glxp.sale.admin.req.inventory.FilterInvProductDetailRequest; +import com.glxp.sale.admin.res.basic.BussinessTypResponse; import com.glxp.sale.admin.res.basic.UdiRelevanceResponse; -import com.glxp.sale.admin.service.basic.BussinessTypeService; -import com.glxp.sale.admin.service.basic.UdiInfoService; -import com.glxp.sale.admin.service.basic.UdiRelevanceService; -import com.glxp.sale.admin.service.inout.CodesService; -import com.glxp.sale.admin.service.inout.OrderDetailService; -import com.glxp.sale.admin.service.inout.OrderService; +import com.glxp.sale.admin.res.inventory.InvProductDetailJoinResponse; +import com.glxp.sale.admin.service.basic.*; +import com.glxp.sale.admin.service.info.CompanyService; +import com.glxp.sale.admin.service.inout.*; +import com.glxp.sale.admin.service.inventory.InvPreProductDetailService; +import com.glxp.sale.admin.service.inventory.InvPreProductService; import com.glxp.sale.admin.service.inventory.InvProductDetailService; import com.glxp.sale.admin.service.inventory.InvProductService; +import com.glxp.sale.admin.service.param.SystemParamConfigService; +import com.glxp.sale.admin.util.CustomUtil; +import com.glxp.sale.admin.util.DateUtil; +import com.glxp.sale.admin.util.FilterUdiUtils; +import org.apache.ibatis.annotations.Param; +import org.apache.regexp.RE; +import org.springframework.beans.BeanUtils; +import org.springframework.context.annotation.Lazy; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.*; +import java.util.stream.Collectors; @Service public class InvProductsTrService { @@ -37,17 +47,35 @@ public class InvProductsTrService { @Resource private CodesService codesService; @Resource + private CodesTempService codesTempService; + @Resource private UdiRelevanceService udiRelevanceService; @Resource private UdiInfoService udiInfoService; @Resource private BussinessTypeService bussinessTypeService; - + @Resource + private BussinessLocalTypeService bussinessLocalTypeService; @Resource private InvProductService invProductService; @Resource private InvProductDetailService invProductDetailService; + @Resource + private InvPreProductService invPreProductService; + @Resource + private InvPreProductDetailService invPreProductDetailService; + @Resource + private BussinessChangeTypeService bussinessChangeTypeService; + @Resource + private BasicUnitMaintainService basicUnitMaintainService; + @Resource + @Lazy + private IoTransInoutService ioTransInoutService; + @Resource + CompanyService companyService; + @Resource + SystemParamConfigService systemParamConfigService; @Async public void genInvProducts(String orderId) { @@ -55,14 +83,58 @@ public class InvProductsTrService { if (orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_SUCCESS && (orderEntity.getContrastStatus() == ConstantStatus.ORDER_CHECK_SUCCESS || orderEntity.getContrastStatus() == ConstantStatus.ORDER_CHECK_UN)) { + + BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(orderEntity.getAction()); + BussinessLocalTypeEntity bussinessLocalTypeEntity = bussinessLocalTypeService.findBTByAction(bussinessTypeEntity.getLocalAction()); + FilterErpOrderRequest filterErpOrderRequest = new FilterErpOrderRequest(); filterErpOrderRequest.setOrderId(orderId); List erpOrderEntities = myErpOrderService.filterAllMyErpOrder(filterErpOrderRequest); - BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(orderEntity.getAction()); + + //根据条码生成库存产品列表(产品ID,批次号,供应商)唯一键插入 + List warehouseEntityList = codesService.findByReceiptId(orderId); + for (WarehouseEntity warehouseEntity : warehouseEntityList) { + ErpOrderEntity erpOrderEntity = getErpOrders(warehouseEntity, erpOrderEntities); + if (bussinessTypeEntity.isAdvanceType()) {//预入库,则转存预入库 + InvProductEntity invPreProductEntity = + invPreProductService.selectByUuid(erpOrderEntity.getGoodsid(), erpOrderEntity.getBatchNo(), warehouseEntity.getSupId()); + if (invPreProductEntity == null) { + invPreProductEntity = buildInvProduct(erpOrderEntity.getGoodsid(), erpOrderEntity, orderEntity, warehouseEntity); + invPreProductService.insertInvProduct(invPreProductEntity); + } else { + int actCount = getActCount(warehouseEntity); + int count = actCount * warehouseEntity.getCount(); + if (orderEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { + invPreProductEntity.setOutCount(invPreProductEntity.getOutCount() + count); + } else if (orderEntity.getMainAction().equals(ConstantType.TYPE_PUT)) { + invPreProductEntity.setInCount(invPreProductEntity.getInCount() + count); + } + invPreProductService.updateInvProduct(invPreProductEntity); + } + } else { //普通出入库 + InvProductEntity invProductEntity = invProductService.selectByUuid(erpOrderEntity.getGoodsid(), erpOrderEntity.getBatchNo(), warehouseEntity.getSupId()); + if (invProductEntity == null) { + invProductEntity = buildInvProduct(erpOrderEntity.getGoodsid(), erpOrderEntity, orderEntity, warehouseEntity); + invProductEntity.setUnitFk(orderEntity.getFromCorpId()); + invProductService.insertInvProduct(invProductEntity); + } else { + int actCount = getActCount(warehouseEntity); + int count = actCount * warehouseEntity.getCount(); + if (orderEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { + invProductEntity.setOutCount(invProductEntity.getOutCount() + count); + } else if (orderEntity.getMainAction().equals(ConstantType.TYPE_PUT)) { + invProductEntity.setInCount(invProductEntity.getInCount() + count); + } + invProductService.updateInvProduct(invProductEntity); + } + + } + } + + //根据单据详情与条码生成库存码明细 + List mInvProductDetailEntities = new ArrayList<>(); if (erpOrderEntities != null && erpOrderEntities.size() > 0) { for (ErpOrderEntity erpOrderEntity : erpOrderEntities) { - - String nameCode = erpOrderEntity.getNameCode(); String erpId = erpOrderEntity.getGoodsid(); FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); filterUdiInfoRequest.setId(erpId); @@ -72,60 +144,678 @@ public class InvProductsTrService { relId = udiRelevanceResponses.get(0).getId() + ""; } if (relId != null) { - InvProductEntity invProductEntity = invProductService.selectByUuid(relId, erpOrderEntity.getBatchNo()); - if (invProductEntity == null) { - invProductEntity = new InvProductEntity(); - invProductEntity.setRelIdFk(relId); - invProductEntity.setBatchNo(erpOrderEntity.getBatchNo()); - invProductEntity.setCustomerId(orderEntity.getCustomerId()); - invProductEntity.setExpireDate(erpOrderEntity.getExpireDate()); - invProductEntity.setProductionDate(erpOrderEntity.getProductDate()); - invProductEntity.setGgxh(erpOrderEntity.getPackSpec()); - invProductEntity.setNameCode(erpOrderEntity.getNameCode()); - invProductEntity.setProductsName(erpOrderEntity.getCoName()); - invProductEntity.setYlqxzcrbarmc(erpOrderEntity.getProductCompany()); - invProductEntity.setZczbhhzbapzbh(erpOrderEntity.getAuthCode()); - if (orderEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { - invProductEntity.setOutCount(erpOrderEntity.getCount()); - } else if (orderEntity.getMainAction().equals(ConstantType.TYPE_PUT)) { - invProductEntity.setInCount(erpOrderEntity.getCount()); - } - invProductService.insertInvProduct(invProductEntity); - invProductEntity = invProductService.selectByUuid(relId, erpOrderEntity.getBatchNo()); + List invProductDetailEntities; + if (bussinessTypeEntity.isAdvanceType()) {//预入库,则转存预入库 + invProductDetailEntities = buildInvProductDetail(orderId, erpOrderEntity, orderEntity, 1, true); + } else { - if (orderEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { - invProductEntity.setOutCount(invProductEntity.getOutCount() + erpOrderEntity.getCount()); - } else if (orderEntity.getMainAction().equals(ConstantType.TYPE_PUT)) { - invProductEntity.setInCount(invProductEntity.getInCount() + erpOrderEntity.getCount()); - } - invProductService.updateInvProduct(invProductEntity); + invProductDetailEntities = buildInvProductDetail(orderId, erpOrderEntity, orderEntity, 2, false); + } + if (invProductDetailEntities != null && invProductDetailEntities.size() > 0) { + mInvProductDetailEntities.addAll(invProductDetailEntities); } - List warehouseEntities = codesService.findByReceiptId(orderId); - if (warehouseEntities != null && warehouseEntities.size() > 0) { - for (WarehouseEntity warehouseEntity : warehouseEntities) { - UdiInfoEntity udiInfoEntity = udiInfoService.findByNameCode(warehouseEntity.getNameCode()); - if (udiInfoEntity.getUuid().equals(erpOrderEntity.getUuidFk())) { - if ((warehouseEntity.getBatchNo() == null && erpOrderEntity.getBatchNo() == null) || - warehouseEntity.getBatchNo().equals(erpOrderEntity.getBatchNo())) { - InvProductDetailEntity invProductDetailEntity = new InvProductDetailEntity(); - invProductDetailEntity.setProductIdFk(invProductEntity.getId() + ""); - invProductDetailEntity.setCode(warehouseEntity.getCode()); - invProductDetailEntity.setAction(warehouseEntity.getAction()); - invProductDetailEntity.setMainAction(warehouseEntity.getMainAction()); - invProductDetailEntity.setOrderIdFk(warehouseEntity.getOrderId()); - invProductDetailEntity.setCount(warehouseEntity.getCount()); - invProductDetailEntity.setUpdateTime(new Date()); - invProductDetailEntity.setCustomerId(orderEntity.getCustomerId()); - invProductDetailService.insertInvProduct(invProductDetailEntity); - } + } + } + } + + //单据流转 + BussinessChangeTypeEntity bussinessChangeTypeEntity = bussinessChangeTypeService.findFirstByAction(bussinessLocalTypeEntity.getLocalAction()); + if (bussinessLocalTypeEntity.getChangeEnable() && bussinessChangeTypeEntity != null) { + + //普通出库 + if (ConstantType.TYPE_OUT.equals(bussinessTypeEntity.getMainAction()) && !bussinessTypeEntity.isAdvanceType()) { + List datas = addOutOrder(orderEntity, mInvProductDetailEntities);//1.先计算现有库存, +// insetInv(bussinessTypeEntity.isAdvanceType(), mInvProductDetailEntities);//2.插入当前库存 + List temps = filterMapCodes(datas); + buildInOrder(bussinessChangeTypeEntity, temps, orderEntity); //3.生成流转单据 + } else if (ConstantType.TYPE_PUT.equals(bussinessTypeEntity.getMainAction()) && !bussinessTypeEntity.isAdvanceType()) + //普通入库补单 + { + List datas = addPutOrder(orderEntity, mInvProductDetailEntities); + List temps = filterMapCodes(datas); +// insetInv(bussinessTypeEntity.isAdvanceType(), mInvProductDetailEntities);//2.插入当前库存 + buildPreOutOrder(bussinessChangeTypeEntity, temps, orderEntity); //3.生成流转单据 + } else if (ConstantType.TYPE_OUT.equals(bussinessTypeEntity.getMainAction()) && bussinessTypeEntity.isAdvanceType()) { + //寄售出库补单 + List datas = addPreOutOrder(orderEntity, mInvProductDetailEntities); + List temps = filterMapCodes(datas); +// insetInv(bussinessTypeEntity.isAdvanceType(), mInvProductDetailEntities);//2.插入当前库存 + buildPreInOrder(bussinessChangeTypeEntity, temps, orderEntity); //3.生成流转单据 + } + + } else { + insetInv(bussinessTypeEntity.isAdvanceType(), mInvProductDetailEntities);//2.插入当前库存 + } + } + + } + + //普通出库补单 + public List addOutOrder(OrderEntity orderEntity, List invProductDetailEntities) { + List warehouseEntities = codesService.findByReceiptId(orderEntity.getId()); + List inList = new ArrayList<>(); + for (WarehouseEntity warehouseEntity : warehouseEntities) { + //获取普通出入库结余数量 + int actCount = getActCount(warehouseEntity); + UdiInfoEntity udiInfoEntity = getMinDi(warehouseEntity); + String code = warehouseEntity.getCode(); + if (udiInfoEntity.getDiType() == ConstantStatus.DITYPE_PACK || udiInfoEntity.getDiType() == ConstantStatus.DITYPE_SYDY + || (udiInfoEntity.getSjcpbm() != null && !"".equals(udiInfoEntity.getSjcpbm()))) { + warehouseEntity.setNameCode(udiInfoEntity.getNameCode()); + code = FilterUdiUtils.transGlxpNoSerStr(warehouseEntity); +// warehouseEntity.setCode(code); +// warehouseEntity.setCount(actCount * warehouseEntity.getCount()); + } + int invCount = getCountByOrder(null, warehouseEntity.getCode(), warehouseEntity.getSupId()); + if (invCount <= 0) { + invCount = getCountByOrder(null, code, warehouseEntity.getSupId()); + } + if (invCount > 0) { + int count = actCount * warehouseEntity.getCount(); + if (count > invCount) { + int lea = count - invCount; + warehouseEntity.setCount(lea / (getActCount(warehouseEntity))); + inList.add(warehouseEntity); + } + } else { + inList.add(warehouseEntity); + } + InvProductDetailEntity invProductDetailEntity = filterInvByCode(invProductDetailEntities, warehouseEntity.getCode()); + insetInvSingle(false, invProductDetailEntity); + warehouseEntity.setCode(code); + } + return inList; + } + + //普通入库补单 + public List addPutOrder(OrderEntity orderEntity, List invProductDetailEntities) { + List warehouseEntities = codesService.findByReceiptId(orderEntity.getId()); + List preOutList = new ArrayList<>(); + for (WarehouseEntity warehouseEntity : warehouseEntities) { + //获取普通出入库结余数量 + FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); +// filterInvProductDetailRequest.setCode(warehouseEntity.getCode()); + filterInvProductDetailRequest.setProductIdFk(warehouseEntity.getRelId()); + filterInvProductDetailRequest.setSupId(warehouseEntity.getSupId()); + List detailJoinResponseList + = invPreProductDetailService.filterJoinInvProduct(filterInvProductDetailRequest); + UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectById(warehouseEntity.getRelId()); + if ((detailJoinResponseList != null && detailJoinResponseList.size() > 0) + || (udiRelevanceEntity.getIsAdavence() != null && udiRelevanceEntity.getIsAdavence()) + ) { + preOutList.add(warehouseEntity); + } + InvProductDetailEntity invProductDetailEntity = filterInvByCode(invProductDetailEntities, warehouseEntity.getCode()); + insetInvSingle(false, invProductDetailEntity); + } + return preOutList; + } + + //寄售出库补单 + public List addPreOutOrder(OrderEntity orderEntity, List invProductDetailEntities) { + + + List warehouseEntities = codesService.findByReceiptId(orderEntity.getId()); + List prePutList = new ArrayList<>(); + for (WarehouseEntity warehouseEntity : warehouseEntities) { +// int actCount = getActCount(warehouseEntity); + String code = warehouseEntity.getCode(); + UdiInfoEntity udiInfoEntity = getMinDi(warehouseEntity); + if (udiInfoEntity.getDiType() == ConstantStatus.DITYPE_PACK || udiInfoEntity.getDiType() == ConstantStatus.DITYPE_SYDY + || (udiInfoEntity.getSjcpbm() != null && !"".equals(udiInfoEntity.getSjcpbm()))) { + warehouseEntity.setNameCode(udiInfoEntity.getNameCode()); + code = FilterUdiUtils.transGlxpNoSerStr(warehouseEntity); +// warehouseEntity.setCode(code); +// warehouseEntity.setCount(actCount * warehouseEntity.getCount()); + } + //获取寄售出入库结余数量 + int invCount = getPreCountByOrder(null, warehouseEntity.getCode(), warehouseEntity.getSupId()); + if (invCount <= 0) { + invCount = getPreCountByOrder(null, code, warehouseEntity.getSupId()); + } + if (invCount > 0) { + int count = getActCount(warehouseEntity) * warehouseEntity.getCount(); + if (count > invCount) { + int lea = count - invCount; + warehouseEntity.setCount(lea / (getActCount(warehouseEntity))); + prePutList.add(warehouseEntity); + } + } else { + prePutList.add(warehouseEntity); + } + InvProductDetailEntity invProductDetailEntity = filterInvByCode(invProductDetailEntities, warehouseEntity.getCode()); + insetInvSingle(true, invProductDetailEntity); + warehouseEntity.setCode(code); + } + return prePutList; + } + + + public ErpOrderEntity getErpOrders(WarehouseEntity warehouseEntity, List erpOrderEntities) { + + for (ErpOrderEntity erpOrderEntity : erpOrderEntities) { + if (warehouseEntity.getRelId().equals(erpOrderEntity.getGoodsid())) { + if ((warehouseEntity.getBatchNo() == null && erpOrderEntity.getBatchNo() == null) || + warehouseEntity.getBatchNo().equals(erpOrderEntity.getBatchNo())) { + return erpOrderEntity; + } + } + } + return null; + } + + + //生成寄售出库单据 + public void buildPreOutOrder(BussinessChangeTypeEntity + bussinessChangeTypeEntity, List preOutList, OrderEntity orderEntity) { + if (preOutList == null || preOutList.size() <= 0) { + return; + } + //寄售出库生成单据 + CompanyEntity companyEntity = companyService.findCompany(Long.parseLong(Constant.SYSTEM_CUSTOMER_ID)); + OrderEntity outOrder = new OrderEntity(); + BeanUtils.copyProperties(orderEntity, outOrder); + outOrder.setActDate(DateUtil.getBeforeDay(outOrder.getActDate(), bussinessChangeTypeEntity.getBeforeTime())); + outOrder.setAction(bussinessChangeTypeEntity.getScAction()); + outOrder.setMainAction(ConstantType.TYPE_OUT); + SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("additional_auto_submit"); + if ("1".equals(systemParamConfigEntity.getParamValue())) { + outOrder.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); + } else { + outOrder.setStatus(ConstantStatus.ORDER_STATUS_ADDITIONAL); + } + + outOrder.setContrastStatus(ConstantStatus.ORDER_CHECK_UN); + outOrder.setErpFk(null); + outOrder.setCustomerId(Constant.SYSTEM_CUSTOMER_ID); + outOrder.setId(CustomUtil.getId()); + outOrder.setFromCorp(companyEntity.getCompanyName()); + outOrder.setFromCorpId(companyEntity.getUnitIdFk()); + orderService.insertOrder(outOrder); + for (WarehouseEntity warehouseEntity : preOutList) { + warehouseEntity.setOrderId(outOrder.getId()); + warehouseEntity.setFromCorp(orderEntity.getFromCorp()); + warehouseEntity.setFromCorpId(orderEntity.getFromCorpId()); + warehouseEntity.setId(null); + warehouseEntity.setAction(bussinessChangeTypeEntity.getScAction()); + warehouseEntity.setMainAction(ConstantType.TYPE_OUT); + } + codesTempService.insertCodesTemp(preOutList); +// ioTransInoutService.transInout(outOrder.getId()); + } + + //生成寄售入库单据 + public void buildPreInOrder(BussinessChangeTypeEntity + bussinessChangeTypeEntity, List useInList, OrderEntity orderEntity) { + if (useInList.size() <= 0) { + return; + } + + //采购入库生成单据 + Map> filterSupMaps = new HashMap<>(); + List unkonwCorpList = new ArrayList<>(); + + //根据库存,过滤供应商,条码分组 + for (WarehouseEntity warehouseEntity : useInList) { + if (warehouseEntity.getSupId() != null) { + if (filterSupMaps.get(warehouseEntity.getSupId()) == null) { + List temps = new ArrayList<>(); + temps.add(warehouseEntity); + filterSupMaps.put(warehouseEntity.getSupId(), temps); + } else { + filterSupMaps.get(warehouseEntity.getSupId()).add(warehouseEntity); + } + } else + unkonwCorpList.add(warehouseEntity); + } + + //有供应商生成采购入库单据 + for (String corpName : filterSupMaps.keySet()) { + List temps; + temps = filterSupMaps.get(corpName); + OrderEntity outOrder = new OrderEntity(); + BeanUtils.copyProperties(orderEntity, outOrder); + outOrder.setActDate(DateUtil.getBeforeDay(outOrder.getActDate(), bussinessChangeTypeEntity.getBeforeTime())); + outOrder.setAction(bussinessChangeTypeEntity.getScAction()); + outOrder.setMainAction(ConstantType.TYPE_PUT); + SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("additional_auto_submit"); + if ("1".equals(systemParamConfigEntity.getParamValue())) { + outOrder.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); + } else { + outOrder.setStatus(ConstantStatus.ORDER_STATUS_ADDITIONAL); + } + + outOrder.setCustomerId(Constant.SYSTEM_CUSTOMER_ID); + outOrder.setContrastStatus(ConstantStatus.ORDER_CHECK_UN); + outOrder.setErpFk(null); + outOrder.setFromType(ConstantStatus.FROM_CHANGE); + outOrder.setId(CustomUtil.getId()); + BasicUnitMaintainEntity basicUnitMaintainEntity = basicUnitMaintainService.selectByErpId(corpName); + outOrder.setFromCorp(basicUnitMaintainEntity.getName()); + outOrder.setFromCorpId(corpName); + orderService.insertOrder(outOrder); + for (WarehouseEntity warehouseEntity : temps) { + warehouseEntity.setOrderId(outOrder.getId()); + warehouseEntity.setId(null); + warehouseEntity.setFromCorp(outOrder.getFromCorp()); + warehouseEntity.setFromCorpId(outOrder.getFromCorpId()); + warehouseEntity.setAction(bussinessChangeTypeEntity.getScAction()); + warehouseEntity.setMainAction(ConstantType.TYPE_PUT); + } + codesTempService.insertCodesTemp(temps); +// ioTransInoutService.transInout(outOrder.getId()); + } + + + //无供应商,一个条码生成一个错误单据,到时候利用单据合并生成同一个单据 + for (WarehouseEntity warehouseEntity : unkonwCorpList) { + OrderEntity outOrder = new OrderEntity(); + BeanUtils.copyProperties(orderEntity, outOrder); + outOrder.setActDate(DateUtil.getBeforeDay(outOrder.getActDate(), bussinessChangeTypeEntity.getBeforeTime())); + outOrder.setAction(bussinessChangeTypeEntity.getScAction()); + outOrder.setMainAction(ConstantType.TYPE_PUT); + SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("additional_auto_submit"); + if ("1".equals(systemParamConfigEntity.getParamValue())) { + outOrder.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); + } else { + outOrder.setStatus(ConstantStatus.ORDER_STATUS_ADDITIONAL); + } + + outOrder.setContrastStatus(ConstantStatus.ORDER_CHECK_UN); + outOrder.setRemark("未选择供应商"); + outOrder.setErpFk(null); + outOrder.setId(CustomUtil.getId()); + outOrder.setFromCorp(null); + outOrder.setCustomerId(Constant.SYSTEM_CUSTOMER_ID); + outOrder.setFromCorpId(null); + orderService.insertOrder(outOrder); + warehouseEntity.setOrderId(outOrder.getId()); + warehouseEntity.setId(null); + warehouseEntity.setAction(bussinessChangeTypeEntity.getScAction()); + warehouseEntity.setMainAction(ConstantType.TYPE_PUT); + warehouseEntity.setFromCorp(null); + warehouseEntity.setFromCorpId(null); + codesTempService.insertCodesTempSingle(warehouseEntity); + } + + + } + + //生成普通入库单据 + public void buildInOrder(BussinessChangeTypeEntity + bussinessChangeTypeEntity, List useInList, OrderEntity orderEntity) { + if (useInList.size() <= 0) { + return; + } + //采购入库生成单据 + Map> filterSupMaps = new HashMap<>(); + List unkonwCorpList = new ArrayList<>(); + + //根据库存,过滤供应商,条码分组 + for (WarehouseEntity warehouseEntity : useInList) { + if (warehouseEntity.getSupId() != null) { + if (filterSupMaps.get(warehouseEntity.getSupId()) == null) { + List temps = new ArrayList<>(); + temps.add(warehouseEntity); + filterSupMaps.put(warehouseEntity.getSupId(), temps); + } else { + filterSupMaps.get(warehouseEntity.getSupId()).add(warehouseEntity); + } + } else + unkonwCorpList.add(warehouseEntity); + } + + //有供应商生成采购入库单据 + for (String corpName : filterSupMaps.keySet()) { + List temps; + temps = filterSupMaps.get(corpName); + OrderEntity outOrder = new OrderEntity(); + BeanUtils.copyProperties(orderEntity, outOrder); + outOrder.setActDate(DateUtil.getBeforeDay(outOrder.getActDate(), bussinessChangeTypeEntity.getBeforeTime())); + outOrder.setAction(bussinessChangeTypeEntity.getScAction()); + outOrder.setMainAction(ConstantType.TYPE_PUT); + outOrder.setContrastStatus(ConstantStatus.ORDER_CHECK_UN); + outOrder.setCustomerId(Constant.SYSTEM_CUSTOMER_ID); + outOrder.setErpFk(null); + outOrder.setFromType(ConstantStatus.FROM_CHANGE); + outOrder.setId(CustomUtil.getId()); + BasicUnitMaintainEntity basicUnitMaintainEntity = basicUnitMaintainService.selectByErpId(corpName); + outOrder.setFromCorp(basicUnitMaintainEntity.getName()); + outOrder.setFromCorpId(corpName); + SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("additional_auto_submit"); + if ("1".equals(systemParamConfigEntity.getParamValue())) { + outOrder.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); + } else { + outOrder.setStatus(ConstantStatus.ORDER_STATUS_ADDITIONAL); + } + + orderService.insertOrder(outOrder); + for (WarehouseEntity warehouseEntity : temps) { + warehouseEntity.setOrderId(outOrder.getId()); + warehouseEntity.setId(null); + warehouseEntity.setFromCorp(outOrder.getFromCorp()); + warehouseEntity.setFromCorpId(outOrder.getFromCorpId()); + warehouseEntity.setAction(bussinessChangeTypeEntity.getScAction()); + warehouseEntity.setMainAction(ConstantType.TYPE_PUT); + } + codesTempService.insertCodesTemp(temps); +// ioTransInoutService.transInout(outOrder.getId()); + } + + + //无供应商,一个条码生成一个错误单据,到时候利用单据合并生成同一个单据 + for (WarehouseEntity warehouseEntity : unkonwCorpList) { + OrderEntity outOrder = new OrderEntity(); + BeanUtils.copyProperties(orderEntity, outOrder); + outOrder.setActDate(DateUtil.getBeforeDay(outOrder.getActDate(), bussinessChangeTypeEntity.getBeforeTime())); + outOrder.setAction(bussinessChangeTypeEntity.getScAction()); + outOrder.setMainAction(ConstantType.TYPE_PUT); + SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("additional_auto_submit"); + if ("1".equals(systemParamConfigEntity.getParamValue())) { + outOrder.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); + } else { + outOrder.setStatus(ConstantStatus.ORDER_STATUS_ADDITIONAL); + } + + outOrder.setContrastStatus(ConstantStatus.ORDER_CHECK_UN); + outOrder.setRemark("未选择供应商"); + outOrder.setErpFk(null); + outOrder.setId(CustomUtil.getId()); + outOrder.setFromCorp(null); + outOrder.setFromCorpId(null); + orderService.insertOrder(outOrder); + warehouseEntity.setOrderId(outOrder.getId()); + warehouseEntity.setId(null); + warehouseEntity.setAction(bussinessChangeTypeEntity.getScAction()); + warehouseEntity.setMainAction(ConstantType.TYPE_PUT); + warehouseEntity.setFromCorp(null); + warehouseEntity.setFromCorpId(null); + codesTempService.insertCodesTempSingle(warehouseEntity); + } + + + } + + + //生成库存 + private InvProductEntity buildInvProduct(String relId, ErpOrderEntity erpOrderEntity, OrderEntity orderEntity, WarehouseEntity warehouseEntity) { + InvProductEntity invProductEntity = new InvProductEntity(); + invProductEntity.setRelIdFk(relId); + invProductEntity.setBatchNo(erpOrderEntity.getBatchNo()); + invProductEntity.setCustomerId(orderEntity.getCustomerId()); + invProductEntity.setExpireDate(erpOrderEntity.getExpireDate()); + invProductEntity.setProductionDate(erpOrderEntity.getProductDate()); + invProductEntity.setGgxh(erpOrderEntity.getPackSpec()); + invProductEntity.setSupId(warehouseEntity.getSupId()); + invProductEntity.setNameCode(erpOrderEntity.getNameCode()); + invProductEntity.setProductsName(erpOrderEntity.getCoName()); + invProductEntity.setYlqxzcrbarmc(erpOrderEntity.getProductCompany()); + invProductEntity.setZczbhhzbapzbh(erpOrderEntity.getAuthCode()); + int count = getActCount(warehouseEntity) * warehouseEntity.getCount(); + if (orderEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { + invProductEntity.setOutCount(count); + } else if (orderEntity.getMainAction().equals(ConstantType.TYPE_PUT)) { + invProductEntity.setInCount(count); + } + + return invProductEntity; + } + + //生成库存条码 + private List buildInvProductDetail(String orderId, ErpOrderEntity erpOrderEntity, + OrderEntity orderEntity, Integer purchaseType, boolean isPre) { + + List mInvProductDetailEntities = new ArrayList<>(); + List warehouseEntities = codesService.findByReceiptId(orderId); + if (warehouseEntities != null && warehouseEntities.size() > 0) { + for (WarehouseEntity warehouseEntity : warehouseEntities) { + if (warehouseEntity.getRelId().equals(erpOrderEntity.getGoodsid())) { + if ((warehouseEntity.getBatchNo() == null && erpOrderEntity.getBatchNo() == null) || + warehouseEntity.getBatchNo().equals(erpOrderEntity.getBatchNo())) { + InvProductDetailEntity invProductDetailEntity = new InvProductDetailEntity(); + invProductDetailEntity.setOriginCode(warehouseEntity.getCode()); + invProductDetailEntity.setProductIdFk(erpOrderEntity.getGoodsid() + ""); + int actCount = getActCount(warehouseEntity); + + String code = warehouseEntity.getCode(); + UdiInfoEntity udiInfoEntity = getMinDi(warehouseEntity); + if (udiInfoEntity.getDiType() == ConstantStatus.DITYPE_PACK || udiInfoEntity.getDiType() == ConstantStatus.DITYPE_SYDY + || (udiInfoEntity.getSjcpbm() != null && !"".equals(udiInfoEntity.getSjcpbm()))) { + warehouseEntity.setNameCode(udiInfoEntity.getNameCode()); + code = FilterUdiUtils.transGlxpNoSerStr(warehouseEntity); + warehouseEntity.setCode(code); + } + invProductDetailEntity.setCode(code); + invProductDetailEntity.setBatchNo(warehouseEntity.getBatchNo()); + invProductDetailEntity.setProductionDate(warehouseEntity.getProduceDate()); + invProductDetailEntity.setExpireDate(warehouseEntity.getExpireDate()); + invProductDetailEntity.setAction(warehouseEntity.getAction()); + invProductDetailEntity.setMainAction(orderEntity.getMainAction()); + invProductDetailEntity.setOrderIdFk(warehouseEntity.getOrderId()); + invProductDetailEntity.setCount(actCount * warehouseEntity.getCount()); + if (purchaseType != null) { + invProductDetailEntity.setPurchaseType(purchaseType); + } + invProductDetailEntity.setStockIdFk(orderEntity.getErpFk()); + invProductDetailEntity.setUnitFk(orderEntity.getFromCorpId()); + invProductDetailEntity.setUpdateTime(new Date()); + invProductDetailEntity.setCustomerId(orderEntity.getCustomerId()); + if (orderEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { + if (warehouseEntity.getSupId() != null) { + invProductDetailEntity.setSupId(warehouseEntity.getSupId()); + } else { + FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); + filterInvProductDetailRequest.setMainAction(ConstantType.TYPE_PUT); + filterInvProductDetailRequest.setCode(warehouseEntity.getCode()); + List temps = null; + if (isPre) { + temps = invPreProductDetailService.filterInvProduct(filterInvProductDetailRequest); + } else { + temps = invProductDetailService.filterInvProduct(filterInvProductDetailRequest); + } + if (temps.size() > 0) { + invProductDetailEntity.setSupId(temps.get(0).getSupId()); } } - + } else { + invProductDetailEntity.setSupId(orderEntity.getFromCorpId()); } + + mInvProductDetailEntities.add(invProductDetailEntity); } } } } + return mInvProductDetailEntities; + } + public void insetInv(boolean isPre, List invProductDetailEntities) { + if (isPre) { + invPreProductDetailService.insertInvProducts(invProductDetailEntities); + } else { + invProductDetailService.insertInvProducts(invProductDetailEntities); + } } + + public void insetInvSingle(boolean isPre, InvProductDetailEntity invProductDetailEntity) { + List invProductDetailEntities = new ArrayList<>(); + invProductDetailEntities.add(invProductDetailEntity); + if (isPre) { + invPreProductDetailService.insertInvProducts(invProductDetailEntities); + } else { + invProductDetailService.insertInvProducts(invProductDetailEntities); + } + } + + + public InvProductDetailEntity filterInvByCode(List invProductDetailEntities, String code) { + + for (InvProductDetailEntity invProductDetailEntity : invProductDetailEntities) { + if (invProductDetailEntity.getOriginCode().equals(code)) { + return invProductDetailEntity; + } + } + return null; + + } + + public int getActCount(WarehouseEntity warehouseEntity) { + UdiRelevanceResponse udiInfoBean = udiRelevanceService.selectByNameCode(warehouseEntity.getNameCode()); + if (udiInfoBean != null) { + if (udiInfoBean.getIsUseDy() == 1 && udiInfoBean.getDiType() != 2) { + if (udiInfoBean.getBhzxxsbzsl() == 0) + return udiInfoBean.getZxxsbzbhsydysl(); + else + return udiInfoBean.getZxxsbzbhsydysl() * udiInfoBean.getBhzxxsbzsl(); + } else { + return udiInfoBean.getBhzxxsbzsl(); + } + } + return 1; + } + + public boolean isMutiPack(WarehouseEntity warehouseEntity) { + UdiRelevanceResponse udiInfoBean = udiRelevanceService.selectByNameCode(warehouseEntity.getNameCode()); + List udiInfoEntities = udiInfoService.findByUuids(udiInfoBean.getUuid()); + if (udiInfoBean != null && udiInfoEntities.size() > 1) { + return true; + } + return false; + } + + public UdiInfoEntity getMinDi(WarehouseEntity warehouseEntity) { + UdiRelevanceResponse udiInfoBean = udiRelevanceService.selectByNameCode(warehouseEntity.getNameCode()); + List udiInfoEntities = udiInfoService.findByUuids(udiInfoBean.getUuid()); + if (udiInfoBean != null) { + + + for (UdiInfoEntity udiInfoEntity : udiInfoEntities) { + if (udiInfoBean.getIsUseDy() == 1) { + if (udiInfoEntity.getDiType() == ConstantStatus.DITYPE_SYDY) { + return udiInfoEntity; + } + } else { + if (udiInfoEntity.getDiType() == ConstantStatus.DITYPE_MAIN) { + return udiInfoEntity; + } + } + } + } + return null; + } + + + //根据条码获取库存结余数量 + public int getCountByOrder(String mainAction, String code, String supId) { + FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); + filterInvProductDetailRequest.setCode(code); + filterInvProductDetailRequest.setSupId(supId); + if (mainAction != null) + filterInvProductDetailRequest.setMainAction(mainAction); + List detailJoinResponseList + = invProductDetailService.filterJoinInvProduct(filterInvProductDetailRequest); + int invCount = 0; + if (detailJoinResponseList != null && detailJoinResponseList.size() > 0) { + for (InvProductDetailJoinResponse invProductDetailJoinResponse : detailJoinResponseList) { + if (invProductDetailJoinResponse.getMainAction().equals(ConstantType.TYPE_OUT)) { + invCount = invCount - invProductDetailJoinResponse.getCount(); + } else { + invCount = invCount + invProductDetailJoinResponse.getCount(); + } + + } + } + return invCount; + } + + //根据条码获取预入库结余数量 + public int getPreCountByOrder(String mainAction, String code, String supId) { + FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); + filterInvProductDetailRequest.setCode(code); + filterInvProductDetailRequest.setSupId(supId); + if (mainAction != null) + filterInvProductDetailRequest.setMainAction(mainAction); + List detailJoinResponseList + = invPreProductDetailService.filterJoinInvProduct(filterInvProductDetailRequest); + int invCount = 0; + if (detailJoinResponseList != null && detailJoinResponseList.size() > 0) { + for (InvProductDetailJoinResponse invProductDetailJoinResponse : detailJoinResponseList) { + if (invProductDetailJoinResponse.getMainAction().equals(ConstantType.TYPE_OUT)) { + invCount = invCount - invProductDetailJoinResponse.getCount(); + } else { + invCount = invCount + invProductDetailJoinResponse.getCount(); + } + + } + } + return invCount; + } + + + //根据条码获取库存结余数量 + public int getCountByProduct(String mainAction, String productId, String batchNo, String supId) { + FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); + filterInvProductDetailRequest.setProductIdFk(productId); + filterInvProductDetailRequest.setBatchNo(batchNo); + filterInvProductDetailRequest.setSupId(supId); + if (mainAction != null) + filterInvProductDetailRequest.setMainAction(mainAction); + List detailJoinResponseList + = invProductDetailService.filterJoinInvProduct(filterInvProductDetailRequest); + int invCount = 0; + if (detailJoinResponseList != null && detailJoinResponseList.size() > 0) { + for (InvProductDetailJoinResponse invProductDetailJoinResponse : detailJoinResponseList) { + if (invProductDetailJoinResponse.getMainAction().equals(ConstantType.TYPE_OUT)) { + invCount = invCount - invProductDetailJoinResponse.getCount(); + } else { + invCount = invCount + invProductDetailJoinResponse.getCount(); + } + } + } + return invCount; + } + + //根据条码获取预入库结余数量 + public int getPreCountByProduct(String mainAction, String productId, String batchNo, String supId) { + FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); + filterInvProductDetailRequest.setProductIdFk(productId); + filterInvProductDetailRequest.setBatchNo(batchNo); + filterInvProductDetailRequest.setSupId(supId); + if (mainAction != null) + filterInvProductDetailRequest.setMainAction(mainAction); + List detailJoinResponseList + = invPreProductDetailService.filterJoinInvProduct(filterInvProductDetailRequest); + int invCount = 0; + if (detailJoinResponseList != null && detailJoinResponseList.size() > 0) { + for (InvProductDetailJoinResponse invProductDetailJoinResponse : detailJoinResponseList) { + if (invProductDetailJoinResponse.getMainAction().equals(ConstantType.TYPE_OUT)) { + invCount = invCount - invProductDetailJoinResponse.getCount(); + } else { + invCount = invCount + invProductDetailJoinResponse.getCount(); + } + + } + } + return invCount; + } + + //合并条码 + public List filterMapCodes(List warehouseEntityList) { + Map filterMap = new HashMap<>(); + for (WarehouseEntity warehouseEntity : warehouseEntityList) { + WarehouseEntity temp = filterMap.get(warehouseEntity.getCode()); + if (temp == null) { + filterMap.put(warehouseEntity.getCode(), warehouseEntity); + } else { + WarehouseEntity tempEntity = filterMap.get(warehouseEntity.getCode()); + filterMap.get(warehouseEntity.getCode()).setCount(tempEntity.getCount() + 1); + } + } + List results = new ArrayList<>(); + for (WarehouseEntity warehouseEntity : filterMap.values()) { + results.add(warehouseEntity); + } + return results; + } + } \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/sale/admin/thread/InvProductsTrService_back.java b/api-admin/src/main/java/com/glxp/sale/admin/thread/InvProductsTrService_back.java new file mode 100644 index 0000000..d488be6 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/thread/InvProductsTrService_back.java @@ -0,0 +1,879 @@ +package com.glxp.sale.admin.thread; + +import com.glxp.sale.admin.constant.ConstantStatus; +import com.glxp.sale.admin.constant.ConstantType; +import com.glxp.sale.admin.entity.basic.BasicUnitMaintainEntity; +import com.glxp.sale.admin.entity.basic.BussinessChangeTypeEntity; +import com.glxp.sale.admin.entity.basic.BussinessLocalTypeEntity; +import com.glxp.sale.admin.entity.basic.BussinessTypeEntity; +import com.glxp.sale.admin.entity.inout.ErpOrderEntity; +import com.glxp.sale.admin.entity.inout.FilterErpOrderRequest; +import com.glxp.sale.admin.entity.inout.OrderEntity; +import com.glxp.sale.admin.entity.inout.WarehouseEntity; +import com.glxp.sale.admin.entity.inventory.InvProductDetailEntity; +import com.glxp.sale.admin.entity.inventory.InvProductEntity; +import com.glxp.sale.admin.req.basic.FilterUdiInfoRequest; +import com.glxp.sale.admin.req.inventory.FilterInvProductDetailRequest; +import com.glxp.sale.admin.res.basic.UdiRelevanceResponse; +import com.glxp.sale.admin.res.inventory.InvProductDetailJoinResponse; +import com.glxp.sale.admin.service.basic.*; +import com.glxp.sale.admin.service.inout.CodesService; +import com.glxp.sale.admin.service.inout.CodesTempService; +import com.glxp.sale.admin.service.inout.OrderDetailService; +import com.glxp.sale.admin.service.inout.OrderService; +import com.glxp.sale.admin.service.inventory.InvPreProductDetailService; +import com.glxp.sale.admin.service.inventory.InvPreProductService; +import com.glxp.sale.admin.service.inventory.InvProductDetailService; +import com.glxp.sale.admin.service.inventory.InvProductService; +import com.glxp.sale.admin.util.CustomUtil; +import com.glxp.sale.admin.util.DateUtil; +import org.springframework.beans.BeanUtils; +import org.springframework.context.annotation.Lazy; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.*; +import java.util.stream.Collectors; + + +@Service +public class InvProductsTrService_back { + + + @Resource + private OrderService orderService; + @Resource + private OrderDetailService myErpOrderService; + @Resource + private CodesService codesService; + @Resource + private CodesTempService codesTempService; + @Resource + private UdiRelevanceService udiRelevanceService; + @Resource + private UdiInfoService udiInfoService; + @Resource + private BussinessTypeService bussinessTypeService; + @Resource + private BussinessLocalTypeService bussinessLocalTypeService; + @Resource + private InvProductService invProductService; + @Resource + private InvProductDetailService invProductDetailService; + @Resource + private InvPreProductService invPreProductService; + @Resource + private InvPreProductDetailService invPreProductDetailService; + @Resource + private BussinessChangeTypeService bussinessChangeTypeService; + @Resource + private BasicUnitMaintainService basicUnitMaintainService; + + @Resource + @Lazy + private IoTransInoutService ioTransInoutService; + + + @Async + public void genInvProducts(String orderId) { + OrderEntity orderEntity = orderService.findById(orderId); + if (orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_SUCCESS && + (orderEntity.getContrastStatus() == ConstantStatus.ORDER_CHECK_SUCCESS || + orderEntity.getContrastStatus() == ConstantStatus.ORDER_CHECK_UN)) { + + BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(orderEntity.getAction()); + BussinessLocalTypeEntity bussinessLocalTypeEntity = bussinessLocalTypeService.findBTByAction(bussinessTypeEntity.getLocalAction()); + + FilterErpOrderRequest filterErpOrderRequest = new FilterErpOrderRequest(); + filterErpOrderRequest.setOrderId(orderId); + List erpOrderEntities = myErpOrderService.filterAllMyErpOrder(filterErpOrderRequest); + + //根据条码生成库存产品列表(产品ID,批次号,供应商)唯一键插入 + List warehouseEntityList = codesService.findByReceiptId(orderId); + for (WarehouseEntity warehouseEntity : warehouseEntityList) { + ErpOrderEntity erpOrderEntity = getErpOrders(warehouseEntity, erpOrderEntities); + if (bussinessTypeEntity.isAdvanceType()) {//预入库,则转存预入库 + InvProductEntity invPreProductEntity = + invPreProductService.selectByUuid(erpOrderEntity.getGoodsid(), erpOrderEntity.getBatchNo(), warehouseEntity.getSupId()); + if (invPreProductEntity == null) { + invPreProductEntity = buildInvProduct(erpOrderEntity.getGoodsid(), erpOrderEntity, orderEntity, warehouseEntity); +// if (orderEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { +// if (invPreProductEntity.getSupId() != null) { +// invPreProductEntity.setSupId(warehouseEntity.getSupId()); +// } else { +// FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); +// filterInvProductDetailRequest.setMainAction(ConstantType.TYPE_PUT); +// filterInvProductDetailRequest.setCode(warehouseEntity.getCode()); +// List invProductDetailEntities = null; +// invProductDetailEntities = invPreProductDetailService.filterInvProduct(filterInvProductDetailRequest); +// if (invProductDetailEntities.size() > 0) { +// invPreProductEntity.setSupId(invProductDetailEntities.get(0).getSupId()); +// } +// } +// } else { +// invPreProductEntity.setSupId(orderEntity.getSupId()); +// } + invPreProductService.insertInvProduct(invPreProductEntity); + } else { + int count = getActCount(warehouseEntity, udiRelevanceService) * warehouseEntity.getCount(); + if (orderEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { + invPreProductEntity.setOutCount(invPreProductEntity.getOutCount() + count); + } else if (orderEntity.getMainAction().equals(ConstantType.TYPE_PUT)) { + invPreProductEntity.setInCount(invPreProductEntity.getInCount() + count); + } + invPreProductService.updateInvProduct(invPreProductEntity); + } + } else { //普通出入库 + InvProductEntity invProductEntity = invProductService.selectByUuid(erpOrderEntity.getGoodsid(), erpOrderEntity.getBatchNo(), warehouseEntity.getSupId()); + if (invProductEntity == null) { + invProductEntity = buildInvProduct(erpOrderEntity.getGoodsid(), erpOrderEntity, orderEntity, warehouseEntity); +// if (orderEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { +// if (warehouseEntity.getSupId() != null) { +// invProductEntity.setSupId(warehouseEntity.getSupId()); +// } else { +// FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); +// filterInvProductDetailRequest.setMainAction(ConstantType.TYPE_PUT); +// filterInvProductDetailRequest.setCode(warehouseEntity.getCode()); +// List invProductDetailEntities = null; +// invProductDetailEntities = invProductDetailService.filterInvProduct(filterInvProductDetailRequest); +// if (invProductDetailEntities.size() > 0) { +// invProductEntity.setSupId(invProductDetailEntities.get(0).getSupId()); +// } +// } +// } else { +// invProductEntity.setSupId(orderEntity.getFromCorpId()); +// } + invProductEntity.setUnitFk(orderEntity.getFromCorpId()); + invProductService.insertInvProduct(invProductEntity); + } else { + int count = getActCount(warehouseEntity, udiRelevanceService) * warehouseEntity.getCount(); + if (orderEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { + invProductEntity.setOutCount(invProductEntity.getOutCount() + count); + } else if (orderEntity.getMainAction().equals(ConstantType.TYPE_PUT)) { + invProductEntity.setInCount(invProductEntity.getInCount() + count); + } + invProductService.updateInvProduct(invProductEntity); + } + + } + } + //根据单据详情与条码生成库存码明细 + if (erpOrderEntities != null && erpOrderEntities.size() > 0) { + for (ErpOrderEntity erpOrderEntity : erpOrderEntities) { + + String erpId = erpOrderEntity.getGoodsid(); + FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); + filterUdiInfoRequest.setId(erpId); + List udiRelevanceResponses = udiRelevanceService.filterUdiRelevance(filterUdiInfoRequest); + String relId = null; + if (udiRelevanceResponses != null && udiRelevanceResponses.size() > 0) { + relId = udiRelevanceResponses.get(0).getId() + ""; + } + if (relId != null) { + if (bussinessTypeEntity.isAdvanceType()) {//预入库,则转存预入库 + buildInvProductDetail(orderId, erpOrderEntity, orderEntity, 1, true); + } else { + buildInvProductDetail(orderId, erpOrderEntity, orderEntity, 2, false); + } + + } + } + } + //临床出库单据流转 + if (ConstantType.TYPE_OUT.equals(bussinessTypeEntity.getMainAction()) + && bussinessLocalTypeEntity.getChangeEnable() + ) { + + if (ConstantType.TYPE_OUT_CLINIC.equals(bussinessTypeEntity.getAction())) + addOrderChange(orderEntity, bussinessTypeEntity); + else if (ConstantType.TYPE_OUT_CONSIGN.equals(bussinessTypeEntity.getAction())) { + addConsignOrderChange(orderEntity, bussinessTypeEntity); + } + } + } + + } + + public ErpOrderEntity getErpOrders(WarehouseEntity warehouseEntity, List erpOrderEntities) { + + for (ErpOrderEntity erpOrderEntity : erpOrderEntities) { + if (warehouseEntity.getRelId().equals(erpOrderEntity.getGoodsid())) { + if ((warehouseEntity.getBatchNo() == null && erpOrderEntity.getBatchNo() == null) || + warehouseEntity.getBatchNo().equals(erpOrderEntity.getBatchNo())) { + return erpOrderEntity; + } + } + } + return null; + } + + //临床是否补单 + public void addOrderChange(OrderEntity orderEntity, BussinessTypeEntity bussinessTypeEntity) { + BussinessLocalTypeEntity bussinessLocalTypeEntity = bussinessLocalTypeService.findBTByAction(bussinessTypeEntity.getLocalAction()); + if (bussinessLocalTypeEntity.getChangeEnable()) { + List bussinessChangeTypeEntities = bussinessChangeTypeService.findByAction(bussinessTypeEntity.getLocalAction()); + List warehouseEntities = codesService.findByReceiptId(orderEntity.getId()); + List preOutList = new ArrayList<>(); + List useInList = new ArrayList<>(); + for (WarehouseEntity warehouseEntity : warehouseEntities) { + //判断是否存在寄售入库库存 + int preCount = getPreCountByOrder(null, warehouseEntity.getCode(), warehouseEntity.getSupId()); + if (preCount >= 0) { + preOutList.add(warehouseEntity); + } +// FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); +// filterInvProductDetailRequest.setCode(warehouseEntity.getCode()); +// filterInvProductDetailRequest.setMainAction(ConstantType.TYPE_PUT); +// List invProductDetailEntities = invPreProductDetailService.filterJoinInvProduct(filterInvProductDetailRequest); +// //获取寄售入库数量 +// int invPreInCount = 0; +// if (invProductDetailEntities != null && invProductDetailEntities.size() > 0) { +// for (InvProductDetailJoinResponse invProductDetailJoinResponse : invProductDetailEntities) { +// invPreInCount = invPreInCount + invProductDetailJoinResponse.getCount(); +// } +// } +// +// +// //判断是否存在寄售出库库存 +// FilterInvProductDetailRequest filterInvProductDetailRequest2 = new FilterInvProductDetailRequest(); +// filterInvProductDetailRequest2.setCode(warehouseEntity.getCode()); +// filterInvProductDetailRequest2.setMainAction(ConstantType.TYPE_OUT); +// List invProductDetailEntities2 +// = invPreProductDetailService.filterJoinInvProduct(filterInvProductDetailRequest2); +// //获取寄售出库数量 +// int invPreOutCount = 0; +// if (invProductDetailEntities2 != null && invProductDetailEntities2.size() > 0) { +// for (InvProductDetailJoinResponse invProductDetailJoinResponse : invProductDetailEntities2) { +// invPreOutCount = invPreOutCount + invProductDetailJoinResponse.getCount(); +// } +// } +// +// +// if (invPreInCount > warehouseEntity.getCount()) { +// //如果存在寄售入库库存且不存在寄售出库库存 +// if (invPreOutCount < warehouseEntity.getCount()) { +// //则根据流转单据生成寄售出库单 +// preOutList.add(warehouseEntity); +// } +// } else { +// //如果不存在寄售入库库存,但是存在寄售出库库存 +// if (invProductDetailEntities2 != null || invProductDetailEntities2.size() > 0) { +// //根据流转单据生成寄售入库单 +//// preInList.add(warehouseEntity); +// } +// } + + //判断是否存在采购入库单库存 + int invCount = getCountByOrder(null, warehouseEntity.getCode(), warehouseEntity.getSupId()); + if (invCount <= 0) { + useInList.add(warehouseEntity); + } +// FilterInvProductDetailRequest filterInvProductDetailRequest3 = new FilterInvProductDetailRequest(); +// filterInvProductDetailRequest3.setCode(warehouseEntity.getCode()); +// filterInvProductDetailRequest3.setSupId(warehouseEntity.getSupId()); +// filterInvProductDetailRequest3.setMainAction(ConstantType.TYPE_PUT); +// List invProductDetailEntities3 +// = invProductDetailService.filterJoinInvProduct(filterInvProductDetailRequest3); +// if (invProductDetailEntities3 == null || invProductDetailEntities3.size() == 0) { +// //根据流转单据生成采购入库单 +// useInList.add(warehouseEntity); +// } else { +// int invCount = 0; +// for (InvProductDetailJoinResponse invProductDetailJoinResponse : invProductDetailEntities3) { +// invCount = invCount + invProductDetailJoinResponse.getCount(); +// } +// if (invCount < warehouseEntity.getCount()) { +// useInList.add(warehouseEntity); +// } +// } + } + if (bussinessChangeTypeEntities.size() > 2) { + buildPreOutOrder(bussinessChangeTypeEntities.get(1), preOutList, orderEntity); + buildInOrder(bussinessChangeTypeEntities.get(2), useInList, orderEntity); + } + + } + } + + //寄售出库是否补单 + public void addConsignOrderChange(OrderEntity orderEntity, BussinessTypeEntity bussinessTypeEntity) { + BussinessLocalTypeEntity bussinessLocalTypeEntity = bussinessLocalTypeService.findBTByAction(bussinessTypeEntity.getLocalAction()); + if (bussinessLocalTypeEntity.getChangeEnable()) { + List bussinessChangeTypeEntities = bussinessChangeTypeService.findByAction(bussinessTypeEntity.getLocalAction()); + List warehouseEntities = codesService.findByReceiptId(orderEntity.getId()); + List useInList = new ArrayList<>(); + for (WarehouseEntity warehouseEntity : warehouseEntities) { + int invCount = getCountByOrder(null, warehouseEntity.getCode(), warehouseEntity.getSupId()); + if (invCount <= 0) { + useInList.add(warehouseEntity); + } + } + if (bussinessChangeTypeEntities.size() > 0) { + buildInOrder(bussinessChangeTypeEntities.get(0), useInList, orderEntity); + } + } + } + + public void buildPreInOrder(BussinessChangeTypeEntity + bussinessChangeTypeEntity, List preInList, OrderEntity orderEntity) { + if (preInList.size() <= 0) { + return; + } + //寄售入库生成单据 + Map> filterMaps = new HashMap<>(); + for (WarehouseEntity warehouseEntity : preInList) { + FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); + filterInvProductDetailRequest.setCode(warehouseEntity.getCode()); + filterInvProductDetailRequest.setMainAction(ConstantType.TYPE_PUT); + List invProductDetailEntities + = invPreProductDetailService.filterJoinInvProduct(filterInvProductDetailRequest); + InvProductDetailJoinResponse invProductDetailJoinResponse = invProductDetailEntities.get(0); + warehouseEntity.setFromCorp(invProductDetailJoinResponse.getFromCorp()); + warehouseEntity.setFromCorpId(invProductDetailJoinResponse.getFromCorpId()); + if (filterMaps.get(invProductDetailJoinResponse.getFromCorp()) == null) { + List temps = new ArrayList<>(); + temps.add(warehouseEntity); + filterMaps.put(invProductDetailJoinResponse.getFromCorp(), temps); + } else { + filterMaps.get(invProductDetailJoinResponse.getFromCorp()).add(warehouseEntity); + } + } + for (String corpName : filterMaps.keySet()) { + List temps; + temps = filterMaps.get(corpName); + OrderEntity outOrder = new OrderEntity(); + BeanUtils.copyProperties(orderEntity, outOrder); + outOrder.setActDate(DateUtil.getBeforeDay(outOrder.getActDate(), bussinessChangeTypeEntity.getBeforeTime())); + outOrder.setAction(bussinessChangeTypeEntity.getScAction()); + outOrder.setMainAction(ConstantType.TYPE_PUT); + outOrder.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); + outOrder.setContrastStatus(ConstantStatus.ORDER_CHECK_UN); + outOrder.setErpFk(null); + outOrder.setId(CustomUtil.getId()); + outOrder.setFromCorp(corpName); + orderService.insertOrder(outOrder); + for (WarehouseEntity warehouseEntity : temps) { + warehouseEntity.setOrderId(outOrder.getId()); + warehouseEntity.setId(null); + warehouseEntity.setAction(bussinessChangeTypeEntity.getScAction()); + warehouseEntity.setMainAction(ConstantType.TYPE_PUT); + warehouseEntity.setFromCorp(corpName); + } + codesTempService.insertCodesTemp(temps); + ioTransInoutService.transInout(outOrder.getId()); + } + } + + //生成寄售出库单据 + public void buildPreOutOrder(BussinessChangeTypeEntity + bussinessChangeTypeEntity, List preOutList, OrderEntity orderEntity) { + if (preOutList.size() <= 0) { + return; + } + //寄售出库生成单据 + OrderEntity outOrder = new OrderEntity(); + BeanUtils.copyProperties(orderEntity, outOrder); + outOrder.setActDate(DateUtil.getBeforeDay(outOrder.getActDate(), bussinessChangeTypeEntity.getBeforeTime())); + outOrder.setAction(bussinessChangeTypeEntity.getScAction()); + outOrder.setMainAction(ConstantType.TYPE_OUT); + outOrder.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); + outOrder.setContrastStatus(ConstantStatus.ORDER_CHECK_UN); + outOrder.setErpFk(null); + outOrder.setId(CustomUtil.getId()); + outOrder.setFromCorp(orderEntity.getFromCorp()); + outOrder.setFromCorpId(orderEntity.getFromCorpId()); + orderService.insertOrder(outOrder); + for (WarehouseEntity warehouseEntity : preOutList) { + warehouseEntity.setOrderId(outOrder.getId()); + warehouseEntity.setFromCorp(orderEntity.getFromCorp()); + warehouseEntity.setFromCorpId(orderEntity.getFromCorpId()); + warehouseEntity.setId(null); + warehouseEntity.setAction(bussinessChangeTypeEntity.getScAction()); + warehouseEntity.setMainAction(ConstantType.TYPE_OUT); + } + codesTempService.insertCodesTemp(preOutList); + ioTransInoutService.transInout(outOrder.getId()); + } + + //生成采购入库单据 + public void buildInOrder(BussinessChangeTypeEntity + bussinessChangeTypeEntity, List useInList, OrderEntity orderEntity) { + if (useInList.size() <= 0) { + return; + } + + //采购入库生成单据 + Map> filterSupMaps = new HashMap<>(); + List unkonwCorpList = new ArrayList<>(); + + //根据库存,过滤供应商,条码分组 + for (WarehouseEntity warehouseEntity : useInList) { + if (warehouseEntity.getSupId() != null) { + if (filterSupMaps.get(warehouseEntity.getSupId()) == null) { + List temps = new ArrayList<>(); + temps.add(warehouseEntity); + filterSupMaps.put(warehouseEntity.getSupId(), temps); + } else { + filterSupMaps.get(warehouseEntity.getSupId()).add(warehouseEntity); + } + } else + unkonwCorpList.add(warehouseEntity); + } + + //有供应商生成采购入库单据 + for (String corpName : filterSupMaps.keySet()) { + List temps; + temps = filterSupMaps.get(corpName); + OrderEntity outOrder = new OrderEntity(); + BeanUtils.copyProperties(orderEntity, outOrder); + outOrder.setActDate(DateUtil.getBeforeDay(outOrder.getActDate(), bussinessChangeTypeEntity.getBeforeTime())); + outOrder.setAction(bussinessChangeTypeEntity.getScAction()); + outOrder.setMainAction(ConstantType.TYPE_PUT); + outOrder.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); + outOrder.setContrastStatus(ConstantStatus.ORDER_CHECK_UN); + outOrder.setErpFk(null); + outOrder.setFromType(ConstantStatus.FROM_CHANGE); + outOrder.setId(CustomUtil.getId()); + BasicUnitMaintainEntity basicUnitMaintainEntity = basicUnitMaintainService.selectByErpId(corpName); + outOrder.setFromCorp(basicUnitMaintainEntity.getName()); + outOrder.setFromCorpId(corpName); + orderService.insertOrder(outOrder); + for (WarehouseEntity warehouseEntity : temps) { + warehouseEntity.setOrderId(outOrder.getId()); + warehouseEntity.setId(null); + warehouseEntity.setAction(bussinessChangeTypeEntity.getScAction()); + warehouseEntity.setMainAction(ConstantType.TYPE_PUT); + } + codesTempService.insertCodesTemp(temps); + ioTransInoutService.transInout(outOrder.getId()); + } + + + //无供应商,一个条码生成一个错误单据,到时候利用单据合并生成同一个单据 + for (WarehouseEntity warehouseEntity : unkonwCorpList) { + OrderEntity outOrder = new OrderEntity(); + BeanUtils.copyProperties(orderEntity, outOrder); + outOrder.setActDate(DateUtil.getBeforeDay(outOrder.getActDate(), bussinessChangeTypeEntity.getBeforeTime())); + outOrder.setAction(bussinessChangeTypeEntity.getScAction()); + outOrder.setMainAction(ConstantType.TYPE_PUT); + outOrder.setStatus(ConstantStatus.ORDER_STATUS_FAIL); + outOrder.setContrastStatus(ConstantStatus.ORDER_CHECK_UN); + outOrder.setRemark("未选择供应商"); + outOrder.setErpFk(null); + outOrder.setId(CustomUtil.getId()); + outOrder.setFromCorp(null); + outOrder.setFromCorpId(null); + orderService.insertOrder(outOrder); + warehouseEntity.setOrderId(outOrder.getId()); + warehouseEntity.setId(null); + warehouseEntity.setAction(bussinessChangeTypeEntity.getScAction()); + warehouseEntity.setMainAction(ConstantType.TYPE_PUT); + warehouseEntity.setFromCorp(null); + warehouseEntity.setFromCorpId(null); + codesTempService.insertCodesTempSingle(warehouseEntity); + } + + + } + + public void buildInOrder1(BussinessChangeTypeEntity + bussinessChangeTypeEntity, List useInList, OrderEntity orderEntity) { + if (useInList.size() <= 0) { + return; + } + + //采购入库生成单据 + Map> filterSupMaps = new HashMap<>(); + Map> filterMaps = new HashMap<>(); + List unkonwCorpList = new ArrayList<>(); + + //根据库存,过滤供应商,条码分组 + for (WarehouseEntity warehouseEntity : useInList) { + FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); + filterInvProductDetailRequest.setCode(warehouseEntity.getCode()); + filterInvProductDetailRequest.setMainAction(ConstantType.TYPE_PUT); + List invProductDetailEntities + = invPreProductDetailService.filterJoinInvProduct(filterInvProductDetailRequest); + if (invProductDetailEntities == null || invProductDetailEntities.size() == 0) { + if (warehouseEntity.getSupId() != null) { + if (filterSupMaps.get(warehouseEntity.getSupId()) == null) { + List temps = new ArrayList<>(); + temps.add(warehouseEntity); + filterSupMaps.put(warehouseEntity.getSupId(), temps); + } else { + filterSupMaps.get(warehouseEntity.getSupId()).add(warehouseEntity); + } + } else + unkonwCorpList.add(warehouseEntity); + } else { + InvProductDetailJoinResponse invProductDetailJoinResponse = invProductDetailEntities.get(0); + warehouseEntity.setFromCorp(invProductDetailJoinResponse.getFromCorp()); + warehouseEntity.setFromCorpId(invProductDetailJoinResponse.getFromCorpId()); + if (filterMaps.get(invProductDetailJoinResponse.getFromCorp()) == null) { + List temps = new ArrayList<>(); + temps.add(warehouseEntity); + filterMaps.put(invProductDetailJoinResponse.getFromCorp(), temps); + } else { + filterMaps.get(invProductDetailJoinResponse.getFromCorp()).add(warehouseEntity); + } + } + } + + //有供应商生成采购入库单据 + for (String corpName : filterMaps.keySet()) { + List temps; + temps = filterMaps.get(corpName); + OrderEntity outOrder = new OrderEntity(); + BeanUtils.copyProperties(orderEntity, outOrder); + outOrder.setActDate(DateUtil.getBeforeDay(outOrder.getActDate(), bussinessChangeTypeEntity.getBeforeTime())); + outOrder.setAction(bussinessChangeTypeEntity.getScAction()); + outOrder.setMainAction(ConstantType.TYPE_PUT); + outOrder.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); + outOrder.setContrastStatus(ConstantStatus.ORDER_CHECK_UN); + outOrder.setErpFk(null); + outOrder.setFromType(ConstantStatus.FROM_CHANGE); + outOrder.setId(CustomUtil.getId()); + outOrder.setFromCorp(temps.get(0).getFromCorp()); + outOrder.setFromCorpId(temps.get(0).getFromCorpId()); + orderService.insertOrder(outOrder); + for (WarehouseEntity warehouseEntity : temps) { + warehouseEntity.setOrderId(outOrder.getId()); + warehouseEntity.setId(null); + warehouseEntity.setAction(bussinessChangeTypeEntity.getScAction()); + warehouseEntity.setMainAction(ConstantType.TYPE_PUT); + } + codesTempService.insertCodesTemp(temps); + ioTransInoutService.transInout(outOrder.getId()); + } + + //出库时有标记供应商生成采购入库单据 + for (String supId : filterSupMaps.keySet()) { + List temps; + temps = filterSupMaps.get(supId); + OrderEntity outOrder = new OrderEntity(); + BeanUtils.copyProperties(orderEntity, outOrder); + outOrder.setActDate(DateUtil.getBeforeDay(outOrder.getActDate(), bussinessChangeTypeEntity.getBeforeTime())); + outOrder.setAction(bussinessChangeTypeEntity.getScAction()); + outOrder.setMainAction(ConstantType.TYPE_PUT); + outOrder.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); + outOrder.setContrastStatus(ConstantStatus.ORDER_CHECK_UN); + outOrder.setErpFk(null); + outOrder.setId(CustomUtil.getId()); + BasicUnitMaintainEntity basicUnitMaintainEntity = basicUnitMaintainService.selectByErpId(supId); + outOrder.setFromCorp(basicUnitMaintainEntity.getName()); + outOrder.setFromCorpId(basicUnitMaintainEntity.getErpId()); + orderService.insertOrder(outOrder); + for (WarehouseEntity warehouseEntity : temps) { + warehouseEntity.setOrderId(outOrder.getId()); + warehouseEntity.setId(null); + warehouseEntity.setAction(bussinessChangeTypeEntity.getScAction()); + warehouseEntity.setMainAction(ConstantType.TYPE_PUT); + warehouseEntity.setFromCorp(basicUnitMaintainEntity.getName()); + warehouseEntity.setFromCorpId(basicUnitMaintainEntity.getErpId()); + } + codesTempService.insertCodesTemp(temps); + ioTransInoutService.transInout(outOrder.getId()); + } + + //无供应商,一个条码生成一个错误单据,到时候利用单据合并生成同一个单据 + for (WarehouseEntity warehouseEntity : unkonwCorpList) { + OrderEntity outOrder = new OrderEntity(); + BeanUtils.copyProperties(orderEntity, outOrder); + outOrder.setActDate(DateUtil.getBeforeDay(outOrder.getActDate(), bussinessChangeTypeEntity.getBeforeTime())); + outOrder.setAction(bussinessChangeTypeEntity.getScAction()); + outOrder.setMainAction(ConstantType.TYPE_PUT); + outOrder.setStatus(ConstantStatus.ORDER_STATUS_FAIL); + outOrder.setContrastStatus(ConstantStatus.ORDER_CHECK_UN); + outOrder.setRemark("未选择供应商"); + outOrder.setErpFk(null); + outOrder.setId(CustomUtil.getId()); + outOrder.setFromCorp(null); + outOrder.setFromCorpId(null); + orderService.insertOrder(outOrder); + warehouseEntity.setOrderId(outOrder.getId()); + warehouseEntity.setId(null); + warehouseEntity.setAction(bussinessChangeTypeEntity.getScAction()); + warehouseEntity.setMainAction(ConstantType.TYPE_PUT); + warehouseEntity.setFromCorp(null); + warehouseEntity.setFromCorpId(null); + codesTempService.insertCodesTempSingle(warehouseEntity); + } + + + } + + //单据流转 + public void changeOrder(OrderEntity orderEntity, BussinessTypeEntity bussinessTypeEntity) { + List bussinessChangeTypeEntities = bussinessChangeTypeService.findByAction(bussinessTypeEntity.getLocalAction()); + + //如果需要流转 + if (bussinessChangeTypeEntities != null && bussinessChangeTypeEntities.size() > 0) { + for (BussinessChangeTypeEntity bussinessChangeTypeEntity : bussinessChangeTypeEntities) { + + List warehouseEntities = codesService.findByReceiptId(orderEntity.getId()); + //构造扫码单据 + String action = bussinessChangeTypeEntity.getScAction(); + BussinessTypeEntity temp = bussinessTypeService.findBTByAction(action); + String mainAction = temp.getMainAction(); + //如果流转单据为出库,则在预入库库存寻找对应入库供应商 + if (temp.getMainAction().equals(ConstantType.TYPE_PUT)) { + Map> filterMaps = new HashMap<>(); + List mutilList = new ArrayList<>(); + + //把所有条码按找供应商分组 + for (WarehouseEntity warehouseEntity : warehouseEntities) { + FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); + filterInvProductDetailRequest.setCode(warehouseEntity.getCode()); + List invProductDetailEntities = invPreProductDetailService.filterJoinInvProduct(filterInvProductDetailRequest); + if (invProductDetailEntities == null || invProductDetailEntities.size() == 0) {//如果在库存找不到条码 + mutilList.add(warehouseEntity); + } else { + //过滤一个条码是否有多个供应商 + List uniqueList = invProductDetailEntities.stream().collect( + Collectors.collectingAndThen( + Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(InvProductDetailJoinResponse::getFromCorp))), ArrayList::new) + ); + if (uniqueList != null && uniqueList.size() > 1) { + mutilList.add(warehouseEntity); + } else { + InvProductDetailJoinResponse invProductDetailJoinResponse = uniqueList.get(0); + warehouseEntity.setFromCorp(invProductDetailJoinResponse.getFromCorp()); + warehouseEntity.setFromCorpId(invProductDetailJoinResponse.getFromCorpId()); + if (filterMaps.get(invProductDetailJoinResponse.getFromCorp()) == null) { + List temps = new ArrayList<>(); + temps.add(warehouseEntity); + filterMaps.put(invProductDetailJoinResponse.getFromCorp(), temps); + } else { + filterMaps.get(invProductDetailJoinResponse.getFromCorp()).add(warehouseEntity); + } + } + } + } + + + //根据供应商生成对应的扫码单据 + for (String corpName : filterMaps.keySet()) { + List temps; + temps = filterMaps.get(corpName); + OrderEntity outOrder = new OrderEntity(); + BeanUtils.copyProperties(orderEntity, outOrder); + outOrder.setActDate(DateUtil.getBeforeDay(outOrder.getActDate(), bussinessChangeTypeEntity.getBeforeTime())); + outOrder.setAction(action); + outOrder.setMainAction(mainAction); + outOrder.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); + outOrder.setContrastStatus(ConstantStatus.ORDER_CHECK_UN); + outOrder.setErpFk(null); + outOrder.setId(CustomUtil.getId()); + outOrder.setFromCorp(corpName); + orderService.insertOrder(outOrder); + for (WarehouseEntity warehouseEntity : temps) { + warehouseEntity.setOrderId(outOrder.getId()); + warehouseEntity.setId(null); + warehouseEntity.setAction(action); + warehouseEntity.setMainAction(mainAction); + warehouseEntity.setFromCorp(corpName); + } + codesTempService.insertCodesTemp(warehouseEntities); + ioTransInoutService.transInout(outOrder.getId()); + } + + //错误条码生成 + for (WarehouseEntity warehouseEntity : mutilList) { + OrderEntity outOrder = new OrderEntity(); + BeanUtils.copyProperties(orderEntity, outOrder); + outOrder.setActDate(DateUtil.getBeforeDay(outOrder.getActDate(), bussinessChangeTypeEntity.getBeforeTime())); + outOrder.setAction(action); + outOrder.setMainAction(mainAction); + outOrder.setStatus(ConstantStatus.ORDER_STATUS_FAIL); + outOrder.setContrastStatus(ConstantStatus.ORDER_CHECK_FAIL); + outOrder.setErpFk(null); + outOrder.setFromCorp(null); + outOrder.setFromCorpId(null); + outOrder.setRemark("未选择供应商,请选择供应商!"); + outOrder.setId(CustomUtil.getId()); + orderService.insertOrder(outOrder); + warehouseEntity.setOrderId(outOrder.getId()); + warehouseEntity.setAction(action); + warehouseEntity.setFromCorp(action); + warehouseEntity.setFromCorpId(action); + warehouseEntity.setMainAction(mainAction); + codesTempService.insertCodesTempSingle(warehouseEntity); + } + + } else { + //如果流转单据为入库,直接生成 + OrderEntity outOrder = new OrderEntity(); + BeanUtils.copyProperties(orderEntity, outOrder); + outOrder.setActDate(DateUtil.getBeforeDay(outOrder.getActDate(), bussinessChangeTypeEntity.getBeforeTime())); + outOrder.setAction(action); + outOrder.setMainAction(mainAction); + outOrder.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); + outOrder.setContrastStatus(ConstantStatus.ORDER_CHECK_UN); + outOrder.setErpFk(null); + outOrder.setId(CustomUtil.getId()); + orderService.insertOrder(outOrder); + for (WarehouseEntity warehouseEntity : warehouseEntities) { + warehouseEntity.setOrderId(outOrder.getId()); + warehouseEntity.setId(null); + warehouseEntity.setAction(action); + warehouseEntity.setMainAction(mainAction); + } + codesTempService.insertCodesTemp(warehouseEntities); + ioTransInoutService.transInout(outOrder.getId()); + } + + } + + } + } + + + //生成库存 + private InvProductEntity buildInvProduct(String relId, ErpOrderEntity erpOrderEntity, OrderEntity orderEntity, WarehouseEntity warehouseEntity) { + InvProductEntity invProductEntity = new InvProductEntity(); + invProductEntity.setRelIdFk(relId); + invProductEntity.setBatchNo(erpOrderEntity.getBatchNo()); + invProductEntity.setCustomerId(orderEntity.getCustomerId()); + invProductEntity.setExpireDate(erpOrderEntity.getExpireDate()); + invProductEntity.setProductionDate(erpOrderEntity.getProductDate()); + invProductEntity.setGgxh(erpOrderEntity.getPackSpec()); + invProductEntity.setSupId(warehouseEntity.getSupId()); + invProductEntity.setNameCode(erpOrderEntity.getNameCode()); + invProductEntity.setProductsName(erpOrderEntity.getCoName()); + invProductEntity.setYlqxzcrbarmc(erpOrderEntity.getProductCompany()); + invProductEntity.setZczbhhzbapzbh(erpOrderEntity.getAuthCode()); + int count = getActCount(warehouseEntity, udiRelevanceService) * warehouseEntity.getCount(); + if (orderEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { + invProductEntity.setOutCount(count); + } else if (orderEntity.getMainAction().equals(ConstantType.TYPE_PUT)) { + invProductEntity.setInCount(count); + } + + return invProductEntity; + } + + //生成库存条码 + private void buildInvProductDetail(String orderId, ErpOrderEntity erpOrderEntity, + OrderEntity orderEntity, Integer purchaseType, boolean isPre) { + List warehouseEntities = codesService.findByReceiptId(orderId); + if (warehouseEntities != null && warehouseEntities.size() > 0) { + for (WarehouseEntity warehouseEntity : warehouseEntities) { +// UdiInfoEntity udiInfoEntity = udiInfoService.findByNameCode(warehouseEntity.getNameCode()); + if (warehouseEntity.getRelId().equals(erpOrderEntity.getGoodsid())) { + if ((warehouseEntity.getBatchNo() == null && erpOrderEntity.getBatchNo() == null) || + warehouseEntity.getBatchNo().equals(erpOrderEntity.getBatchNo())) { + InvProductDetailEntity invProductDetailEntity = new InvProductDetailEntity(); + invProductDetailEntity.setProductIdFk(erpOrderEntity.getGoodsid() + ""); + invProductDetailEntity.setCode(warehouseEntity.getCode()); + invProductDetailEntity.setBatchNo(warehouseEntity.getBatchNo()); + invProductDetailEntity.setProductionDate(warehouseEntity.getProduceDate()); + invProductDetailEntity.setExpireDate(warehouseEntity.getExpireDate()); + invProductDetailEntity.setAction(warehouseEntity.getAction()); + invProductDetailEntity.setMainAction(orderEntity.getMainAction()); + invProductDetailEntity.setOrderIdFk(warehouseEntity.getOrderId()); + invProductDetailEntity.setCount(warehouseEntity.getCount()); + if (purchaseType != null) { + invProductDetailEntity.setPurchaseType(purchaseType); + } + invProductDetailEntity.setStockIdFk(orderEntity.getErpFk()); + invProductDetailEntity.setUnitFk(orderEntity.getFromCorpId()); + invProductDetailEntity.setUpdateTime(new Date()); + invProductDetailEntity.setCustomerId(orderEntity.getCustomerId()); + if (orderEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { + if (warehouseEntity.getSupId() != null) { + invProductDetailEntity.setSupId(warehouseEntity.getSupId()); + } else { + FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); + filterInvProductDetailRequest.setMainAction(ConstantType.TYPE_PUT); + filterInvProductDetailRequest.setCode(warehouseEntity.getCode()); + List invProductDetailEntities = null; + if (isPre) { + invProductDetailEntities = invPreProductDetailService.filterInvProduct(filterInvProductDetailRequest); + } else { + invProductDetailEntities = invProductDetailService.filterInvProduct(filterInvProductDetailRequest); + } + if (invProductDetailEntities.size() > 0) { + invProductDetailEntity.setSupId(invProductDetailEntities.get(0).getSupId()); + } + } + } else { + invProductDetailEntity.setSupId(orderEntity.getFromCorpId()); + } + if (isPre) { + invPreProductDetailService.insertInvProduct(invProductDetailEntity); + } else { + invProductDetailService.insertInvProduct(invProductDetailEntity); + } + + } + } + } + + } + } + + public int getActCount(WarehouseEntity warehouseEntity, UdiRelevanceService udiRelevanceService) { + UdiRelevanceResponse udiInfoBean = udiRelevanceService.selectByNameCode(warehouseEntity.getNameCode()); + if (udiInfoBean != null) { + if (udiInfoBean.getIsUseDy() == 1 && udiInfoBean.getDiType() != 2) { + if (udiInfoBean.getBhzxxsbzsl() == 0) + return udiInfoBean.getZxxsbzbhsydysl(); + else + return udiInfoBean.getZxxsbzbhsydysl() * udiInfoBean.getBhzxxsbzsl(); + } else { + return udiInfoBean.getBhzxxsbzsl(); + } + } + + return 1; + } + + + //根据条码获取库存结余数量 + public int getCountByOrder(String mainAction, String code, String supId) { + FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); + filterInvProductDetailRequest.setCode(code); + filterInvProductDetailRequest.setSupId(supId); + if (mainAction != null) + filterInvProductDetailRequest.setMainAction(mainAction); + List detailJoinResponseList + = invProductDetailService.filterJoinInvProduct(filterInvProductDetailRequest); + int invCount = 0; + if (detailJoinResponseList != null && detailJoinResponseList.size() > 0) { + for (InvProductDetailJoinResponse invProductDetailJoinResponse : detailJoinResponseList) { + if (invProductDetailJoinResponse.getMainAction().equals(ConstantType.TYPE_OUT)) { + invCount = invCount - invProductDetailJoinResponse.getCount(); + } else { + invCount = invCount + invProductDetailJoinResponse.getCount(); + } + + } + } + return invCount; + } + + //根据条码获取预入库结余数量 + public int getPreCountByOrder(String mainAction, String code, String supId) { + FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); + filterInvProductDetailRequest.setCode(code); + filterInvProductDetailRequest.setSupId(supId); + if (mainAction != null) + filterInvProductDetailRequest.setMainAction(mainAction); + List detailJoinResponseList + = invPreProductDetailService.filterJoinInvProduct(filterInvProductDetailRequest); + int invCount = 0; + if (detailJoinResponseList != null && detailJoinResponseList.size() > 0) { + for (InvProductDetailJoinResponse invProductDetailJoinResponse : detailJoinResponseList) { + if (invProductDetailJoinResponse.getMainAction().equals(ConstantType.TYPE_OUT)) { + invCount = invCount - invProductDetailJoinResponse.getCount(); + } else { + invCount = invCount + invProductDetailJoinResponse.getCount(); + } + + } + } + return invCount; + } + +} \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/sale/admin/thread/IoTransInoutService.java b/api-admin/src/main/java/com/glxp/sale/admin/thread/IoTransInoutService.java index c488f15..6c45417 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/thread/IoTransInoutService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/thread/IoTransInoutService.java @@ -1,26 +1,36 @@ package com.glxp.sale.admin.thread; import com.glxp.sale.admin.config.WebSocketServer; +import com.glxp.sale.admin.constant.Constant; import com.glxp.sale.admin.constant.ConstantStatus; +import com.glxp.sale.admin.constant.ConstantType; import com.glxp.sale.admin.controller.inout.utils.ContrastErpUtil; import com.glxp.sale.admin.controller.inout.utils.DataTransUtil; import com.glxp.sale.admin.controller.inout.utils.InoutUtils; import com.glxp.sale.admin.entity.basic.BasicThirdSysDetailEntity; +import com.glxp.sale.admin.entity.basic.BasicUnitMaintainEntity; import com.glxp.sale.admin.entity.basic.BussinessTypeEntity; import com.glxp.sale.admin.entity.basic.UdiRelevanceEntity; +import com.glxp.sale.admin.entity.info.CompanyEntity; +import com.glxp.sale.admin.entity.info.CompanyProductRelevanceEntity; import com.glxp.sale.admin.entity.inout.*; import com.glxp.sale.admin.entity.udid.UdiEntity; import com.glxp.sale.admin.httpclient.ErpOrderClient; import com.glxp.sale.admin.req.basic.FilterUdiInfoRequest; +import com.glxp.sale.admin.req.info.FilterCompanyProductRelevanceRequest; import com.glxp.sale.admin.req.inout.*; import com.glxp.sale.admin.res.basic.UdiRelevanceResponse; +import com.glxp.sale.admin.service.basic.BasicUnitMaintainService; import com.glxp.sale.admin.service.basic.BussinessTypeService; import com.glxp.sale.admin.service.basic.UdiInfoService; import com.glxp.sale.admin.service.basic.UdiRelevanceService; +import com.glxp.sale.admin.service.info.CompanyProductRelevanceService; +import com.glxp.sale.admin.service.info.CompanyService; import com.glxp.sale.admin.service.inout.*; import com.glxp.sale.admin.service.param.SystemParamConfigService; import com.glxp.sale.admin.service.thrsys.ThrDataService; import com.glxp.sale.admin.service.thrsys.ThrOrderService; +import com.glxp.sale.admin.util.CustomUtil; import com.glxp.sale.admin.util.FilterUdiUtils; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; @@ -28,6 +38,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Lazy; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; @@ -68,7 +79,12 @@ public class IoTransInoutService { StockOrderDetailService stockOrderDetailService; @Resource InvProductsTrService invProductsTrService; - + @Resource + BasicUnitMaintainService basicUnitMaintainService; + @Resource + CompanyProductRelevanceService companyProductRelevanceService; + @Resource + CompanyService companyService; //web端新增订单, @Async @@ -90,13 +106,15 @@ public class IoTransInoutService { if (warehouseEntity.getActDate() != null) { orderSaveRequest.setActDate(warehouseEntity.getActDate()); } + orderSaveRequest.setCustomerId(postOrderRequest.getCustomerId()); orderSaveRequest.setAction(warehouseEntity.getAction()); orderSaveRequest.setActor(warehouseEntity.getActor()); orderSaveRequest.setCorpOrderId(warehouseEntity.getCorpOrderId()); orderSaveRequest.setFromCorpId(warehouseEntity.getFromCorpId()); + orderSaveRequest.setReceiveStatus(0); orderSaveRequest.setMainAction(warehouseEntity.getMainAction()); orderSaveRequest.setFromCorp(warehouseEntity.getFromCorp()); - orderSaveRequest.setFromType("网页端"); + orderSaveRequest.setFromType(ConstantStatus.FROM_WEBNEW); orderSaveRequest.setStatus(postOrderRequest.getSubmitType() == 0 ? ConstantStatus.ORDER_STATUS_PROCESS : ConstantStatus.ORDER_STATUS_TEMP_SAVE); orderSaveRequest.setExportStatus(ConstantStatus.ORDER_EXPORT_UN); @@ -140,7 +158,6 @@ public class IoTransInoutService { temp.setNameCode(udiEntity.getUdi()); } - WarehouseEntity warehouseEntity = warehouseEntityList.get(0); String orderId = System.currentTimeMillis() + i + ""; OrderEntity orderSaveRequest = new OrderEntity(); @@ -152,9 +169,14 @@ public class IoTransInoutService { orderSaveRequest.setActor(warehouseEntity.getActor()); orderSaveRequest.setCorpOrderId(warehouseEntity.getCorpOrderId()); orderSaveRequest.setFromCorpId(warehouseEntity.getFromCorpId()); + orderSaveRequest.setCustomerId(postOrderRequest.getCustomerId()); orderSaveRequest.setMainAction(warehouseEntity.getMainAction()); + orderSaveRequest.setReceiveStatus(0); orderSaveRequest.setFromCorp(warehouseEntity.getFromCorp()); - orderSaveRequest.setFromType("手持终端"); + if (postOrder.getErpOrders() != null && postOrder.getErpOrders().size() > 0) + orderSaveRequest.setFromType(ConstantStatus.FROM_PDAED); + else + orderSaveRequest.setFromType(ConstantStatus.FROM_PDAUN); orderSaveRequest.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); orderSaveRequest.setExportStatus(ConstantStatus.ORDER_EXPORT_UN); orderSaveRequest.setStockCheckFk(postOrder.getStockIdFk()); @@ -197,8 +219,40 @@ public class IoTransInoutService { } } + public void transInout(String orderId) { + OrderEntity orderEntity = orderService.findById(orderId); + transInout(orderEntity); + } + public void transInout(OrderEntity orderEntity) { + if (orderEntity.getFromCorp() == null) { + orderEntity.setRemark("未选择往来单位"); + orderEntity.setStatus(ConstantStatus.ORDER_STATUS_FAIL); + orderService.updateOrder(orderEntity); + return; + } + BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(orderEntity.getAction()); + if (bussinessTypeEntity.isGenUnit()) { + BasicUnitMaintainEntity basicUnitMaintainEntity = new BasicUnitMaintainEntity(); + basicUnitMaintainEntity.setErpId(CustomUtil.getUnitId()); + basicUnitMaintainEntity.setCorpType(ConstantStatus.CORP_SICK); + basicUnitMaintainEntity.setName(orderEntity.getFromCorp()); + orderEntity.setFromCorpId(basicUnitMaintainEntity.getErpId()); + orderService.updateOrder(orderEntity); + basicUnitMaintainService.insertBasicUnitMaintain(basicUnitMaintainEntity); + } + if (!Constant.SYSTEM_CUSTOMER_ID.equals(orderEntity.getFromCorpId())) { + BasicUnitMaintainEntity basicUnitMaintainEntity = basicUnitMaintainService.selectByErpId(orderEntity.getFromCorpId()); + if (basicUnitMaintainEntity == null) { + orderEntity.setRemark("往来单位不存在!"); + orderEntity.setStatus(ConstantStatus.ORDER_STATUS_FAIL); + orderService.updateOrder(orderEntity); + return; + } + } + + WarehouseQueryRequest warehouseQueryRequest = new WarehouseQueryRequest(); warehouseQueryRequest.setOrderId(orderEntity.getId()); List filterList = codesTempService.findByOrderId(warehouseQueryRequest); @@ -215,6 +269,13 @@ public class IoTransInoutService { insertList.clear(); return; } + + UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectByNameCode(warehouseEntity.getNameCode()); + if (udiRelevanceResponse.getIsUseDy() == 0 && udiRelevanceResponse.getDiType() == ConstantStatus.DITYPE_SYDY) { + orderService.updateOrderStatus(warehouseEntity.getOrderId(), ConstantStatus.ORDER_STATUS_FAIL); + orderService.updateRemark(orderEntity.getId(), "udi码:" + warehouseEntity.getCode() + "该产品不允许以使用单元入库!"); + return; + } } if (insertList.size() > 0) { @@ -222,40 +283,144 @@ public class IoTransInoutService { WarehouseQueryRequest tempQuery = new WarehouseQueryRequest(); tempQuery.setOrderId(orderEntity.getId()); List temps = codesTempService.findByOrderId(tempQuery); - - //todo 改成等待校验,选择校验 - String action = orderEntity.getAction(); - BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(action); - if (bussinessTypeEntity.getLocalAction() == null || "".equals(bussinessTypeEntity.getAction())) { - orderService.updateOrderStatus(orderEntity.getId(), ConstantStatus.ORDER_STATUS_SUCCESS); - invProductsTrService.genInvProducts(orderEntity.getId()); - printOrder(orderEntity.getId()); - } else { - genOrderDetail(insertList); - orderService.updateOrderStatus(orderEntity.getId(), ConstantStatus.ORDER_STATUS_CHECK); - } - checkMutiDi(orderEntity.getId()); -// new InoutUtils(udiUrl).generateConstrastDetail(udiInfoService, udiRelevanceService, myErpOrderService, insertList); - -// if (orderEntity.getErpFk() != null && !"".equals(orderEntity.getErpFk())) { -// orderService.updateOrderStatus(orderEntity.getId(), ConstantStatus.ORDER_STATUS_CHECK); -// } else { -// //因为只需用到条码,所以不需要重新读取 -// new InoutUtils(udiUrl).generateConstrastDetail(udiInfoService, udiRelevanceService, myErpOrderService, insertList); -// orderService.updateOrderStatus(orderEntity.getId(), ConstantStatus.ORDER_STATUS_SUCCESS); -// invProductsTrService.genInvProducts(orderEntity.getId()); -// printOrder(orderEntity.getId()); -// } - List ids = new ArrayList<>(); for (WarehouseEntity w : temps) { ids.add(w.getId()); } codesTempService.deleteCodesTemp(ids); insertList.clear(); + transStatus(orderEntity.getId()); + } + } + + //转入正式表后,更换单据状态,等待校验或已完成 + public void transStatus(String orderId) { + //todo 改成等待校验,选择校验 + OrderEntity orderEntity = orderService.findById(orderId); + List warehouseEntityList = warehouseService.findByReceiptId(orderId); + myErpOrderService.deleteByOrderId(orderEntity.getId()); + //为所有条码关联基础信息关联表ID + for (WarehouseEntity warehouseEntity : warehouseEntityList) { + FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); + filterUdiInfoRequest.setNameCode(warehouseEntity.getNameCode()); + List udiRelevanceEntities = udiRelevanceService.filterUdiRelevance(filterUdiInfoRequest); + if (udiRelevanceEntities != null && udiRelevanceEntities.size() > 1) { + warehouseEntity.setRelId(null); + warehouseEntity.setStatus(ConstantStatus.ORDER_DETAIL_DI_MUTI); + } else if (udiRelevanceEntities == null || udiRelevanceEntities.size() == 0) { + warehouseEntity.setRelId(null); + warehouseEntity.setStatus(2); + } else { + warehouseEntity.setStatus(0); + warehouseEntity.setRelId(udiRelevanceEntities.get(0).getId() + ""); + String originSupId = checkOriginExitSup(warehouseEntity); + String supId = null; + if (originSupId == null) + supId = checkExitSup(warehouseEntity.getRelId()); + if (supId != null && !supId.equals("MUTI")) { + warehouseEntity.setSupId(supId); + } + } + warehouseService.updateCode(warehouseEntity); + } + + String action = orderEntity.getAction(); + BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(action); + if (!bussinessTypeEntity.getCheckEnable()) { + orderEntity = orderService.findById(orderEntity.getId()); + unCheckFinish(orderEntity, warehouseEntityList); + } else { + //todo 判断单据来源是否需要校验 + if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_UDIMS) { + if (!bussinessTypeEntity.isCheckUdims()) { + unCheckFinish(orderEntity, warehouseEntityList); + return; + } + } else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_WEBNEW) { + if (!bussinessTypeEntity.isCheckWebNew()) { + unCheckFinish(orderEntity, warehouseEntityList); + return; + } + } else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_PDAED) { + if (!bussinessTypeEntity.isCheckPdaEd()) { + unCheckFinish(orderEntity, warehouseEntityList); + return; + } + } else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_PDAUN) { + if (!bussinessTypeEntity.isCheckPdaUn()) { + unCheckFinish(orderEntity, warehouseEntityList); + return; + } + } else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_PC) { + if (!bussinessTypeEntity.isCheckPc()) { + unCheckFinish(orderEntity, warehouseEntityList); + return; + } + } else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_CHANGE) { + if (!bussinessTypeEntity.isCheckChange()) { + unCheckFinish(orderEntity, warehouseEntityList); + return; + } + } + genOrderDetail(warehouseEntityList); + checkMutiDi(orderEntity.getId()); //校验一个DI是否绑定多个产品ID + orderEntity = orderService.findById(orderEntity.getId()); + if (orderEntity.getContrastStatus() != ConstantStatus.ORDER_CHECK_FAIL) { + orderService.updateOrderStatus(orderEntity.getId(), ConstantStatus.ORDER_STATUS_CHECK); + } } } + public void unCheckFinish(OrderEntity orderEntity, List warehouseEntityList) { + genOrderDetail(warehouseEntityList); + checkMutiDi(orderEntity.getId()); //校验一个DI是否绑定多个产品ID + orderEntity = orderService.findById(orderEntity.getId()); + if (orderEntity.getContrastStatus() != ConstantStatus.ORDER_CHECK_FAIL) { + List erpOrderEntities = myErpOrderService.filterAllByOrderIdFk(orderEntity.getId()); + for (ErpOrderEntity erpOrderEntity : erpOrderEntities) { + erpOrderEntity.setErpCount(erpOrderEntity.getCount()); + erpOrderEntity.setReCount(erpOrderEntity.getCount()); + myErpOrderService.updateErpOrder(erpOrderEntity); + } + orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_SUCCESS); + orderEntity.setStatus(ConstantStatus.ORDER_STATUS_SUCCESS); + orderService.updateOrder(orderEntity); +// orderService.updateOrderStatus(orderEntity.getId(), ConstantStatus.ORDER_STATUS_SUCCESS); + if (orderEntity.getCustomerId().equals(Constant.SYSTEM_CUSTOMER_ID)) { + invProductsTrService.genInvProducts(orderEntity.getId()); + } + printOrder(orderEntity.getId()); + } + } + + public String checkOriginExitSup(WarehouseEntity warehouseEntity) { + if (ConstantType.TYPE_PUT.equals(warehouseEntity.getMainAction())) { + return warehouseEntity.getFromCorpId(); + } else if (ConstantType.TYPE_OUT.equals(warehouseEntity.getMainAction())) { + if (warehouseEntity.getSupId() != null && !"".equals(warehouseEntity.getSupId())) { + return warehouseEntity.getSupId(); + } + } + return null; + } + + + //校验是否存在供应商 + public String checkExitSup(String relId) { + //校验条码关联供应商 + FilterCompanyProductRelevanceRequest filterCompanyProductRelevanceRequest = new FilterCompanyProductRelevanceRequest(); + filterCompanyProductRelevanceRequest.setUdiRlIdFk(relId); + List companyProductRelevanceEntities = companyProductRelevanceService.filterCompanyProductRelevance(filterCompanyProductRelevanceRequest); + if (companyProductRelevanceEntities != null && companyProductRelevanceEntities.size() == 1) { + CompanyProductRelevanceEntity companyProductRelevanceEntity = companyProductRelevanceEntities.get(0); + CompanyEntity companyEntity = companyService.findCompany(companyProductRelevanceEntity.getCustomerId()); + return companyEntity.getUnitIdFk(); + } else if (companyProductRelevanceEntities != null && companyProductRelevanceEntities.size() > 1) { + return "MUTI"; //绑定多个供应商 + } + return null; + } + public void genOrderDetail(List warehouseEntityList) { new InoutUtils(udiUrl).generateConstrastDetail(udiInfoService, udiRelevanceService, myErpOrderService, warehouseEntityList); } @@ -269,6 +434,8 @@ public class IoTransInoutService { if (erpOrderEntities != null && erpOrderEntities.size() > 0) { for (ErpOrderEntity erpOrderEntity : erpOrderEntities) { + + //校验DI是否绑定多个产品ID FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); filterUdiInfoRequest.setNameCode(erpOrderEntity.getNameCode()); List udiRelevanceEntities = udiRelevanceService.filterUdiRelevance(filterUdiInfoRequest); @@ -277,15 +444,38 @@ public class IoTransInoutService { myErpOrderService.updateErpOrder(erpOrderEntity); orderEntity.setRemark("该产品DI绑定多个产品ID,请在扫码单据详情绑定对应产品ID"); orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_FAIL); + orderEntity.setStatus(ConstantStatus.ORDER_STATUS_SUCCESS); orderService.updateOrder(orderEntity); + } else { + if (erpOrderEntity.getSupId() == null || erpOrderEntity.getSupId().equals("MUTI")) { + if (erpOrderEntity.getSupId() == null) { + erpOrderEntity.setBindStatus(ConstantStatus.ORDER_DETAIL_SUP_NONE); + orderEntity.setRemark("该产品未绑定供应商"); + } else { + erpOrderEntity.setBindStatus(ConstantStatus.ORDER_DETAIL_SUP_MUTI); + orderEntity.setRemark("该产品绑定多个供应商"); + } + orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_FAIL); + orderEntity.setStatus(ConstantStatus.ORDER_STATUS_SUCCESS); + orderService.updateOrder(orderEntity); + } else { + orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_UN); + orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK); + orderService.updateOrder(orderEntity); + erpOrderEntity.setBindStatus(ConstantStatus.ORDER_DETAIL_SUP_ONE); + } } + myErpOrderService.updateErpOrder(erpOrderEntity); + } + } + } - //校验ERP单 + // //校验ERP单 @Async public void checkOrder() { @@ -306,14 +496,15 @@ public class IoTransInoutService { } public void checkOrder(OrderEntity orderEntity) { + + orderEntity = orderService.findById(orderEntity.getId()); List erpIds = DataTransUtil.strToErpList(orderEntity.getErpFk()); List transData = warehouseService.findByReceiptId(orderEntity.getId()); - if (erpIds != null && erpIds.size() > 0) { + if (erpIds != null && erpIds.size() > 0) { List erpOrderEntities = thrDataService.getStockOrders(erpIds); checkThirdOrder(erpOrderEntities, orderEntity, transData); - } else { orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_UN); orderEntity.setStatus(ConstantStatus.ORDER_STATUS_SUCCESS); @@ -322,7 +513,9 @@ public class IoTransInoutService { myErpOrderService.deleteByOrderId(orderEntity.getId()); new InoutUtils(udiUrl).generateConstrastDetail(udiInfoService, udiRelevanceService, myErpOrderService, transData); printOrder(orderEntity.getId()); - invProductsTrService.genInvProducts(orderEntity.getId()); + if (orderEntity.getCustomerId().equals(Constant.SYSTEM_CUSTOMER_ID)) { + invProductsTrService.genInvProducts(orderEntity.getId()); + } } @@ -391,10 +584,8 @@ public class IoTransInoutService { FilterErpOrderRequest filterErpOrderRequest = new FilterErpOrderRequest(); filterErpOrderRequest.setOrderId(orderId); List erpOrderEntities = myErpOrderService.filterAllMyErpOrder(filterErpOrderRequest); - BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(orderEntity.getAction()); - //生成业务单据详情 List stockOrderDetailEntities = new ArrayList<>(); if (erpOrderEntities != null && erpOrderEntities.size() > 0) { @@ -415,35 +606,38 @@ public class IoTransInoutService { // stockOrderDetailEntity.setYlqxzcrbarmc(erpOrderEntity.get()); if (erpOrderEntity.getCount() != null) { stockOrderDetailEntity.setSweepCount(erpOrderEntity.getCount() + ""); - stockOrderDetailEntity.setReCount(erpOrderEntity.getReCount() + ""); - stockOrderDetailEntity.setCount(erpOrderEntity.getErpCount() + ""); + stockOrderDetailEntity.setReCount(erpOrderEntity.getCount() + ""); + stockOrderDetailEntity.setCount(erpOrderEntity.getCount() + ""); } if (erpOrderEntity.getReCount() != null) { stockOrderDetailEntity.setReCount(erpOrderEntity.getReCount() + ""); + } else { + stockOrderDetailEntity.setReCount(erpOrderEntity.getCount() + ""); } if (erpOrderEntity.getErpCount() != null) { stockOrderDetailEntity.setCount(erpOrderEntity.getErpCount() + ""); } - FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); - filterUdiInfoRequest.setNameCode(erpOrderEntity.getNameCode()); - List udiRelevanceEntities = udiRelevanceService.filterUdiRelevance(filterUdiInfoRequest); - if (udiRelevanceEntities != null && udiRelevanceEntities.size() > 1 && erpOrderEntity.getBindRlFk() == null) { - isError = true; - erpOrderEntity.setBindStatus(ConstantStatus.ORDER_DETAIL_DI_MUTI); - myErpOrderService.updateErpOrder(erpOrderEntity); - } else if (udiRelevanceEntities.size() == 1) { - UdiRelevanceResponse udiRelevanceEntity = udiRelevanceEntities.get(0); - setThridName(bussinessTypeEntity, stockOrderDetailEntity, udiRelevanceEntity); - - } else if (erpOrderEntity.getBindRlFk() != null) { - UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectById(erpOrderEntity.getBindRlFk()); - UdiRelevanceResponse udiRelevanceResponse = new UdiRelevanceResponse(); - BeanUtils.copyProperties(udiRelevanceEntity, udiRelevanceResponse); - setThridName(bussinessTypeEntity, stockOrderDetailEntity, udiRelevanceResponse); - erpOrderEntity.setGoodsid(stockOrderDetailEntity.getProductId()); - erpOrderEntity.setGoodsname(stockOrderDetailEntity.getProductName()); - myErpOrderService.updateErpOrder(erpOrderEntity); - } +// FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); +// filterUdiInfoRequest.setNameCode(erpOrderEntity.getNameCode()); +// List udiRelevanceEntities = udiRelevanceService.filterUdiRelevance(filterUdiInfoRequest); +// if (udiRelevanceEntities != null && udiRelevanceEntities.size() > 1 && erpOrderEntity.getBindRlFk() == null) { +// isError = true; +// erpOrderEntity.setBindStatus(ConstantStatus.ORDER_DETAIL_DI_MUTI); +// myErpOrderService.updateErpOrder(erpOrderEntity); +// } else if (udiRelevanceEntities.size() == 1) { +// UdiRelevanceResponse udiRelevanceEntity = udiRelevanceEntities.get(0); +// setThridName(bussinessTypeEntity, stockOrderDetailEntity, udiRelevanceEntity); +// +// } else if (erpOrderEntity.getBindRlFk() != null) { +// UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectById(erpOrderEntity.getBindRlFk()); +// UdiRelevanceResponse udiRelevanceResponse = new UdiRelevanceResponse(); +// BeanUtils.copyProperties(udiRelevanceEntity, udiRelevanceResponse); +// udiRelevanceResponse.setId(Integer.parseInt(udiRelevanceEntity.getId())); +// setThridName(bussinessTypeEntity, stockOrderDetailEntity, udiRelevanceResponse); +// erpOrderEntity.setGoodsid(stockOrderDetailEntity.getProductId()); +// erpOrderEntity.setGoodsname(stockOrderDetailEntity.getProductName()); +// myErpOrderService.updateErpOrder(erpOrderEntity); +// } stockOrderDetailEntities.add(stockOrderDetailEntity); } @@ -483,14 +677,45 @@ public class IoTransInoutService { //生成业务单据记录 StockOrderEntity stockOrderEntity = new StockOrderEntity(); stockOrderEntity.setBillNo(orderEntity.getId()); - stockOrderEntity.setBillType(bussinessTypeEntity.getLocalAction()); + stockOrderEntity.setBillType(bussinessTypeEntity.getLocalAction());//todo stockOrderEntity.setBilldate(orderEntity.getActDate()); stockOrderEntity.setCustomerId(orderEntity.getCustomerId()); - stockOrderEntity.setUnitIdFk(orderEntity.getCustomerId()); + stockOrderEntity.setUnitIdFk(orderEntity.getFromCorpId()); stockOrderEntity.setSourceType(ConstantStatus.ST_SCAN_ADD); stockOrderEntity.setCorpId(orderEntity.getFromCorpId()); - stockOrderEntity.setStatus(ConstantStatus.SORDER_CHECKED); + if (bussinessTypeEntity.isSecCheckEnable()) { + stockOrderEntity.setStatus(ConstantStatus.SORDER_DELIVER); + if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_UDIMS) { + if (bussinessTypeEntity.isSecCheckUdims()) { + stockOrderEntity.setStatus(ConstantStatus.SORDER_CHECKED); + } + } else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_WEBNEW) { + if (bussinessTypeEntity.isSecCheckWebNew()) { + stockOrderEntity.setStatus(ConstantStatus.SORDER_CHECKED); + } + } else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_PDAED) { + if (bussinessTypeEntity.isSecCheckPdaEd()) { + stockOrderEntity.setStatus(ConstantStatus.SORDER_CHECKED); + } + } else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_PDAUN) { + if (bussinessTypeEntity.isSecCheckPdaUn()) { + stockOrderEntity.setStatus(ConstantStatus.SORDER_CHECKED); + } + } else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_PC) { + if (bussinessTypeEntity.isSecCheckPc()) { + stockOrderEntity.setStatus(ConstantStatus.SORDER_CHECKED); + } + } else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_CHANGE) { + if (bussinessTypeEntity.isSecCheckChange()) { + stockOrderEntity.setStatus(ConstantStatus.SORDER_CHECKED); + } + } + } else { + stockOrderEntity.setStatus(ConstantStatus.SORDER_DELIVER); + } + stockOrderEntity.setCorpName(orderEntity.getFromCorp()); + stockOrderEntity.setOrderIdFk(orderEntity.getId()); stockOrderService.insertStockOrder(stockOrderEntity); //删除关联的业务单据详情 @@ -504,7 +729,10 @@ public class IoTransInoutService { public void setThridName(BussinessTypeEntity bussinessTypeEntity, StockOrderDetailEntity stockOrderDetailEntity, UdiRelevanceResponse udiRelevanceEntity) { - if (bussinessTypeEntity.getThirdSysFk().equals("thirdId")) { + + if (bussinessTypeEntity.getThirdSysFk() == null) { + stockOrderDetailEntity.setProductId(udiRelevanceEntity.getId() + ""); + } else if (bussinessTypeEntity.getThirdSysFk().equals("thirdId")) { stockOrderDetailEntity.setProductId(udiRelevanceEntity.getThirdId()); stockOrderDetailEntity.setProductName(udiRelevanceEntity.getThirdName()); } else if (bussinessTypeEntity.getThirdSysFk().equals("thirdId1")) { @@ -520,6 +748,7 @@ public class IoTransInoutService { stockOrderDetailEntity.setProductId(udiRelevanceEntity.getThirdId4()); stockOrderDetailEntity.setProductName(udiRelevanceEntity.getThirdName4()); } + } } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/thread/JaspaperService.java b/api-admin/src/main/java/com/glxp/sale/admin/thread/JaspaperService.java new file mode 100644 index 0000000..5dbba92 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/thread/JaspaperService.java @@ -0,0 +1,45 @@ +package com.glxp.sale.admin.thread; + +import com.glxp.sale.admin.entity.basic.StockPrintEntity; +import com.glxp.sale.admin.entity.inventory.StockPrintTempEntity; +import com.glxp.sale.admin.service.inventory.StockPrintTempService; +import com.glxp.sale.admin.util.JasperUtils; +import net.sf.jasperreports.engine.JRException; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Service +public class JaspaperService { + @Value("${file_path}") + private String dirPath; + @Resource + private StockPrintTempService stockPrintTempService; + + @Async + public void printPdfLocal(List> splits, List stockPrintTempEntities, String resource) { + for (int i = 0; i < stockPrintTempEntities.size(); i++) { + StockPrintTempEntity stockPrintTempEntity = stockPrintTempEntities.get(i); + Map data = new HashMap(); + data.put("data", splits.get(i)); + try { + JasperUtils.jasperReportToFile(stockPrintTempEntity.getFilePath(), data, resource); + stockPrintTempEntity.setStatus(1); + } catch (IOException e) { + stockPrintTempEntity.setStatus(2); + e.printStackTrace(); + } catch (JRException e) { + stockPrintTempEntity.setStatus(2); + e.printStackTrace(); + } + stockPrintTempService.updateStockPrintTempEntity(stockPrintTempEntity); + } + } + +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/thread/ThrCorpsDlService.java b/api-admin/src/main/java/com/glxp/sale/admin/thread/ThrCorpsDlService.java new file mode 100644 index 0000000..65a01a9 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/thread/ThrCorpsDlService.java @@ -0,0 +1,351 @@ +package com.glxp.sale.admin.thread; + +import com.glxp.sale.admin.config.WebSocketServer; +import com.glxp.sale.admin.constant.BasicProcessStatus; +import com.glxp.sale.admin.entity.basic.BasicThirdSysDetailEntity; +import com.glxp.sale.admin.entity.thrsys.ThrCorpEntity; +import com.glxp.sale.admin.entity.thrsys.ThrCorpExportLogEntity; +import com.glxp.sale.admin.entity.thrsys.ThrCorpImportDetailEntity; +import com.glxp.sale.admin.entity.thrsys.ThrCorpImportLogEntity; +import com.glxp.sale.admin.httpclient.ErpBasicClient; +import com.glxp.sale.admin.req.basic.BasicUnitMaintainFilterRequest; +import com.glxp.sale.admin.req.basic.FilterUdiIpLogRequest; +import com.glxp.sale.admin.req.thrsys.FilterThrCorpRequest; +import com.glxp.sale.admin.req.thrsys.ThrCorpExportRequest; +import com.glxp.sale.admin.res.PageSimpleResponse; +import com.glxp.sale.admin.res.basic.ErpUnitsResponse; +import com.glxp.sale.admin.service.basic.BasicThirdSysDetailService; +import com.glxp.sale.admin.service.thrsys.ThrCorpExportLogService; +import com.glxp.sale.admin.service.thrsys.ThrCorpImportDetailService; +import com.glxp.sale.admin.service.thrsys.ThrCorpImportLogService; +import com.glxp.sale.admin.service.thrsys.ThrCorpService; +import com.glxp.sale.admin.util.Constant; +import com.glxp.sale.admin.util.ExcelUtil; +import com.glxp.sale.admin.util.RedisUtil; +import com.glxp.sale.common.res.BaseResponse; +import org.springframework.beans.BeanUtils; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +@Service +public class ThrCorpsDlService { + + @Resource + ThrCorpService thrCorpService; + @Resource + BasicThirdSysDetailService basicThirdSysDetailService; + @Resource + RedisUtil redisUtil; + @Resource + ThrCorpImportLogService thrCorpImportLogService; + @Resource + ThrCorpExportLogService thrCorpExportLogService; + @Resource + private ThrCorpImportDetailService thrCorpImportDetailService; + + + @Async + public void importSelectCorps(String genKey, List erpUnitsResponses, String thirdSys) { + BasicThirdSysDetailEntity piDetailEntity = basicThirdSysDetailService.selectByKey("corpUrl", thirdSys); + if (piDetailEntity == null || piDetailEntity.getValue() == null) { + WebSocketServer.sendInfo("往来单位接口未设置!", "sid"); + return; + } + ThrCorpImportLogEntity thrProductsImportLogEntity = thrCorpImportLogService.selectByGenKey(genKey); + if (erpUnitsResponses != null && erpUnitsResponses.size() > 0) { + + List thrCorpImportDetailEntities; + String finalGenKey = genKey; + thrCorpImportDetailEntities = erpUnitsResponses.stream().map( + item -> { + ThrCorpImportDetailEntity thrCorpEntity = new ThrCorpImportDetailEntity(); + BeanUtils.copyProperties(item, thrCorpEntity); + thrCorpEntity.setUnitId(item.getId()); + thrCorpEntity.setGenKeyFk(finalGenKey); + thrCorpEntity.setUpdateTime(new Date()); + thrCorpEntity.setThirdSysFk(thirdSys); + return thrCorpEntity; + } + ).collect(Collectors.toList()); + thrCorpImportDetailService.insertCorpDetailImports(thrCorpImportDetailEntities); + FilterUdiIpLogRequest filterUdiIpLogRequest = new FilterUdiIpLogRequest(); + filterUdiIpLogRequest.setGenKey(genKey); + List temps = thrCorpImportDetailService.filterCorpDetailImport(filterUdiIpLogRequest); + List thrCorpEntities = temps.stream().map( + item -> { + ThrCorpEntity thrProductsEntity = new ThrCorpEntity(); + BeanUtils.copyProperties(item, thrProductsEntity); + thrProductsEntity.setThirdSysFk(thirdSys); + thrProductsEntity.setUpdateTime(new Date()); + return thrProductsEntity; + } + ).collect(Collectors.toList()); + thrCorpService.insertThrCorpss(thrCorpEntities); + redisUtil.set(Constant.dlThrProducts, "false"); + WebSocketServer.sendInfo("往来单位信息下载已完成,请刷新查看!", "sid"); + thrProductsImportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_SUCCESS); + thrProductsImportLogEntity.setUpdateTime(new Date()); + thrCorpImportLogService.updateImportLog(thrProductsImportLogEntity); + } + } + + //主动下载第三方系统往来单位信息 + @Async + public void importCorps(String genKey, BasicUnitMaintainFilterRequest filterThrProductsRequest, String thirdSys) { + BasicThirdSysDetailEntity piDetailEntity = basicThirdSysDetailService.selectByKey("corpUrl", thirdSys); + if (piDetailEntity == null || piDetailEntity.getValue() == null) { + WebSocketServer.sendInfo("往来单位接口未设置!", "sid"); + return; + } + ThrCorpImportLogEntity thrProductsImportLogEntity = thrCorpImportLogService.selectByGenKey(genKey); + + int page = 1; + int limit = 100; + while (page != -1) { + page = getCorps(page, limit, piDetailEntity.getValue(), thrProductsImportLogEntity, thirdSys, genKey, filterThrProductsRequest); + } + FilterUdiIpLogRequest filterUdiIpLogRequest = new FilterUdiIpLogRequest(); + filterUdiIpLogRequest.setGenKey(genKey); + List thrCorpImportDetailEntities = thrCorpImportDetailService.filterCorpDetailImport(filterUdiIpLogRequest); + List thrCorpEntities = thrCorpImportDetailEntities.stream().map( + item -> { + ThrCorpEntity thrProductsEntity = new ThrCorpEntity(); + BeanUtils.copyProperties(item, thrProductsEntity); + thrProductsEntity.setUpdateTime(new Date()); + thrProductsEntity.setThirdSysFk(thirdSys); + return thrProductsEntity; + } + ).collect(Collectors.toList()); + thrCorpService.insertThrCorpss(thrCorpEntities); + redisUtil.set(Constant.dlThrProducts, "false"); + WebSocketServer.sendInfo("往来单位信息下载已完成,请刷新查看!", "sid"); + thrProductsImportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_SUCCESS); + thrProductsImportLogEntity.setUpdateTime(new Date()); + thrCorpImportLogService.updateImportLog(thrProductsImportLogEntity); + } + + //导出生成Excel文件 + @Async + public void genExcel(String genKey, ThrCorpExportRequest thrCorpExportRequest) { + ThrCorpExportLogEntity thrCorpExportLogEntity = thrCorpExportLogService.selectByGenKey(genKey); + List> excelData = new ArrayList<>(); + List head = new ArrayList<>(); + head.add("往来单位ID"); + head.add("往来单位名称"); + head.add("拼音简写"); + head.add("地址"); + head.add("社会信用号"); + head.add("联系人"); + head.add("联系电话"); + excelData.add(head); + //选中导出 + if (thrCorpExportRequest.getThrCorpEntities() != null && thrCorpExportRequest.getThrCorpEntities().size() > 0) { + List corpEntities = thrCorpExportRequest.getThrCorpEntities(); + for (ThrCorpEntity thrCorpEntity : corpEntities) { + List rows = new ArrayList<>(); + rows.add(thrCorpEntity.getUnitId()); + rows.add(thrCorpEntity.getName()); + rows.add(thrCorpEntity.getSpell()); + rows.add(thrCorpEntity.getAddr()); + rows.add(thrCorpEntity.getCreditNo()); + rows.add(thrCorpEntity.getContact()); + rows.add(thrCorpEntity.getMobile()); + excelData.add(rows); + } + } else {//一键导出 + + //判断是否启用实时获取 + BasicThirdSysDetailEntity basicThirdSysDetailEntity = basicThirdSysDetailService.selectByKey("corpUrl", thrCorpExportRequest.getThirdSys()); + if (basicThirdSysDetailEntity == null || basicThirdSysDetailEntity.getValue() == null) { + thrCorpExportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_FAIL); + thrCorpExportLogEntity.setRemark("往来单位接口地址未定义"); + thrCorpExportLogService.updateThrCorpExportLog(thrCorpExportLogEntity); + return; + } + + if (!basicThirdSysDetailEntity.getEnabled()) { + thrCorpExportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_FAIL); + thrCorpExportLogEntity.setRemark("第三方往来单位服务未启用"); + thrCorpExportLogService.updateThrCorpExportLog(thrCorpExportLogEntity); + return; + } + + if (basicThirdSysDetailEntity.getFromType() == 0) { + //根据查询条件一键导出第三方系统往来单位 + List thrCorpEntities = exportCorps(thrCorpExportRequest); + excelData.addAll(getRows(thrCorpEntities)); + } else { + //根据查询条件一键导出数据库往来单位 + FilterThrCorpRequest filterThrCorpRequest = new FilterThrCorpRequest(); + BeanUtils.copyProperties(thrCorpExportRequest, filterThrCorpRequest); + filterThrCorpRequest.setPage(null); + List> genDatas = genExcelData(filterThrCorpRequest); + if (genDatas != null && genDatas.size() > 0) { + excelData.addAll(genDatas); + } + } + + } + String sheetName = "往来单位信息"; + new ExcelUtil().exportExcel(excelData, sheetName, thrCorpExportLogEntity.getFilePath(), 20); + thrCorpExportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_SUCCESS); + thrCorpExportLogService.updateThrCorpExportLog(thrCorpExportLogEntity); + + } + + //接收第三方上传或文件导入数据 + @Async + public void insertData(String genKey, String thirdSys, List erpUnitsResponses) { + + ThrCorpImportLogEntity thrCorpImportLogEntity = thrCorpImportLogService.selectByGenKey(genKey); + //转入临时表 + List thrCorpEntities; + List thrCorpImportDetailEntities; + String finalGenKey = genKey; + thrCorpImportDetailEntities = erpUnitsResponses.stream().map( + item -> { + ThrCorpImportDetailEntity thrCorpEntity = new ThrCorpImportDetailEntity(); + BeanUtils.copyProperties(item, thrCorpEntity); + thrCorpEntity.setUnitId(item.getId()); + thrCorpEntity.setGenKeyFk(finalGenKey); + thrCorpEntity.setUpdateTime(new Date()); + thrCorpEntity.setThirdSysFk(thirdSys); + return thrCorpEntity; + } + ).collect(Collectors.toList()); + thrCorpImportDetailService.insertCorpDetailImports(thrCorpImportDetailEntities); + thrCorpEntities = thrCorpImportDetailEntities.stream().map( + item -> { + ThrCorpEntity thrCorpEntity = new ThrCorpEntity(); + BeanUtils.copyProperties(item, thrCorpEntity); +// thrCorpEntity.setUnitId(item.getId()); + thrCorpEntity.setUpdateTime(new Date()); + thrCorpEntity.setThirdSysFk(thirdSys); + return thrCorpEntity; + } + ).collect(Collectors.toList()); + thrCorpService.insertThrCorpss(thrCorpEntities); + thrCorpImportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_SUCCESS); + thrCorpImportLogEntity.setUpdateTime(new Date()); + thrCorpImportLogService.updateImportLog(thrCorpImportLogEntity); + } + + + public int getCorps(int page, int limit, String corpUrl, ThrCorpImportLogEntity thrCorpImportLogEntity, String thirdSys, String genKey, BasicUnitMaintainFilterRequest basicUnitMaintainFilterRequest) { + if (basicUnitMaintainFilterRequest == null) + basicUnitMaintainFilterRequest = new BasicUnitMaintainFilterRequest(); + basicUnitMaintainFilterRequest.setPage(page); + basicUnitMaintainFilterRequest.setLimit(limit); + BaseResponse> erpCrops = new ErpBasicClient().getErpCrop(basicUnitMaintainFilterRequest, corpUrl); + if (erpCrops == null || erpCrops.getCode() != 20000) { + + thrCorpImportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_FAIL); + thrCorpImportLogEntity.setRemark(erpCrops.getMessage()); + thrCorpImportLogService.updateImportLog(thrCorpImportLogEntity); + return -1; + } + List erpUnitsResponses = erpCrops.getData().getList(); + if (erpUnitsResponses != null && erpUnitsResponses.size() > 0) { + + List thrCorpImportDetailEntities; + String finalGenKey = genKey; + thrCorpImportDetailEntities = erpUnitsResponses.stream().map( + item -> { + ThrCorpImportDetailEntity thrCorpEntity = new ThrCorpImportDetailEntity(); + BeanUtils.copyProperties(item, thrCorpEntity); + thrCorpEntity.setUnitId(item.getId()); + thrCorpEntity.setGenKeyFk(finalGenKey); + thrCorpEntity.setUpdateTime(new Date()); + thrCorpEntity.setThirdSysFk(thirdSys); + return thrCorpEntity; + } + ).collect(Collectors.toList()); + thrCorpImportDetailService.insertCorpDetailImports(thrCorpImportDetailEntities); + + + page++; + if (page * limit < erpCrops.getData().getTotal()) { + return page; + } + } + thrCorpImportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_SUCCESS); + thrCorpImportLogService.updateImportLog(thrCorpImportLogEntity); + return -1; + } + + + public List exportCorps(ThrCorpExportRequest thrCorpExportRequest) { + BasicThirdSysDetailEntity corpEntity = basicThirdSysDetailService.selectByKey("corpUrl", thrCorpExportRequest.getThirdSys()); + int page = 1; + int limit = 100; + List thrCorpEntities = new ArrayList<>(); + while (true) { + List datas = getCorps(page, limit, corpEntity.getValue(), thrCorpExportRequest); + if (datas != null && datas.size() >= limit) { + thrCorpEntities.addAll(datas); + } else { + if (datas != null) { + thrCorpEntities.addAll(datas); + } + break; + } + } + return thrCorpEntities; + } + + public List getCorps(int page, int limit, String corpUrl, ThrCorpExportRequest thrCorpExportRequest) { + BasicUnitMaintainFilterRequest basicUnitMaintainFilterRequest = new BasicUnitMaintainFilterRequest(); + basicUnitMaintainFilterRequest.setName(thrCorpExportRequest.getName()); + basicUnitMaintainFilterRequest.setErpId(thrCorpExportRequest.getUnitId()); + basicUnitMaintainFilterRequest.setPage(page); + basicUnitMaintainFilterRequest.setLimit(limit); + BaseResponse> erpCrops = new ErpBasicClient().getErpCrop(basicUnitMaintainFilterRequest, corpUrl); + if (erpCrops.getCode() != 20000) { + return null; + } + List erpUnitsResponses = erpCrops.getData().getList(); + if (erpUnitsResponses != null && erpUnitsResponses.size() > 0) { + List thrCorpEntities = erpUnitsResponses.stream().map( + item -> { + ThrCorpEntity thrProductsEntity = new ThrCorpEntity(); + BeanUtils.copyProperties(item, thrProductsEntity); + thrProductsEntity.setUnitId(item.getId()); + return thrProductsEntity; + } + ).collect(Collectors.toList()); + return thrCorpEntities; + } + return null; + } + + public List> genExcelData(FilterThrCorpRequest filterThrOrderRequest) { + + List> excelData = new ArrayList<>(); + List thrCorpEntities = thrCorpService.filterThrCorps(filterThrOrderRequest); + excelData.addAll(getRows(thrCorpEntities)); + return excelData; + } + + public List> getRows(List thrCorpEntities) { + List> excelData = new ArrayList<>(); + for (ThrCorpEntity thrCorpEntity : thrCorpEntities) { + List rows = new ArrayList<>(); + rows.add(thrCorpEntity.getUnitId()); + rows.add(thrCorpEntity.getName()); + rows.add(thrCorpEntity.getSpell()); + rows.add(thrCorpEntity.getAddr()); + rows.add(thrCorpEntity.getCreditNo()); + rows.add(thrCorpEntity.getContact()); + rows.add(thrCorpEntity.getMobile()); + excelData.add(rows); + + } + return excelData; + } +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/thread/UdiDlHttpClient.java b/api-admin/src/main/java/com/glxp/sale/admin/thread/UdiDlHttpClient.java index 066b83e..8eee78a 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/thread/UdiDlHttpClient.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/thread/UdiDlHttpClient.java @@ -5,7 +5,10 @@ import com.alibaba.fastjson.TypeReference; import com.glxp.sale.admin.entity.basic.UdiInfoEntity; import com.glxp.sale.admin.util.HttpClient; import com.glxp.sale.common.res.BaseResponse; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -13,19 +16,19 @@ import java.util.Map; /** * 获取国家UDI同步库信息 */ +@Service public class UdiDlHttpClient { - String udiUrl; - - public UdiDlHttpClient(String udiUrl) { - this.udiUrl = udiUrl; - } + @Value("${UDI_SERVER_URL}") + private String udiUrl; + @Resource + HttpClient httpClient; public List getUdiByUuid(String uuid) { Map paramMap = new HashMap<>(16); paramMap.put("page", 1); paramMap.put("limit", 100); paramMap.put("uuid", uuid); - String response = HttpClient.mipsGet(udiUrl + "/udidl/device/filterByUuid", paramMap); + String response = httpClient.mipsGetHead(udiUrl + "/udidl/device/filterByUuid", paramMap); try { BaseResponse> udiDlDeviceResponse = (BaseResponse>) JSONObject.parseObject(response, BaseResponse.class); List udiInfoEntities = udiDlDeviceResponse.getData(); @@ -41,7 +44,7 @@ public class UdiDlHttpClient { paramMap.put("page", 1); paramMap.put("limit", 100); paramMap.put("nameCode", key); - String response = HttpClient.mipsGet(udiUrl + "/udidl/device/filterByNameCode", paramMap); + String response = httpClient.mipsGetHead(udiUrl + "/udidl/device/filterByNameCode", paramMap); try { BaseResponse> udiDlDeviceResponse = JSONObject.parseObject(response, new TypeReference>>() { diff --git a/api-admin/src/main/java/com/glxp/sale/admin/thread/UploadUdplatService.java b/api-admin/src/main/java/com/glxp/sale/admin/thread/UploadUdplatService.java new file mode 100644 index 0000000..f99dc46 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/thread/UploadUdplatService.java @@ -0,0 +1,21 @@ +package com.glxp.sale.admin.thread; + +import com.glxp.sale.admin.entity.thrsys.UdplatGoods; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 上传阳光采购平台数据到同步库 + */ + +@Service +public class UploadUdplatService { + + @Async + public void asyncUpload(String genKey, List udplatGoodsList) { + + } + +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/upload/ImageController.java b/api-admin/src/main/java/com/glxp/sale/admin/upload/ImageController.java index 13ef89f..bba23c2 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/upload/ImageController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/upload/ImageController.java @@ -1,9 +1,13 @@ package com.glxp.sale.admin.upload; +import net.sf.jasperreports.engine.JRException; +import net.sf.jasperreports.engine.JasperExportManager; +import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.imageio.ImageIO; +import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import java.awt.image.BufferedImage; import java.io.File; @@ -13,6 +17,8 @@ import java.io.OutputStream; @RestController public class ImageController { + @Value("${file_path}") + private String filePath; @GetMapping(value = "/udiwms/image/register/file/getImage") public void getImage(HttpServletResponse response @@ -22,7 +28,7 @@ public class ImageController { try { // 读取图片 BufferedImage image = ImageIO.read( - new FileInputStream(new File("d:/1s/udiwms/register/file/" + type + "/" + name))); + new FileInputStream(new File(filePath + "/register/file/" + type + "/" + name))); response.setContentType("image/png"); os = response.getOutputStream(); @@ -38,4 +44,56 @@ public class ImageController { } } } + + @GetMapping(value = "/udiwms/donwload/file") + public void download(HttpServletResponse response, + @RequestParam String fileName) throws IOException { + OutputStream os = null; + try { + FileInputStream input = new FileInputStream(new File(fileName)); + OutputStream out = response.getOutputStream(); + byte[] b = new byte[2048]; + int len; + while ((len = input.read(b)) != -1) { + out.write(b, 0, len); + } + input.close(); + } catch (IOException e) { + + } finally { + if (os != null) { + os.flush(); + os.close(); + } + } + } + + + @GetMapping(value = "/spms/donwload/pdf") + public void downloadPdf(HttpServletResponse response, + @RequestParam String fileName) throws IOException { + OutputStream os = null; + try { + FileInputStream input = new FileInputStream(new File(filePath + "/pdfprint/" + fileName)); + response.setDateHeader("Expires", 0); + response.setHeader("Content-disposition", "inline; filename=" + "export.pdf"); + response.setContentType("application/pdf; charset=utf-8"); + OutputStream out = response.getOutputStream(); +// JasperExportManager.exportReportToPdfStream(input,out); + byte[] b = new byte[2048]; + int len; + while ((len = input.read(b)) != -1) { + out.write(b, 0, len); + } + input.close(); + } catch (IOException e) { + + } finally { + if (os != null) { + os.flush(); + os.close(); + } + } + } + } \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/sale/admin/upload/uploadController.java b/api-admin/src/main/java/com/glxp/sale/admin/upload/uploadController.java index 8c70ef9..c44715c 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/upload/uploadController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/upload/uploadController.java @@ -4,6 +4,7 @@ import com.glxp.sale.common.enums.ResultEnum; import com.glxp.sale.common.res.BaseResponse; import com.glxp.sale.common.util.ResultVOUtils; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @@ -21,15 +22,19 @@ import java.util.UUID; */ @RestController public class uploadController { + + @Value("${file_path}") + private String filePath; + /** * 上传PDF模板 */ - @PostMapping("/udiwms/upload/pdf/template") + + @PostMapping("/udiwms/upload/pdf/template/jasper") public BaseResponse uploadPDFTemplate(@RequestParam("file") MultipartFile file) throws UnsupportedEncodingException { if (file.isEmpty()) { return ResultVOUtils.error(ResultEnum.DATA_ERROR, "上传文件不能为空"); } - // 保存文件 --------------------- String fileName = file.getOriginalFilename(); String fileType = fileName.substring(fileName.lastIndexOf(".")); @@ -38,7 +43,40 @@ public class uploadController { return ResultVOUtils.error(ResultEnum.DATA_ERROR, "上传文件只能是 jasper 格式"); } String newName = UUID.randomUUID()+fileType;//生成新文件名 - String savePath = "d:/1s/udiwms/pdf/template"; + String savePath = filePath+"/pdf/template"; + + File file1 = new File(savePath); + if(!file1.exists()){// 判断目录是否存在 + file1.mkdirs();// 创建多层目录 + } + file1 = new File(savePath + "/" + newName) ; + try { + file.transferTo(file1); + Map rMap = new HashMap<>(); + rMap.put("msg", "上传成功"); + rMap.put("path", savePath + "/" + newName); + return ResultVOUtils.success(rMap); + } catch (IOException e) { + e.printStackTrace(); + } + return ResultVOUtils.error(ResultEnum.DATA_ERROR, "上传失败"); + } + + + @PostMapping("/udiwms/upload/pdf/template/jrxml") + public BaseResponse uploadPDFJrxmlTemplate(@RequestParam("file") MultipartFile file) throws UnsupportedEncodingException { + if (file.isEmpty()) { + return ResultVOUtils.error(ResultEnum.DATA_ERROR, "上传文件不能为空"); + } + // 保存文件 --------------------- + String fileName = file.getOriginalFilename(); + String fileType = fileName.substring(fileName.lastIndexOf(".")); + // 文件类型判断 + if (StringUtils.isBlank(fileType) || !fileType.equals(".jrxml")) { + return ResultVOUtils.error(ResultEnum.DATA_ERROR, "上传文件只能是 jrxml 格式"); + } + String newName = UUID.randomUUID()+fileType;//生成新文件名 + String savePath = filePath+"/pdf/template"; File file1 = new File(savePath); if(!file1.exists()){// 判断目录是否存在 @@ -78,7 +116,7 @@ public class uploadController { return ResultVOUtils.error(ResultEnum.DATA_ERROR, "上传文件只能是 .jpg,.png 格式"); } String newName = UUID.randomUUID()+fileType;//生成新文件名 - String savePath = "d:/1s/udiwms/register/file/" + type; + String savePath = filePath+"/register/file/" + type; File file1 = new File(savePath); if(!file1.exists()){// 判断目录是否存在 diff --git a/api-admin/src/main/java/com/glxp/sale/admin/util/BeanUtils.java b/api-admin/src/main/java/com/glxp/sale/admin/util/BeanUtils.java new file mode 100644 index 0000000..97ed825 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/util/BeanUtils.java @@ -0,0 +1,34 @@ +package com.glxp.sale.admin.util; + +import org.springframework.util.CollectionUtils; + +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + +public class BeanUtils extends org.springframework.beans.BeanUtils{ + /** + * list复制 + * @param input + * @param clzz + * @param + * @param + * @return + */ + public static List convertList2List(List input, Class clzz){ + List output = new ArrayList<>(); + if(!CollectionUtils.isEmpty(input)){ + for(E source:input){ + T target = org.springframework.beans.BeanUtils.instantiate(clzz); + org.springframework.beans.BeanUtils.copyProperties(source,target); + output.add(target); + } + } + return output; + } + public static String getUUId() { + UUID uuid = UUID.randomUUID(); + return uuid.toString().replace("-", ""); + } + +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/util/CustomUtil.java b/api-admin/src/main/java/com/glxp/sale/admin/util/CustomUtil.java index cf4e180..66ffe76 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/util/CustomUtil.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/util/CustomUtil.java @@ -10,13 +10,21 @@ public class CustomUtil { } //随机生成ID - public static String getId(){ - String id = System.currentTimeMillis()+""; - int number=new Random().nextInt(90)+10; - id = id+number; + public static String getId() { + String id = System.currentTimeMillis() + ""; + int number = new Random().nextInt(90) + 10; + id = id + number; return id.substring(4); } + //随机生成往来单位ID + public static String getUnitId() { + String id = System.currentTimeMillis() + ""; + int number = new Random().nextInt(90) + 10; + id = id + number; + return "HZ" + id.substring(4); + } + public static List> splitList(List list, int len) { if (list == null || list.isEmpty() || len < 1) { diff --git a/api-admin/src/main/java/com/glxp/sale/admin/util/DateUtil.java b/api-admin/src/main/java/com/glxp/sale/admin/util/DateUtil.java index af3cafe..99861b3 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/util/DateUtil.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/util/DateUtil.java @@ -489,6 +489,21 @@ public class DateUtil extends org.apache.commons.lang3.time.DateUtils { final long time = datetime.getTime(); System.out.println(mydate + "转换后是:" + time); return time; + } + + public static String getBeforeDay(String actDate, int hour) { + try { + long time = timeToStamp(actDate); + long move = hour * 1000 * 60 * 60; + time = time - move; + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Date date = new Date(time); + String res = simpleDateFormat.format(date); + return res; + } catch (Exception e) { + e.printStackTrace(); + } + return null; } } \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/sale/admin/util/FileUtils.java b/api-admin/src/main/java/com/glxp/sale/admin/util/FileUtils.java new file mode 100644 index 0000000..f745ebe --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/util/FileUtils.java @@ -0,0 +1,63 @@ +package com.glxp.sale.admin.util; + +import org.junit.Test; + +import java.io.*; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.nio.file.StandardOpenOption; + +public class FileUtils { + + public void writeFile(String filePath, String content) { + try { +// fileExits(filePath); + Path path = Paths.get(filePath); + // 使用newBufferedWriter创建文件并写文件 + // 这里使用了try-with-resources方法来关闭流,不用手动关闭 + BufferedWriter writer = + Files.newBufferedWriter(path, StandardCharsets.UTF_8); + writer.write(content); + } catch (IOException e) { + e.printStackTrace(); + } + } + + + public void fileExits(String filePath) throws IOException { + File file = new File(filePath); + if (!file.exists()) { + file.createNewFile(); + } + } + + /** + * 读取 InputStream 到 String字符串中 + */ + public static String readStream(InputStream in) { + try { + //<1>创建字节数组输出流,用来输出读取到的内容 + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + //<2>创建缓存大小 + byte[] buffer = new byte[1024]; // 1KB + //每次读取到内容的长度 + int len = -1; + //<3>开始读取输入流中的内容 + while ((len = in.read(buffer)) != -1) { //当等于-1说明没有数据可以读取了 + baos.write(buffer, 0, len); //把读取到的内容写到输出流中 + } + //<4> 把字节数组转换为字符串 + String content = baos.toString(); + //<5>关闭输入流和输出流 + in.close(); + baos.close(); + //<6>返回字符串结果 + return content; + } catch (Exception e) { + e.printStackTrace(); + return e.getMessage(); + } + } +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/util/FilterUdiUtils.java b/api-admin/src/main/java/com/glxp/sale/admin/util/FilterUdiUtils.java index 203a2bb..1627811 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/util/FilterUdiUtils.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/util/FilterUdiUtils.java @@ -2,6 +2,7 @@ package com.glxp.sale.admin.util; import com.glxp.sale.admin.entity.basic.UdiInfoEntity; +import com.glxp.sale.admin.entity.inout.WarehouseEntity; import com.glxp.sale.admin.entity.udid.UdiEntity; /** @@ -253,4 +254,21 @@ public class FilterUdiUtils { return data; } + public static String transGlxpStr(String code) { + UdiEntity udiEntity = getUdi(code); + String udiCode = "#" + udiEntity.getUdi() + "#" + udiEntity.getProduceDate() + "#" + udiEntity.getExpireDate() + + "#" + udiEntity.getBatchNo() + "#" + udiEntity.getSerialNo() + "#" + "#"; + return udiCode; + } + + public static String transGlxpNoSerStr(WarehouseEntity warehouseEntity) { + String udiCode = "#" + warehouseEntity.getNameCode() + "#" + warehouseEntity.getProduceDate() + "#" + warehouseEntity.getExpireDate() + + "#" + warehouseEntity.getBatchNo() + "#" + "#" + "#"; + return udiCode; + } + public static String transGlxpNoSerStr(UdiEntity warehouseEntity) { + String udiCode = "#" + warehouseEntity.getUdi() + "#" + warehouseEntity.getProduceDate() + "#" + warehouseEntity.getExpireDate() + + "#" + warehouseEntity.getBatchNo() + "#" + "#" + "#"; + return udiCode; + } } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/util/HardWareUtils.java b/api-admin/src/main/java/com/glxp/sale/admin/util/HardWareUtils.java new file mode 100644 index 0000000..8589123 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/util/HardWareUtils.java @@ -0,0 +1,192 @@ +package com.glxp.sale.admin.util; + +import cn.hutool.core.util.CharsetUtil; +import cn.hutool.crypto.SmUtil; +import cn.hutool.crypto.asymmetric.AsymmetricCrypto; +import cn.hutool.crypto.symmetric.SymmetricCrypto; + +import java.applet.Applet; +import java.awt.*; +import java.io.BufferedReader; +import java.io.File; +import java.io.FileWriter; +import java.io.InputStreamReader; +import java.net.InetAddress; +import java.net.NetworkInterface; + +public class HardWareUtils extends Applet { + + public HardWareUtils() { + } + + private static final long serialVersionUID = 1L; + + @Override + public void paint(Graphics paint) { + super.paint(paint); + paint.drawString("获取硬件信息", 10, 10); + paint.drawString("CPU SN:" + HardWareUtils.getCPUSerial(), 10, 30); + paint.drawString("主板 SN:" + HardWareUtils.getMotherboardSN(), 10, 50); +// paint.drawString("C盘 SN:" + HardWareUtils.getHardDiskSN("c"), 10, 70); + paint.drawString("MAC SN:" + HardWareUtils.getMac(), 10, 90); + } + + /** + * 29 * 获取主板序列号 + * 30 * + * 31 * @return + * 32 + */ + public static String getMotherboardSN() { + String result = ""; + try { + File file = File.createTempFile("realhowto", ".vbs"); + file.deleteOnExit(); + FileWriter fw = new java.io.FileWriter(file); + String vbs = "Set objWMIService = GetObject(\"winmgmts:\\\\.\\root\\cimv2\")\n" + + "Set colItems = objWMIService.ExecQuery _ \n" + + " (\"Select * from Win32_BaseBoard\") \n" + + "For Each objItem in colItems \n" + + " Wscript.Echo objItem.SerialNumber \n" + + " exit for ' do the first cpu only! \n" + "Next \n"; + + fw.write(vbs); + fw.close(); + Process p = Runtime.getRuntime().exec( + "cscript //NoLogo " + file.getPath()); + BufferedReader input = new BufferedReader(new InputStreamReader(p + .getInputStream())); + String line; + while ((line = input.readLine()) != null) { + result += line; + } + input.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return result.trim(); + } + + /** + * 64 * 获取硬盘序列号 + * 65 * + * 66 * @param drive + * 67 * 盘符 + * 68 * @return + * 69 + */ + public static String getHardDiskSN(String drive) { + String result = ""; + try { + File file = File.createTempFile("realhowto", ".vbs"); + file.deleteOnExit(); + FileWriter fw = new java.io.FileWriter(file); + String vbs = "Set objFSO = CreateObject(\"Scripting.FileSystemObject\")\n" + + "Set colDrives = objFSO.Drives\n" + + "Set objDrive = colDrives.item(\"" + + drive + + "\")\n" + + "Wscript.Echo objDrive.SerialNumber"; // see note + fw.write(vbs); + fw.close(); + Process p = Runtime.getRuntime().exec( + "cscript //NoLogo " + file.getPath()); + BufferedReader input = new BufferedReader(new InputStreamReader(p + .getInputStream())); + String line; + while ((line = input.readLine()) != null) { + result += line; + } + input.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return result.trim(); + } + + /** + * 101 * 获取CPU序列号 + * 102 * + * 103 * @return + * 104 + */ + public static String getCPUSerial() { + String result = ""; + try { + File file = File.createTempFile("tmp", ".vbs"); + file.deleteOnExit(); + FileWriter fw = new java.io.FileWriter(file); + String vbs = "Set objWMIService = GetObject(\"winmgmts:\\\\.\\root\\cimv2\")\n" + + "Set colItems = objWMIService.ExecQuery _ \n" + + " (\"Select * from Win32_Processor\") \n" + + "For Each objItem in colItems \n" + + " Wscript.Echo objItem.ProcessorId \n" + + " exit for ' do the first cpu only! \n" + "Next \n"; + fw.write(vbs); + fw.close(); + Process p = Runtime.getRuntime().exec( + "cscript //NoLogo " + file.getPath()); + BufferedReader input = new BufferedReader(new InputStreamReader(p + .getInputStream())); + String line; + while ((line = input.readLine()) != null) { + result += line; + } + input.close(); + file.delete(); + } catch (Exception e) { + e.fillInStackTrace(); + } + if (result.trim().length() < 1 || result == null) { + result = "无CPU_ID被读取"; + } + return result.trim(); + } + + /** + * 139 * 获取MAC地址 + * 140 + */ + public static String getMac() { + try { + byte[] mac = NetworkInterface.getByInetAddress(InetAddress.getLocalHost()).getHardwareAddress(); + StringBuffer sb = new StringBuffer(); + for (int i = 0; i < mac.length; i++) { + if (i != 0) { + sb.append("-"); + } + String s = Integer.toHexString(mac[i] & 0xFF); + sb.append(s.length() == 1 ? 0 + s : s); + } + return sb.toString().toUpperCase(); + } catch (Exception e) { + return ""; + } + + } + + + public static String getMachineInfo() { + String msg = getCPUSerial() + getMotherboardSN().replace(".", "") + + getHardDiskSN("c") + getMac().replace("-", ""); + return msg; + } + + public static void main(String[] args) throws Exception { + System.out.println(getCPUSerial());//CPU + System.out.println(getMotherboardSN());//主板 + System.out.println(getHardDiskSN("c"));//c盘 + System.out.println(getMac());//MAC + String msg = getCPUSerial() + getMotherboardSN().replace(".", "") + getHardDiskSN("c") + getMac().replace("-", ""); + System.out.println("原始数据:" + msg);//rT7DaHDt68m9IjVr +// String encrypt = DesUtil.encrypt(msg); +// System.out.println("加密:" + encrypt); +// String decrypt = DesUtil.decrypt(encrypt); +// System.out.println("解密:" + decrypt); + + SymmetricCrypto sm4 = SmUtil.sm4(); + String encryptHex = sm4.encryptHex("rT7DaHDt68m9IjVr" + msg); + String decryptStr = sm4.decryptStr(encryptHex, CharsetUtil.CHARSET_UTF_8); + System.out.println("加密后:" + msg);//rT7DaHDt68m9IjVr + } +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/util/HttpClient.java b/api-admin/src/main/java/com/glxp/sale/admin/util/HttpClient.java index f8cd488..0431404 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/util/HttpClient.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/util/HttpClient.java @@ -3,8 +3,10 @@ package com.glxp.sale.admin.util; import com.alibaba.fastjson.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; +import org.springframework.stereotype.Service; import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.MultiValueMap; import org.springframework.web.client.RestTemplate; @@ -12,13 +14,18 @@ import org.springframework.web.client.RestTemplate; import java.util.Iterator; import java.util.Map; +@Service public class HttpClient { + + @Value("${UDI_KEY}") + private String udiKey; + private static final Logger logger = LoggerFactory.getLogger(HttpClient.class); public static String post(String url, Object object) { RestTemplate restTemplate = new RestTemplate(); String json = JSONObject.toJSON(object).toString(); - logger.info(url+"\n"+json); + logger.info(url + "\n" + json); MultiValueMap postParameters = new LinkedMultiValueMap<>(); postParameters.add("params", json); HttpHeaders headers = new HttpHeaders(); @@ -35,7 +42,7 @@ public class HttpClient { String json = JSONObject.toJSON(object).toString(); // MultiValueMap postParameters = new LinkedMultiValueMap<>(); // postParameters.add("params", json); - logger.info(url+"\n"+json); + logger.info(url + "\n" + json); HttpHeaders headers = new HttpHeaders(); headers.add("Content-Type", "application/json"); headers.add("system", "1"); @@ -51,7 +58,7 @@ public class HttpClient { String json = JSONObject.toJSON(object).toString(); // MultiValueMap postParameters = new LinkedMultiValueMap<>(); // postParameters.add("params", json); - logger.info(url+"\n"+json); + logger.info(url + "\n" + json); HttpHeaders headers = new HttpHeaders(); headers.add("Content-Type", "application/json"); HttpEntity httpEntity = new HttpEntity<>(json, headers); @@ -69,6 +76,7 @@ public class HttpClient { return response; } + public static String mipsGet(String url, Map params) { StringBuffer stringBuffer = new StringBuffer(url); if (params instanceof Map) { @@ -96,5 +104,33 @@ public class HttpClient { return response; } + public String mipsGetHead(String url, Map params) { + HttpHeaders headers = new HttpHeaders(); + headers.add("Content-Type", "application/json"); + headers.add("key", udiKey); + StringBuffer stringBuffer = new StringBuffer(url); + if (params instanceof Map) { + Iterator iterator = ((Map) params).entrySet().iterator(); + if (iterator.hasNext()) { + stringBuffer.append("?"); + Object element; + while (iterator.hasNext()) { + element = iterator.next(); + Map.Entry entry = (Map.Entry) element; + if (entry.getValue() != null) { + stringBuffer.append(element).append("&"); + } + url = stringBuffer.substring(0, stringBuffer.length() - 1); + } + } + } else { + throw new RuntimeException("url请求:" + url + "请求参数有误不是map类型"); + } + RestTemplate restTemplate = new RestTemplate(); + String accessTokenRequestUrl = url;//"http://127.0.0.1:9997/mips/druginfo/list"; + logger.info(accessTokenRequestUrl); + String response = restTemplate.getForObject(accessTokenRequestUrl, String.class, new HttpEntity(headers)); + return response; + } } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/util/JasperUtils.java b/api-admin/src/main/java/com/glxp/sale/admin/util/JasperUtils.java index fefc9ac..d38b521 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/util/JasperUtils.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/util/JasperUtils.java @@ -29,57 +29,85 @@ import net.sf.jasperreports.export.SimpleOutputStreamExporterOutput; /** * Jasperreport工具类 + * * @author chenqf * @date 2021-11-10 22:23 */ @Component public class JasperUtils { - private static Logger logger = LoggerFactory.getLogger(JasperUtils.class); - - public static final String PDF_TYPE="pdf"; - public static final String WORD_TYPE="word"; - public static final String EXCEL_TYPE="excel"; - public static final String HTML_TYPE="html"; - /* - * data 传入报表数据 - * jasperResource 模板文件路径 - */ - public static void jasperReport(HttpServletRequest request, HttpServletResponse response,Map data,String jasperResource,String type) throws IOException, JRException { - try { - HashMap map = new HashMap(); - InputStream is = new ByteArrayInputStream(JSON.toJSONString(data).getBytes("UTF-8")); - map.put("JSON_INPUT_STREAM", is); //填充报表数据 - map.put(JsonQueryExecuterFactory.JSON_LOCALE, Locale.ENGLISH); - + private static Logger logger = LoggerFactory.getLogger(JasperUtils.class); + + public static final String PDF_TYPE = "pdf"; + public static final String WORD_TYPE = "word"; + public static final String EXCEL_TYPE = "excel"; + public static final String HTML_TYPE = "html"; + + /* + * data 传入报表数据 + * jasperResource 模板文件路径 + */ + public static void jasperReport(HttpServletRequest request, HttpServletResponse response, Map data, String jasperResource, String type) throws IOException, JRException { + try { + HashMap map = new HashMap(); + logger.error(JSON.toJSONString(data)); + InputStream is = new ByteArrayInputStream(JSON.toJSONString(data).getBytes("UTF-8")); + map.put("JSON_INPUT_STREAM", is); //填充报表数据 + map.put(JsonQueryExecuterFactory.JSON_LOCALE, Locale.ENGLISH); // ClassPathResource resource = new ClassPathResource(jasperResource); - FileInputStream jasperStream = new FileInputStream(new File(jasperResource)); + FileInputStream jasperStream = new FileInputStream(new File(jasperResource)); +// InputStream jasperStream = resource.getInputStream(); + + JasperReport jasperReport = (JasperReport) JRLoader.loadObject(jasperStream); + //报表填充 + JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, map); + String fileName = new String("export.pdf".getBytes("GBK"), "ISO8859_1"); + ServletOutputStream os = response.getOutputStream(); + response.setDateHeader("Expires", 0); + response.setHeader("Content-disposition", "attachment; filename=" + fileName); + if (type != null && WORD_TYPE.equals(type)) { + response.setContentType("appliction/msword; charset=utf-8"); + JRDocxExporter exporter = new JRDocxExporter(); + exporter.setExporterInput(new SimpleExporterInput(jasperPrint)); + exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(os)); + exporter.exportReport(); + } else { + response.setContentType("application/pdf; charset=utf-8"); + JasperExportManager.exportReportToPdfStream(jasperPrint, os); + os.flush(); + os.close(); + } + } catch (Exception e) { + + e.printStackTrace(); + + } + } + + public static void jasperReportToFile(String filePath, Map data, String jasperResource) throws IOException, JRException { + try { + HashMap map = new HashMap(); + logger.error(JSON.toJSONString(data)); + InputStream is = new ByteArrayInputStream(JSON.toJSONString(data).getBytes("UTF-8")); + map.put("JSON_INPUT_STREAM", is); //填充报表数据 + map.put(JsonQueryExecuterFactory.JSON_LOCALE, Locale.ENGLISH); +// ClassPathResource resource = new ClassPathResource(jasperResource); + FileInputStream jasperStream = new FileInputStream(new File(jasperResource)); // InputStream jasperStream = resource.getInputStream(); - - JasperReport jasperReport = (JasperReport) JRLoader.loadObject(jasperStream); - //报表填充 - JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, map); - String fileName = new String("export.pdf".getBytes("GBK"), "ISO8859_1"); - ServletOutputStream os = response.getOutputStream(); - response.setDateHeader("Expires", 0); - response.setHeader("Content-disposition","attachment; filename="+fileName); - if(type!=null&&WORD_TYPE.equals(type)) { - response.setContentType("appliction/msword; charset=utf-8"); - JRDocxExporter exporter = new JRDocxExporter(); - exporter.setExporterInput(new SimpleExporterInput(jasperPrint)); - exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(os)); - exporter.exportReport(); - } else { - response.setContentType("application/pdf; charset=utf-8"); - JasperExportManager.exportReportToPdfStream(jasperPrint,os); - os.flush(); - os.close(); - } - } catch (Exception e) { - - e.printStackTrace(); - - } - } - + + JasperReport jasperReport = (JasperReport) JRLoader.loadObject(jasperStream); + //报表填充 + JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, map); + File createFile = new File(filePath); + if (!createFile.exists()) { + createFile.createNewFile(); + } + JasperExportManager.exportReportToPdfFile(jasperPrint, filePath); + + } catch (Exception e) { + + e.printStackTrace(); + + } + } } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/util/Md5Utils.java b/api-admin/src/main/java/com/glxp/sale/admin/util/Md5Utils.java index bfd07b7..b490715 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/util/Md5Utils.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/util/Md5Utils.java @@ -1,8 +1,15 @@ package com.glxp.sale.admin.util; +import org.apache.commons.codec.digest.DigestUtils; + +import java.io.UnsupportedEncodingException; import java.math.BigInteger; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; +import java.util.HashMap; +import java.util.Map; +import java.util.Set; +import java.util.TreeMap; public class Md5Utils { @@ -20,4 +27,62 @@ public class Md5Utils { } return md5code; } + + public static String md5(String inStr) { + try { + return DigestUtils.md5Hex(inStr.getBytes("UTF-8")); + } catch (UnsupportedEncodingException e) { + throw new RuntimeException("MD5签名过程中出现错误"); + } + } + + public static String sign(HashMap params, String appSecret) { + StringBuilder valueSb = new StringBuilder(); + params.put("appSecret", appSecret); + // 将参数以参数名的字典升序排序 + Map sortParams = new TreeMap(params); + Set> entrys = sortParams.entrySet(); + // 遍历排序的字典,并拼接value1+value2......格式 + for (Map.Entry entry : entrys) { + valueSb.append(entry.getValue()); + } + params.remove("appSecret"); + return md5(valueSb.toString()); + } + + private static String byteArrayToHexString(byte b[]) { + StringBuffer resultSb = new StringBuffer(); + for (int i = 0; i < b.length; i++) + resultSb.append(byteToHexString(b[i])); + + return resultSb.toString(); + } + + private static String byteToHexString(byte b) { + int n = b; + if (n < 0) + n += 256; + int d1 = n / 16; + int d2 = n % 16; + return hexDigits[d1] + hexDigits[d2]; + } + + public static String MD5Encode(String origin, String charsetname) { + String resultString = null; + try { + resultString = new String(origin); + MessageDigest md = MessageDigest.getInstance("MD5"); + if (charsetname == null || "".equals(charsetname)) + resultString = byteArrayToHexString(md.digest(resultString + .getBytes())); + else + resultString = byteArrayToHexString(md.digest(resultString + .getBytes(charsetname))); + } catch (Exception exception) { + } + return resultString; + } + + private static final String hexDigits[] = {"0", "1", "2", "3", "4", "5", + "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"}; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/util/PasswordUtils.java b/api-admin/src/main/java/com/glxp/sale/admin/util/PasswordUtils.java index 710767f..51065de 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/util/PasswordUtils.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/util/PasswordUtils.java @@ -1,12 +1,11 @@ package com.glxp.sale.admin.util; - /** * 密码相关的工具类 */ public class PasswordUtils { public static String authAdminPwd(String pwd) { -// return DigestUtils.md5DigestAsHex(DigestUtils.md5DigestAsHex(pwd.getBytes()).getBytes()).toLowerCase(); +// return DigestUtils.md5DigestAsHex(pwd.getBytes()).toLowerCase(); return pwd; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/util/RsaUtils.java b/api-admin/src/main/java/com/glxp/sale/admin/util/RsaUtils.java new file mode 100644 index 0000000..c5c4060 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/util/RsaUtils.java @@ -0,0 +1,85 @@ +package com.glxp.sale.admin.util; + +import cn.hutool.core.io.resource.ClassPathResource; +import org.apache.commons.codec.binary.Base64; + +import javax.crypto.Cipher; +import java.io.BufferedReader; +import java.io.File; +import java.io.FileReader; +import java.io.IOException; +import java.security.KeyFactory; +import java.security.PrivateKey; +import java.security.PublicKey; +import java.security.spec.PKCS8EncodedKeySpec; +import java.security.spec.X509EncodedKeySpec; + +public class RsaUtils { + + public static String privateKeyEncrypt(String str, String privateKey) throws Exception { + System.out.println("{}|RSA私钥加密前的数据|str:{}|publicKey:{}" + str + "\n" + privateKey); + //base64编码的公钥 + byte[] decoded = Base64.decodeBase64(privateKey); + PrivateKey priKey = KeyFactory.getInstance("RSA"). + generatePrivate(new PKCS8EncodedKeySpec(decoded)); + //RSA加密 + Cipher cipher = Cipher.getInstance("RSA"); + cipher.init(Cipher.ENCRYPT_MODE, priKey); + String outStr = Base64.encodeBase64String(cipher.doFinal(str.getBytes())); + System.out.println("{}|RSA私钥加密后的数据|outStr:{}" + "\n" + outStr); + return outStr; + } + + /** + * RSA公钥解密 + * + * @param str + * @param publicKey + * @return + * @throws Exception + */ + public static String publicKeyDecrypt(String str, String publicKey) throws Exception { + System.out.println("{}|RSA公钥解密前的数据|str:{}|publicKey:{}" + str + "\n" + publicKey); + //64位解码加密后的字符串 + byte[] inputByte = Base64.decodeBase64(str.trim().getBytes("UTF-8")); + //base64编码的私钥 + byte[] decoded = Base64.decodeBase64(publicKey); + PublicKey pubKey = KeyFactory.getInstance("RSA") + .generatePublic(new X509EncodedKeySpec(decoded)); + //RSA解密 + Cipher cipher = Cipher.getInstance("RSA"); + cipher.init(Cipher.DECRYPT_MODE, pubKey); + String outStr = new String(cipher.doFinal(inputByte)); + System.out.println("{}|RSA公钥解密后的数据|outStr:{}" + outStr); + return outStr; + } + + public static String readFileContent(String fileName) { + ClassPathResource resource = new ClassPathResource("config.txt"); + + File file = new File(resource.getAbsolutePath()); + BufferedReader reader = null; + StringBuffer sbf = new StringBuffer(); + try { + reader = new BufferedReader(new FileReader(file)); + String tempStr; + while ((tempStr = reader.readLine()) != null) { + sbf.append(tempStr); + } + reader.close(); + return sbf.toString(); + } catch (IOException e) { + e.printStackTrace(); + } finally { + if (reader != null) { + try { + reader.close(); + } catch (IOException e1) { + e1.printStackTrace(); + } + } + } + return sbf.toString(); + } + +} diff --git a/api-admin/src/main/resources/application-pro.properties b/api-admin/src/main/resources/application-pro.properties index 5586b79..3165b5a 100644 --- a/api-admin/src/main/resources/application-pro.properties +++ b/api-admin/src/main/resources/application-pro.properties @@ -1,5 +1,4 @@ # \u751F\u4EA7\u73AF\u5883 - server.port=9996 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.jdbc-url=jdbc:mysql://127.0.0.1:3306/spms?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true @@ -12,38 +11,34 @@ spring.datasource.password=123456 cors.allowed-origins=* cors.allowed-headers=Content-Type,ADMIN_ID,ADMIN_TOKEN cors.allowed-methods=GET,POST,PUT,DELETE,PATCH,OPTIONS -cors.allowed-Credentials = true - - +cors.allowed-Credentials=true #\u8BF7\u6C42\u53C2\u6570\u957F\u5EA6 server.tomcat.max-http-form-post-size=100MB server.max-http-header-size=100MB - #\u6700\u5927\u4E0A\u4F20\u6587\u4EF6\u5927\u5C0F(10MB) -spring.servlet.multipart.max-file-size=104857600 -spring.servlet.multipart.max-request-size=104857600 -server.connectionTimeout =180000 +spring.servlet.multipart.max-file-size=200MB +spring.servlet.multipart.max-request-size=200MB +server.connectionTimeout=180000 logging.level.com.glxp.sale.admin.dao=debug - - # \u8F93\u51FA\u65E5\u5FD7\u5230\u9879\u76EE\u6839\u76EE\u5F55\u4E0B\u7684springboot.log\u6587\u4EF6\u4E2D // \u914D\u7F6E logback-spring.xml\u65F6 \u6B64\u65E5\u5FD7\u8F93\u51FA\u65B9\u5F0F\u4F1A\u88AB\u8986\u76D6\u3002 -logging.file = D:/1s/udiwms/udiwms.log - +logging.file=D:/1s/udiwms/udiwms.log +#file_path=/home/anthony/udiwms +file_path=D:/1s/udiwms #UDI\u6570\u636E\u4E0B\u8F7D -UDI_SERVER_URL=https://www.udims.com/UDI_DL_Server +UDI_KEY=6b137c66-6286-46c6-8efa-c2f5dd9237df +UDI_SERVER_URL=https://www.udims.com/UDI_DL_Server_test #UCLOD\u670D\u52A1 #UCLOD_SERVER_URL=http://127.0.0.1:9997 #UCLOD_SERVER_URL=http://127.0.0.1:8080/UDIC_UCLOUD_SERVER -UCLOD_SERVER_URL=http://139.9.178.73:8080/UDIC_UCLOUD_SERVER +UCLOD_SERVER_URL=http://139.9.178.73/UDIC_UCLOUD_SERVER #mips\u670D\u52A1\u5730\u5740 -UDIC_MIPSDOWNLOAD_URL = http://127.0.0.1:8080/UDIC_MIPSDL_Server +UDIC_MIPSDOWNLOAD_URL=http://127.0.0.1:8080/UDIC_MIPSDL_Server #UDIC_MIPSDOWNLOAD_URL = http://127.0.0.1:9997 UDIC_U8_URL="https://api.yonyoucloud.com/apis/u8c/uapbd/invmandoc_query" #\u534F\u8C03\u5E73\u53F0\u5BA2\u6237\u7AEF\u5730\u5740 COOR_UPLOAD_ORDER=http://127.0.0.1:9987/udi/upload #\u5185\u5B58\u7801\u751F\u6210 -STOCK_PRINT_POST=http://139.159.187.130:8080/UDI_WMS_MC/udiwms/stockprint/post - +STOCK_PRINT_POST=http://139.159.187.130/UDI_WMS_MC/udiwms/stockprint/post spring.jackson.date-format=yyyy-MM-dd HH:mm:ss spring.jackson.time-zone=GMT+8 spring.main.allow-bean-definition-overriding=true diff --git a/api-admin/src/main/resources/config.txt b/api-admin/src/main/resources/config.txt new file mode 100644 index 0000000..23523e1 --- /dev/null +++ b/api-admin/src/main/resources/config.txt @@ -0,0 +1 @@ +pnX84xUQPosn2EKyWQ6LAsipXBigaQW9xgXm7Vsrslw5izRLs96M2P6CB4goQsV9KJ0+Cjh0IYgBLq9f47/hThw+g8s9rE2JqXWIJ6Ihhbz02FfdrAL/HmTh4E+V2ONOCU0zhozbTEdyRyTrETlEfBE3KNl9+SOkSX5hPaKfxXA4rqJB2kx8fVaA9opKNUVsGb6inJIItPoFr1cwVvTviK9vlts8JqV37tmJ3v2n49e1sRzVToFS5GVUk++wgQwJ6v4EYSvkBceUAas9OGOUCgHXNey+33koXw3JERRC4eeyBBwOxd8b0CyAm9xWUxPIbw1hq7Ehl2gCY5MFqM18UA== \ No newline at end of file diff --git a/api-admin/src/main/resources/fonts/fonts.xml b/api-admin/src/main/resources/fonts/fonts.xml index 789638f..e7ac78a 100644 --- a/api-admin/src/main/resources/fonts/fonts.xml +++ b/api-admin/src/main/resources/fonts/fonts.xml @@ -12,4 +12,40 @@ '华文宋体', Arial, Helvetica, sans-serif + + fonts/mircblack.ttf + fonts/mircblack.ttf + fonts/mircblack.ttf + fonts/mircblack.ttf + Identity-H + true + + '微软雅黑', Arial, Helvetica, sans-serif + '微软雅黑', Arial, Helvetica, sans-serif + + + + fonts/simsun.ttf + fonts/simsun.ttf + fonts/simsun.ttf + fonts/simsun.ttf + Identity-H + true + + '宋体', Arial, Helvetica, sans-serif + '宋体', Arial, Helvetica, sans-serif + + + + fonts/heiti.ttf + fonts/heiti.ttf + fonts/heiti.ttf + fonts/heiti.ttf + Identity-H + true + + '黑体', Arial, Helvetica, sans-serif + '黑体', Arial, Helvetica, sans-serif + + \ No newline at end of file diff --git a/api-admin/src/main/resources/fonts/heiti.ttf b/api-admin/src/main/resources/fonts/heiti.ttf new file mode 100644 index 0000000..5bd4687 Binary files /dev/null and b/api-admin/src/main/resources/fonts/heiti.ttf differ diff --git a/api-admin/src/main/resources/fonts/mircblack.ttf b/api-admin/src/main/resources/fonts/mircblack.ttf new file mode 100644 index 0000000..b4456b2 Binary files /dev/null and b/api-admin/src/main/resources/fonts/mircblack.ttf differ diff --git a/api-admin/src/main/resources/fonts/simsun.ttc b/api-admin/src/main/resources/fonts/simsun.ttc new file mode 100644 index 0000000..40e9693 Binary files /dev/null and b/api-admin/src/main/resources/fonts/simsun.ttc differ diff --git a/api-admin/src/main/resources/fonts/simsun.ttf b/api-admin/src/main/resources/fonts/simsun.ttf new file mode 100644 index 0000000..75d48e0 Binary files /dev/null and b/api-admin/src/main/resources/fonts/simsun.ttf differ diff --git a/api-admin/src/main/resources/fonts/simsunNew.ttf b/api-admin/src/main/resources/fonts/simsunNew.ttf new file mode 100644 index 0000000..9b690fe Binary files /dev/null and b/api-admin/src/main/resources/fonts/simsunNew.ttf differ diff --git a/api-admin/src/main/resources/fonts/songti.ttf b/api-admin/src/main/resources/fonts/songti.ttf new file mode 100644 index 0000000..b664e7b Binary files /dev/null and b/api-admin/src/main/resources/fonts/songti.ttf differ diff --git a/api-admin/src/main/resources/logback-spring.xml b/api-admin/src/main/resources/logback-spring.xml index 8a2b724..4d174d4 100644 --- a/api-admin/src/main/resources/logback-spring.xml +++ b/api-admin/src/main/resources/logback-spring.xml @@ -38,7 +38,7 @@ - d:/1s/udiwms/logs/${LOG_INFO_HOME}//%d{yyyy-MM-dd}_%i.log + /home/anthony/udiwms/logs/${LOG_INFO_HOME}//%d{yyyy-MM-dd}_%i.log 30 + + + delete + from auth_user + where CustomerId = #{customerId} + + \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/auth/CustomerInfoDao.xml b/api-admin/src/main/resources/mybatis/mapper/auth/CustomerInfoDao.xml index a9a6b22..30701a1 100644 --- a/api-admin/src/main/resources/mybatis/mapper/auth/CustomerInfoDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/auth/CustomerInfoDao.xml @@ -11,6 +11,9 @@ AND customerName LIKE concat('%',#{customerName},'%') + + AND companyName LIKE concat('%',#{companyName},'%') + @@ -32,33 +35,40 @@ INSERT INTO customer_info - ( - customerId, customerName, creditNum, - area, detailAddr, bussinessStatus, - userFlag, isInfoLink, infoLink, - roleId, comments,userMax,companyName - ) - values - ( - #{customerId},#{customerName},#{creditNum}, - #{area},#{detailAddr},#{bussinessStatus}, - #{userFlag},#{isInfoLink},#{infoLink}, - #{roleId}, - #{comments}, - #{userMax},#{companyName} - ) + (customerId, customerName, creditNum, + area, detailAddr, bussinessStatus, + userFlag, isInfoLink, infoLink, + roleId, comments, userMax, companyName) + values (#{customerId}, #{customerName}, #{creditNum}, + #{area}, #{detailAddr}, #{bussinessStatus}, + #{userFlag}, #{isInfoLink}, #{infoLink}, + #{roleId}, + #{comments}, + #{userMax}, #{companyName}) @@ -80,17 +90,19 @@ - - - delete from customer_info where customerId = #{customerId} + delete + from customer_info + where customerId = #{customerId} - + SELECT * + FROM customer_info + WHERE ( + customerId = #{customerId}) limit 1 diff --git a/api-admin/src/main/resources/mybatis/mapper/basic/BasicUnitMaintainDao.xml b/api-admin/src/main/resources/mybatis/mapper/basic/BasicUnitMaintainDao.xml index 154d525..326b2ae 100644 --- a/api-admin/src/main/resources/mybatis/mapper/basic/BasicUnitMaintainDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/basic/BasicUnitMaintainDao.xml @@ -25,6 +25,13 @@ AND unitId = #{unitId} + + AND erpId = #{erpId} + + + AND corpType = #{corpType} + + order by updateTime desc @@ -50,53 +57,62 @@ AND thirdId4 = #{thirdId4} + + AND corpType = #{corpType} + limit 1 - REPLACE INTO basic_corp + REPLACE + INTO basic_corp (thirdId,erpId,name,spell, addr,status,type,creditNo,contact,mobile,thirdId1,thirdId2,thirdId3,thirdId4, - thirdName,thirdName1,thirdName2,thirdName3,thirdName4,updateTime) + thirdName,thirdName1,thirdName2,thirdName3,thirdName4,updateTime,corpType) values ( - #{thirdId}, - #{erpId}, - #{name}, - #{spell}, - #{addr}, - #{status}, - #{type}, - #{creditNo}, - #{contact}, - #{mobile},#{thirdId1},#{thirdId2},#{thirdId3},#{thirdId4}, - #{thirdName},#{thirdName1},#{thirdName2},#{thirdName3},#{thirdName4},#{updateTime} - ) + #{thirdId}, + #{erpId}, + #{name}, + #{spell}, + #{addr}, + #{status}, + #{type}, + #{creditNo}, + #{contact}, + #{mobile}, + #{thirdId1}, + #{thirdId2}, + #{thirdId3}, + #{thirdId4}, + #{thirdName}, + #{thirdName1}, + #{thirdName2}, + #{thirdName3}, + #{thirdName4}, + #{updateTime},#{corpType} + ) - insert INTO basic_corp( - thirdId,erpId,name,spell,addr, - status,type,creditNo,contact,mobile,thirdId1,thirdId2,thirdId3,thirdId4, - thirdName,thirdName1,thirdName2,thirdName3,thirdName4,updateTime - ) values - ( - #{thirdId}, - #{erpId}, - #{name}, - #{spell}, - #{addr}, - #{status}, - #{type}, - #{creditNo}, - #{contact}, - #{mobile}, - #{thirdId1},#{thirdId2},#{thirdId3},#{thirdId4}, - #{thirdName},#{thirdName1},#{thirdName2},#{thirdName3},#{thirdName4},#{updateTime} - ) + insert INTO basic_corp(thirdId, erpId, name, spell, addr, + status, type, creditNo, contact, mobile, thirdId1, thirdId2, thirdId3, thirdId4, + thirdName, thirdName1, thirdName2, thirdName3, thirdName4, updateTime,corpType) + values (#{thirdId}, + #{erpId}, + #{name}, + #{spell}, + #{addr}, + #{status}, + #{type}, + #{creditNo}, + #{contact}, + #{mobile}, + #{thirdId1}, #{thirdId2}, #{thirdId3}, #{thirdId4}, + #{thirdName}, #{thirdName1}, #{thirdName2}, #{thirdName3}, #{thirdName4}, #{updateTime},#{corpType}) @@ -123,23 +139,28 @@ thirdName3=#{thirdName3}, thirdName4=#{thirdName4}, updateTime=#{updateTime}, - + corpType=#{corpType}, WHERE id=#{id} - DELETE FROM basic_corp WHERE id = #{id} + DELETE + FROM basic_corp + WHERE id = #{id} diff --git a/api-admin/src/main/resources/mybatis/mapper/basic/BussinessChangeTypeDao.xml b/api-admin/src/main/resources/mybatis/mapper/basic/BussinessChangeTypeDao.xml new file mode 100644 index 0000000..e35e9a4 --- /dev/null +++ b/api-admin/src/main/resources/mybatis/mapper/basic/BussinessChangeTypeDao.xml @@ -0,0 +1,53 @@ + + + + + + + + + + insert + INTO basic_bustype_pre + (action, scAction, `index`, remark, beforeTime,intro) + values (#{action}, + #{scAction}, + #{index}, + #{remark}, + #{beforeTime},#{intro}) + + + + UPDATE basic_bustype_pre + + action = #{action}, + scAction = #{scAction}, + `index` = #{index}, + beforeTime = #{beforeTime}, + remark = #{remark}, + intro = #{intro}, + + WHERE id = #{id} + + + + DELETE + FROM basic_bustype_pre + WHERE id = #{id} + + + + + diff --git a/api-admin/src/main/resources/mybatis/mapper/basic/BussinessLocalTypeDao.xml b/api-admin/src/main/resources/mybatis/mapper/basic/BussinessLocalTypeDao.xml index 68c8328..2f78871 100644 --- a/api-admin/src/main/resources/mybatis/mapper/basic/BussinessLocalTypeDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/basic/BussinessLocalTypeDao.xml @@ -19,7 +19,9 @@ AND originAction =#{originAction} - + + AND spUse =#{spUse} + @@ -28,7 +30,9 @@ @@ -51,11 +57,11 @@ INSERT INTO basic_bustype_local - (action, name, enable, remark,originAction) + (action, name, enable, remark, originAction, advanceType, changeEnable, spUse) values (#{action}, #{name}, #{enable}, - #{remark},#{originAction}) + #{remark}, #{originAction}, #{advanceType}, #{changeEnable}, #{spUse}) @@ -66,6 +72,10 @@ enable = #{enable}, remark = #{remark}, originAction = #{originAction}, + advanceType = #{advanceType}, + changeEnable = #{changeEnable}, + spUse = #{spUse}, + WHERE id = #{id} diff --git a/api-admin/src/main/resources/mybatis/mapper/basic/BussinessTypeDao.xml b/api-admin/src/main/resources/mybatis/mapper/basic/BussinessTypeDao.xml index 8ac32c5..2855177 100644 --- a/api-admin/src/main/resources/mybatis/mapper/basic/BussinessTypeDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/basic/BussinessTypeDao.xml @@ -8,10 +8,16 @@ SELECT basic_bussiness_type.id,basic_bussiness_type.action,basic_bussiness_type.name, basic_bussiness_type.enable,basic_bussiness_type.remark,basic_bussiness_type.mainAction, - basic_bussiness_type.thirdSysFk,basic_bussiness_type.localAction, - basic_bustype_local.name localName + basic_bussiness_type.thirdSysFk,basic_bussiness_type.localAction,basic_bussiness_type.secCheckEnable, + basic_bussiness_type.checkUdims,basic_bussiness_type.checkPdaEd,basic_bussiness_type.checkPdaUn,basic_bussiness_type.checkPc, + basic_bussiness_type.checkWebNew,basic_bussiness_type.checkChange, + basic_bussiness_type.secCheckUdims, basic_bussiness_type.secCheckPdaEd, basic_bussiness_type.secCheckPdaUn, + basic_bussiness_type.secCheckWebNew, basic_bussiness_type.secCheckChange, + basic_bustype_local.name localName,basic_bussiness_type.checkEnable, basic_bustype_local.advanceType, + basic_bustype_local.changeEnable,basic_bussiness_type.genUnit,basic_bussiness_type.innerOrder, + basic_bustype_local.spUse FROM basic_bussiness_type LEFT JOIN basic_bustype_local - on basic_bussiness_type.localAction = basic_bustype_local.name + on basic_bussiness_type.localAction = basic_bustype_local.action AND basic_bussiness_type.name LIKE concat(#{name},'%') @@ -25,14 +31,24 @@ AND basic_bussiness_type.enable =#{enabled} - + + AND basic_bustype_local.advanceType =#{advanceType} + + + AND basic_bustype_local.spUse =#{spUse} + - replace INTO basic_bussiness_type - (action,name,enable,remark,mainAction,localAction,thirdSysFk) + replace + INTO basic_bussiness_type + (action,name,enable,remark,mainAction,localAction,thirdSysFk, + checkEnable,genUnit,innerOrder,secCheckEnable, + checkUdims,checkPdaEd,checkPdaUn,checkPc,checkWebNew,checkChange + ,secCheckUdims,secCheckPdaEd,secCheckPdaUn,secCheckPc,secCheckWebNew,secCheckChange) values ( - #{action}, - #{name}, - #{enable}, - #{remark}, - #{mainAction},#{localAction},#{thirdSysFk} - ) + #{action}, + #{name}, + #{enable}, + #{remark}, + #{mainAction}, + #{localAction}, + #{thirdSysFk}, + #{checkEnable}, + #{genUnit}, + #{innerOrder}, + #{secCheckEnable}, + #{checkUdims}, + #{checkPdaEd}, + #{checkPdaUn}, + #{checkPc}, + #{checkWebNew}, + #{checkChange}, + #{secCheckUdims}, + #{secCheckPdaEd}, + #{secCheckPdaUn}, + #{secCheckPc}, + #{secCheckWebNew}, + #{secCheckChange} + ) + + + insert + ignore + INTO basic_bussiness_type + (`index`,action,name,enable,remark,mainAction,localAction,thirdSysFk, + checkEnable,genUnit,innerOrder,secCheckEnable, + checkUdims,checkPdaEd,checkPdaUn,checkPc,checkWebNew,checkChange + ,secCheckUdims,secCheckPdaEd,secCheckPdaUn,secCheckPc,secCheckWebNew,secCheckChange) + values + ( + #{index}, + #{action}, + #{name}, + #{enable}, + #{remark}, + #{mainAction}, + #{localAction}, + #{thirdSysFk}, + #{checkEnable}, + #{genUnit}, + #{innerOrder}, + #{secCheckEnable}, + #{checkUdims}, + #{checkPdaEd}, + #{checkPdaUn}, + #{checkPc}, + #{checkWebNew}, + #{checkChange}, + #{secCheckUdims}, + #{secCheckPdaEd}, + #{secCheckPdaUn}, + #{secCheckPc}, + #{secCheckWebNew}, + #{secCheckChange} + ) + + + UPDATE basic_bussiness_type @@ -75,17 +162,38 @@ remark = #{remark}, mainAction = #{mainAction}, localAction=#{localAction}, + checkEnable=#{checkEnable}, + genUnit=#{genUnit}, + innerOrder=#{innerOrder}, + secCheckEnable=#{secCheckEnable}, + checkUdims=#{checkUdims}, + checkPdaEd=#{checkPdaEd}, + checkPdaUn=#{checkPdaUn}, + checkPc=#{checkPc}, + checkWebNew=#{checkWebNew}, + checkChange=#{checkChange}, + secCheckUdims=#{secCheckUdims}, + secCheckPdaEd=#{secCheckPdaEd}, + secCheckPdaUn=#{secCheckPdaUn}, + secCheckPc=#{secCheckPc}, + secCheckWebNew=#{secCheckWebNew}, + secCheckChange=#{secCheckChange}, + index=#{index}, thirdSysFk=#{thirdSysFk}, WHERE id = #{id} - DELETE FROM basic_bussiness_type WHERE id = #{id} + DELETE + FROM basic_bussiness_type + WHERE id = #{id} diff --git a/api-admin/src/main/resources/mybatis/mapper/basic/UdiInfoDao.xml b/api-admin/src/main/resources/mybatis/mapper/basic/UdiInfoDao.xml index da76808..65e75db 100644 --- a/api-admin/src/main/resources/mybatis/mapper/basic/UdiInfoDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/basic/UdiInfoDao.xml @@ -30,8 +30,14 @@ basic_udirel.thirdId1,basic_udirel.thirdId2,basic_udirel.thirdId3,basic_udirel.thirdId4, basic_udirel.ybbm,basic_udirel.sptm,basic_udirel.isDisable, basic_udirel.thirdName1,basic_udirel.thirdName2,basic_udirel.thirdName3,basic_udirel.thirdName4, - basic_udirel.manufactory,basic_udirel.measname, - basic_products.nameCode,basic_products.packRatio,basic_products.packLevel,basic_products.bhxjsl,basic_products.bhzxxsbzsl,basic_products.zxxsbzbhsydysl,basic_products.bhxjcpbm,basic_products.bzcj,basic_products.addType,basic_products.deviceRecordKey,basic_products.cpmctymc,basic_products.cplb,basic_products.flbm,basic_products.ggxh,basic_products.qxlb,basic_products.tyshxydm,basic_products.ylqxzcrbarmc,basic_products.zczbhhzbapzbh,basic_products.ylqxzcrbarywmc,basic_products.sydycpbs,basic_products.uuid,basic_products.sjcpbm,basic_products.versionNumber,basic_products.diType + basic_udirel.manufactory,basic_udirel.measname,basic_udirel.udplatCode, + basic_products.nameCode,basic_products.packRatio,basic_products.packLevel, + basic_products.bhxjsl,basic_products.bhzxxsbzsl,basic_products.zxxsbzbhsydysl, + basic_products.bhxjcpbm,basic_products.bzcj,basic_products.addType,basic_products.deviceRecordKey, + basic_products.cpmctymc,basic_products.cplb,basic_products.flbm,basic_products.ggxh,basic_products.qxlb, + basic_products.tyshxydm,basic_products.ylqxzcrbarmc,basic_products.zczbhhzbapzbh,basic_products.ylqxzcrbarywmc, + basic_products.sydycpbs,basic_products.uuid,basic_products.sjcpbm,basic_products.versionNumber,basic_products.diType + FROM (company_product_relevance inner JOIN basic_udirel @@ -217,6 +223,7 @@ measname=#{measname}, diType=#{diType}, productType=#{productType}, + WHERE nameCode = #{nameCode} diff --git a/api-admin/src/main/resources/mybatis/mapper/basic/UdiInfoImportDetailDao.xml b/api-admin/src/main/resources/mybatis/mapper/basic/UdiInfoImportDetailDao.xml index efc0b6e..194d053 100644 --- a/api-admin/src/main/resources/mybatis/mapper/basic/UdiInfoImportDetailDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/basic/UdiInfoImportDetailDao.xml @@ -27,21 +27,18 @@ insert INTO basic_products_import_detail - (udiCode,ybbm,sptm,thirdId1,thirdId2, - thirdId3,thirdId4,thirdId,status,updateTime,remark,genKeyFk) - values - ( - #{udiCode}, #{ybbm},#{sptm}, - #{thirdId1}, #{thirdId2},#{thirdId3}, - #{thirdId4}, #{thirdId},#{status}, - #{updateTime},#{remark}, #{genKeyFk} - ) + (udiCode, ybbm, sptm, thirdId1, thirdId2, + thirdId3, thirdId4, thirdId, status, updateTime, remark, genKeyFk,isUseDy) + values (#{udiCode}, #{ybbm}, #{sptm}, + #{thirdId1}, #{thirdId2}, #{thirdId3}, + #{thirdId4}, #{thirdId}, #{status}, + #{updateTime}, #{remark}, #{genKeyFk},#{isUseDy}) insert INTO basic_products_import_detail (udiCode,ybbm,sptm,thirdId1,thirdId2, - thirdId3,thirdId4,thirdId,status,updateTime,remark,genKeyFk) + thirdId3,thirdId4,thirdId,status,updateTime,remark,genKeyFk,isUseDy) values @@ -49,15 +46,19 @@ #{item.udiCode}, #{item.ybbm},#{item.sptm}, #{item.thirdId1}, #{item.thirdId2},#{item.thirdId3}, #{item.thirdId4}, #{item.thirdId},#{item.status}, - #{item.updateTime},#{item.remark}, #{item.genKeyFk} + #{item.updateTime},#{item.remark}, #{item.genKeyFk},#{item.isUseDy} ) - DELETE FROM basic_products_import_detail WHERE id = #{id} + DELETE + FROM basic_products_import_detail + WHERE id = #{id} - DELETE FROM basic_products_import_detail WHERE genKeyFk = #{genKey} + DELETE + FROM basic_products_import_detail + WHERE genKeyFk = #{genKey} @@ -73,6 +74,7 @@ thirdId=#{thirdId}, status=#{status}, updateTime=#{updateTime}, + isUseDy=#{isUseDy}, remark=#{remark}, WHERE id = #{id} diff --git a/api-admin/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml b/api-admin/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml index 0dc282a..3366c4b 100644 --- a/api-admin/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml @@ -11,7 +11,8 @@ basic_udirel.thirdId1,basic_udirel.thirdId2,basic_udirel.thirdId3,basic_udirel.thirdId4, basic_udirel.thirdName1,basic_udirel.thirdName2,basic_udirel.thirdName3,basic_udirel.thirdName4, basic_udirel.manufactory,basic_udirel.measname,basic_udirel.ybbm,basic_udirel.sptm, - basic_udirel.isDisable, basic_udirel.isLock,basic_udirel.lockStatus, + basic_udirel.isDisable, basic_udirel.isLock,basic_udirel.lockStatus,basic_udirel.udplatCode, + basic_udirel.isAdavence, basic_products.nameCode,basic_products.packRatio,basic_products.packLevel, basic_products.bhxjsl,basic_products.bhzxxsbzsl,basic_products.zxxsbzbhsydysl, basic_products.bhxjcpbm,basic_products.bzcj, @@ -43,6 +44,14 @@ AND basic_udirel.id = #{id} + + AND basic_udirel.udplatCode = #{udplatCode} + + + + AND basic_products.diType= #{diType} + + AND basic_udirel.lockStatus = #{lockStatus} @@ -53,6 +62,13 @@ = DATE_FORMAT(#{lastUpdateTime}, '%Y-%m-%d %H:%i:%S') ]]> + + AND mainId = #{mainId} + + + AND isAdavence = #{isAdavence} + + ORDER BY updateTime DESC @@ -67,13 +83,14 @@ basic_udirel.thirdId1,basic_udirel.thirdId2,basic_udirel.thirdId3,basic_udirel.thirdId4, basic_udirel.ybbm,basic_udirel.sptm,basic_udirel.isDisable, basic_udirel.isLock,basic_udirel.lockStatus, basic_udirel.thirdName1,basic_udirel.thirdName2,basic_udirel.thirdName3,basic_udirel.thirdName4, - basic_udirel.manufactory,basic_udirel.measname, + basic_udirel.manufactory,basic_udirel.measname,basic_udirel.udplatCode, basic_products.nameCode,basic_products.packRatio,basic_products.packLevel,basic_products.bhxjsl, basic_products.bhzxxsbzsl,basic_products.zxxsbzbhsydysl,basic_products.bhxjcpbm,basic_products.bzcj, basic_products.addType,basic_products.deviceRecordKey,basic_products.cpmctymc,basic_products.cplb, basic_products.flbm,basic_products.ggxh,basic_products.qxlb,basic_products.tyshxydm,basic_products.ylqxzcrbarmc, basic_products.zczbhhzbapzbh,basic_products.ylqxzcrbarywmc,basic_products.sydycpbs,basic_products.uuid, - basic_products.sjcpbm,basic_products.versionNumber,basic_products.diType, basic_udirel.mainId,basic_udirel.mainName + basic_products.sjcpbm,basic_products.versionNumber,basic_products.diType, + basic_udirel.mainId,basic_udirel.mainName,basic_udirel.isAdavence FROM basic_products right JOIN basic_udirel ON basic_products.uuid = basic_udirel.uuid @@ -88,23 +105,27 @@ AND nameCode LIKE concat(#{nameCode},'%') - or nameCode LIKE concat('%',#{unionCode},'%') + and ( + nameCode LIKE concat('%',#{unionCode},'%') or basic_udirel.ybbm LIKE concat('%',#{unionCode},'%') - or basic_udirel.sptm LIKE concat('%',#{unionCode},'%') + or basic_udirel.sptm LIKE concat('%',#{unionCode},'%')) - or thirdId LIKE concat('%',#{thrPiId},'%') + and ( thirdId LIKE concat('%',#{thrPiId},'%') or thirdId1 LIKE concat('%',#{thrPiId},'%') or thirdId2 LIKE concat('%',#{thrPiId},'%') or thirdId3 LIKE concat('%',#{thrPiId},'%') - or thirdId4 LIKE concat('%',#{thrPiId},'%') + or thirdId4 LIKE concat('%',#{thrPiId},'%')) - AND uuid = #{uuid} + AND basic_udirel.uuid = #{uuid} AND thirdId = #{thirdId} + + AND udplatCode = #{udplatCode} + AND zczbhhzbapzbh LIKE concat(#{zczbhhzbapzbh},'%') @@ -137,6 +158,13 @@ AND basic_udirel.lockStatus = #{lockStatus} + + AND mainId = #{mainId} + + + AND basic_udirel.id = #{id} + + ORDER BY updateTime DESC @@ -178,6 +206,9 @@ AND thirdId4 = #{thirdId4} + + AND mainId = #{mainId} + limit 1 @@ -205,7 +236,9 @@ AND uuid = #{uuid} - + + AND mainId = #{mainId} + @@ -217,7 +250,7 @@ ( thirdId,thirdName,uuid,isUseDy,updateTime, thirdId1,thirdId2,thirdId3,thirdId4,thirdName1,thirdName2,thirdName3,thirdName4,manufactory,measname,ybbm,sptm,isDisable,isLock - ,mainId,mainName,lockStatus + ,mainId,mainName,lockStatus,udplatCode,isAdavence ) values ( @@ -239,7 +272,12 @@ #{ybbm}, #{sptm}, #{isDisable}, - #{isLock}, #{mainId},#{mainName},#{lockStatus} + #{isLock}, + #{mainId}, + #{mainName}, + #{lockStatus}, + #{udplatCode}, + #{isAdavence} ) @@ -263,7 +301,7 @@ UPDATE basic_udirel - + thirdId=#{thirdId}, thirdName=#{thirdName}, uuid=#{uuid}, @@ -286,7 +324,10 @@ mainId=#{mainId}, lockStatus=#{lockStatus}, mainName=#{mainName}, - + udplatCode=#{udplatCode}, + isAdavence=#{isAdavence}, + + WHERE id = #{id} \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/info/CompanyDao.xml b/api-admin/src/main/resources/mybatis/mapper/info/CompanyDao.xml index e8070dd..42e1cab 100644 --- a/api-admin/src/main/resources/mybatis/mapper/info/CompanyDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/info/CompanyDao.xml @@ -6,9 +6,15 @@ + + delete + from company + where customerId = #{customerId} + + @@ -36,7 +39,7 @@ basic_products.tyshxydm,basic_products.ylqxzcrbarmc,basic_products.zczbhhzbapzbh, basic_products.ylqxzcrbarywmc,basic_products.sydycpbs,basic_products.uuid, basic_products.sjcpbm,basic_products.versionNumber,basic_products.diType, - customer_info.customerName, basic_udirel.mainId,basic_udirel.mainName + customer_info.companyName, basic_udirel.mainId,basic_udirel.mainName,basic_udirel.isAdavence FROM company_product_relevance inner JOIN basic_udirel ON company_product_relevance.udiRlIdFk = basic_udirel.id @@ -54,19 +57,23 @@ AND nameCode LIKE concat(#{nameCode},'%') - or nameCode LIKE concat('%',#{unionCode},'%') + and ( + nameCode LIKE concat('%',#{unionCode},'%') or basic_udirel.ybbm LIKE concat('%',#{unionCode},'%') or basic_udirel.sptm LIKE concat('%',#{unionCode},'%') + ) - or thirdId LIKE concat('%',#{thrPiId},'%') + and ( + thirdId LIKE concat('%',#{thrPiId},'%') or thirdId1 LIKE concat('%',#{thrPiId},'%') or thirdId2 LIKE concat('%',#{thrPiId},'%') or thirdId3 LIKE concat('%',#{thrPiId},'%') or thirdId4 LIKE concat('%',#{thrPiId},'%') + ) - AND uuid = #{uuid} + AND basic_udirel.uuid = #{uuid} AND thirdId = #{thirdId} @@ -107,11 +114,18 @@ AND company_product_relevance.auditStatus = #{auditStatus} - AND company_product_relevance.id = #{id} + AND basic_udirel.id = #{id} + + + AND customer_info.companyName = #{companyName} + + + AND basic_udirel.lockStatus = #{lockStatus} - - AND customer_info.customerName = #{customerName} + + AND basic_udirel.isAdavence = #{isAdavence} + ORDER BY updateTime DESC @@ -216,4 +230,11 @@ WHERE id = #{id} + + + DELETE + FROM company_product_relevance + WHERE udiRlIdFk = #{id} + + \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/inout/CodesDao.xml b/api-admin/src/main/resources/mybatis/mapper/inout/CodesDao.xml index 097cc3d..18fb259 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inout/CodesDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inout/CodesDao.xml @@ -36,22 +36,19 @@ - INSERT INTO - io_codes( - action,mainAction,code,corpOrderId,actor,actDate, - fromCorpId,fromCorp,orderId,batchNo,produceDate,expireDate, - serialNo,count,packageLevel,warehouseCode,nameCode - ) - values( - #{action}, - #{mainAction}, - #{code}, - #{corpOrderId}, - #{actor}, - #{actDate}, - #{fromCorpId}, - #{fromCorp},#{orderId},#{batchNo},#{produceDate},#{expireDate},#{serialNo},#{count},#{packageLevel},#{warehouseCode}, - #{nameCode}) + INSERT INTO io_codes(action, mainAction, code, corpOrderId, actor, actDate, + fromCorpId, fromCorp, orderId, batchNo, produceDate, expireDate, + serialNo, count, packageLevel, warehouseCode, nameCode, supId, relId, status) + values (#{action}, + #{mainAction}, + #{code}, + #{corpOrderId}, + #{actor}, + #{actDate}, + #{fromCorpId}, + #{fromCorp}, #{orderId}, #{batchNo}, #{produceDate}, #{expireDate}, #{serialNo}, #{count}, + #{packageLevel}, #{warehouseCode}, + #{nameCode}, #{supId}, #{relId}, #{status}) @@ -63,7 +60,7 @@ actor, actDate, fromCorpId,fromCorp,orderId,batchNo,produceDate,expireDate, - serialNo,count,packageLevel,warehouseCode,nameCode) + serialNo,count,packageLevel,warehouseCode,nameCode,supId, relId,status) VALUES @@ -82,7 +79,8 @@ ,#{item.expireDate} ,#{item.serialNo} ,#{item.count} - ,#{item.packageLevel} ,#{item.warehouseCode},#{item.nameCode}) + ,#{item.packageLevel} ,#{item.warehouseCode},#{item.nameCode},#{item.supId} + ,#{item.relId},#{item.status}) @@ -91,28 +89,77 @@ select isnull((select top(1) 1 from io_codes where 'code' = #{code}), 0) - UPDATE io_codes SET orderId = #{newOrderId} where orderId = #{oldOrderId} + UPDATE io_codes + SET orderId = #{newOrderId} + where orderId = #{oldOrderId} - UPDATE io_codes SET fromCorpId = #{fromCorpId}, fromCorp = #{fromCorp} - WHERE orderId = #{orderId} + UPDATE io_codes + SET fromCorpId = #{fromCorpId}, + fromCorp = #{fromCorp} + WHERE orderId = #{orderId} + + + UPDATE io_codes + SET relId = #{relId} + where nameCode = #{nameCode} + and orderId = #{orderId} + + + + + UPDATE io_codes + SET supId = #{supId} + where nameCode = #{nameCode} + and orderId = #{orderId} + + + + DELETE + FROM io_codes + WHERE orderId = #{orderId} + + + UPDATE io_codes + + relId=#{relId}, + fromCorp=#{fromCorp}, + fromCorpId=#{fromCorpId}, + count=#{count}, + status=#{status}, + supId=#{supId}, + + WHERE id=#{id} + + \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/inout/CodesTempDao.xml b/api-admin/src/main/resources/mybatis/mapper/inout/CodesTempDao.xml index 77e5308..59e32eb 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inout/CodesTempDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inout/CodesTempDao.xml @@ -7,7 +7,7 @@ INSERT INTO io_codes_temp (action, mainAction,code, corpOrderId, actor,actDate, - fromCorpId, fromCorp, orderId,batchNo,produceDate,expireDate,serialNo,count,nameCode) + fromCorpId, fromCorp, orderId,batchNo,produceDate,expireDate,serialNo,count,nameCode,supId) VALUES @@ -25,32 +25,31 @@ ,#{item.produceDate} ,#{item.expireDate} ,#{item.serialNo} - ,#{item.count},#{item.nameCode} + ,#{item.count},#{item.nameCode},#{item.supId} ) - + INSERT INTO io_codes_temp(action, mainAction, code, corpOrderId, actor, actDate, fromCorpId, fromCorp, orderId, batchNo, produceDate, expireDate, serialNo, - count,nameCode) - values( - #{action}, - #{mainAction}, - #{code}, - #{corpOrderId}, - #{actor}, - #{actDate}, - #{fromCorpId}, - #{fromCorp}, - #{orderId}, - #{batchNo}, - #{produceDate}, - #{expireDate}, - #{serialNo}, - #{count},#{nameCode} - ) + count, nameCode, supId) + values (#{action}, + #{mainAction}, + #{code}, + #{corpOrderId}, + #{actor}, + #{actDate}, + #{fromCorpId}, + #{fromCorp}, + #{orderId}, + #{batchNo}, + #{produceDate}, + #{expireDate}, + #{serialNo}, + #{count}, #{nameCode}, #{supId}) - + + + DELETE FROM io_order - WHERE id = #{orderId} + WHERE id = #{id} - + + DELETE FROM io_order - WHERE id = #{id} + WHERE id = #{orderId} @@ -154,7 +159,7 @@ and (contrastStatus = 0 or contrastStatus = 2) - + and receiveStatus = #{receiveStatus} @@ -300,5 +305,13 @@ + + \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/inout/OrderDetail.xml b/api-admin/src/main/resources/mybatis/mapper/inout/OrderDetailDao.xml similarity index 82% rename from api-admin/src/main/resources/mybatis/mapper/inout/OrderDetail.xml rename to api-admin/src/main/resources/mybatis/mapper/inout/OrderDetailDao.xml index 5bc9d04..b76dbe1 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inout/OrderDetail.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inout/OrderDetailDao.xml @@ -16,6 +16,9 @@ and orderIdFk = #{orderId} + + and orderIdFk = #{orderIdFk} + @@ -106,12 +109,13 @@ - replace INTO io_order_detail(id, + replace + INTO io_order_detail(id, companyid,erpOrderId,iodtlId,inoutId,goodsunit,goodsid, batchNoId,goodsname,companyname, batchNo,erpCount,credate,nameCode,productCompany, coName,authCode,packSpec,packRatio,bhzxxsbzsl, - zxxsbzbhsydysl,orderIdFk,count,reCount,productDate,expireDate,bindStatus,bindRlFk,uuidFk) + zxxsbzbhsydysl,orderIdFk,count,reCount,productDate,expireDate,bindStatus,bindRlFk,uuidFk,supId,bindSupStatus) values( #{id}, #{companyid}, @@ -126,9 +130,24 @@ #{batchNo}, #{erpCount}, #{credate}, - #{nameCode},#{productCompany},#{coName},#{authCode},#{packSpec},#{packRatio}, - #{bhzxxsbzsl},#{zxxsbzbhsydysl},#{orderIdFk},#{count},#{reCount},#{productDate},#{expireDate} - ,#{bindStatus},#{bindRlFk},#{uuidFk} + #{nameCode}, + #{productCompany}, + #{coName}, + #{authCode}, + #{packSpec}, + #{packRatio}, + #{bhzxxsbzsl}, + #{zxxsbzbhsydysl}, + #{orderIdFk}, + #{count}, + #{reCount}, + #{productDate}, + #{expireDate} + , + #{bindStatus}, + #{bindRlFk}, + #{uuidFk}, + #{supId},#{bindSupStatus} ) @@ -137,7 +156,7 @@ companyid,erpOrderId,iodtlId,inoutId,goodsunit,goodsid,batchNoId,goodsname,companyname, batchNo,erpCount,credate,nameCode,productCompany, coName,authCode,packSpec,packRatio,bhzxxsbzsl,zxxsbzbhsydysl,orderIdFk,count,reCount,productDate,expireDate - ,bindStatus,bindRlFk,uuidFk) + ,bindStatus,bindRlFk,uuidFk,supId,bindSupStatus) values @@ -159,7 +178,7 @@ #{item.packRatio}, #{item.bhzxxsbzsl}, #{item.zxxsbzbhsydysl}, #{item.orderIdFk}, #{item.count},#{item.reCount},#{item.productDate},#{item.expireDate}, - #{item.bindStatus}, #{item.bindRlFk},#{item.uuidFk} + #{item.bindStatus}, #{item.bindRlFk},#{item.uuidFk},#{item.supId},#{item.bindSupStatus} ) @@ -175,21 +194,36 @@ reCount=#{reCount}, erpCount=#{erpCount}, uuidFk=#{uuidFk}, + erpOrderId=#{erpOrderId}, + erpOrderId=#{erpOrderId}, + supId=#{supId}, + bindSupStatus=#{bindSupStatus}, WHERE id = #{id} - DELETE FROM io_order_detail WHERE erpOrderId = #{id} + DELETE + FROM io_order_detail + WHERE erpOrderId = #{id} - DELETE FROM io_order_detail WHERE id = #{id} + DELETE + FROM io_order_detail + WHERE id = #{id} - DELETE FROM io_order_detail WHERE orderIdFk = #{id} + DELETE + FROM io_order_detail + WHERE orderIdFk = #{id} - + \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/inout/StockOrderDao.xml b/api-admin/src/main/resources/mybatis/mapper/inout/StockOrderDao.xml index 116b7b0..b5bd7e1 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inout/StockOrderDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inout/StockOrderDao.xml @@ -23,7 +23,8 @@ insert INTO stock_order(id, billNo, billdate, corpId, corpName, billType, billFlag, - thirdSysFk, status, statusInfo, type, sourceType, printStatus, unitIdFk, customerId) + thirdSysFk, status, statusInfo, type, sourceType, + printStatus, unitIdFk, customerId, thirdOrderFk, orderIdFk, totalPrice) values (#{id}, #{billNo}, #{billdate}, @@ -36,7 +37,7 @@ #{statusInfo}, #{type}, #{sourceType}, - #{printStatus}, #{unitIdFk}, #{customerId}) + #{printStatus}, #{unitIdFk}, #{customerId}, #{thirdOrderFk}, #{orderIdFk}, #{totalPrice}) UPDATE stock_order @@ -55,6 +56,9 @@ printStatus=#{printStatus}, unitIdFk=#{unitIdFk}, customerId=#{customerId}, + thirdOrderFk=#{thirdOrderFk}, + orderIdFk=#{orderIdFk}, + totalPrice=#{totalPrice}, WHERE id = #{id} @@ -126,6 +130,15 @@ and customerId = #{customerId} + + and thirdOrderFk = #{thirdOrderFk} + + + and orderIdFk = #{orderIdFk} + + + and totalPrice = #{totalPrice} + = DATE_FORMAT(#{startTime}, '%Y-%m-%d') ]]> @@ -154,6 +167,12 @@ and customerId =#{customerId} + + and thirdOrderFk =#{thirdOrderFk} + + + and orderIdFk =#{orderIdFk} + limit 1 @@ -164,7 +183,8 @@ SELECT stock_order.*, stock_order_detail.productId, stock_order_detail.productName, stock_order_detail.spec, stock_order_detail.batchNo, stock_order_detail.productDate, stock_order_detail.expireDate, stock_order_detail.count, stock_order_detail.sweepCount, stock_order_detail.ylqxzcrbarmc, - stock_order_detail.zczbhhzbapzbh FROM stock_order INNER JOIN stock_order_detail on stock_order.id = + stock_order_detail.zczbhhzbapzbh,stock_order_detail.price FROM stock_order INNER JOIN stock_order_detail on + stock_order.id = stock_order_detail.orderIdFk diff --git a/api-admin/src/main/resources/mybatis/mapper/inout/StockOrderDetail.xml b/api-admin/src/main/resources/mybatis/mapper/inout/StockOrderDetail.xml index 1496670..ec3c95e 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inout/StockOrderDetail.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inout/StockOrderDetail.xml @@ -33,7 +33,7 @@ basic_products.cpmctymc,basic_products.ggxh, stock_order_detail.batchNo,stock_order_detail.expireDate,stock_order_detail.productDate, stock_order_detail.count,stock_order_detail.reCount,stock_order_detail.sweepCount, - basic_products.ylqxzcrbarmc,basic_products.zczbhhzbapzbh + basic_products.ylqxzcrbarmc,basic_products.zczbhhzbapzbh,stock_order_detail.price from stock_order_detail right JOIN basic_products ON stock_order_detail.productId = basic_products.uuid @@ -62,7 +62,7 @@ replace INTO stock_order_detail(id, orderIdFk,productId,productName,spec,batchNo,productDate, - expireDate,count,reCount,sweepCount,ylqxzcrbarmc,zczbhhzbapzbh) + expireDate,count,reCount,sweepCount,ylqxzcrbarmc,zczbhhzbapzbh,price) values( #{id}, #{orderIdFk}, @@ -76,14 +76,14 @@ #{reCount}, #{sweepCount}, #{ylqxzcrbarmc}, - #{zczbhhzbapzbh} + #{zczbhhzbapzbh},#{price} ) replace INTO stock_order_detail(id, orderIdFk,productId,productName,spec,batchNo,productDate, - expireDate,count,reCount,sweepCount,ylqxzcrbarmc,zczbhhzbapzbh) + expireDate,count,reCount,sweepCount,ylqxzcrbarmc,zczbhhzbapzbh,price) values @@ -100,7 +100,7 @@ #{item.reCount}, #{item.sweepCount}, #{item.ylqxzcrbarmc}, - #{item.zczbhhzbapzbh} + #{item.zczbhhzbapzbh},#{item.price} ) @@ -115,6 +115,8 @@ sweepCount=#{sweepCount}, count=#{count}, reCount=#{reCount}, + price=#{price}, + WHERE id = #{id} diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/InvPreProductDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/InvPreProductDao.xml new file mode 100644 index 0000000..5228080 --- /dev/null +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/InvPreProductDao.xml @@ -0,0 +1,158 @@ + + + + + + + + + + + + + insert INTO inv_pre_product + (productsName, nameCode, relIdFk, ggxh, batchNo, + productionDate, expireDate, ylqxzcrbarmc, zczbhhzbapzbh, + inCount, outCount, reCount, customerId, supId, unitFk) + values (#{productsName}, #{nameCode}, + #{relIdFk}, #{ggxh}, #{batchNo}, + #{productionDate}, #{expireDate}, + #{ylqxzcrbarmc}, #{zczbhhzbapzbh}, + #{inCount}, #{outCount}, #{reCount}, #{customerId}, #{supId}, #{unitFk}) + + + + + DELETE + FROM inv_pre_product + WHERE id = #{id} + + + + UPDATE inv_pre_product + + productsName=#{productsName}, + nameCode=#{nameCode}, + relIdFk=#{relIdFk}, + ggxh=#{ggxh}, + batchNo=#{batchNo}, + productionDate=#{productionDate}, + expireDate=#{expireDate}, + ylqxzcrbarmc=#{ylqxzcrbarmc}, + zczbhhzbapzbh=#{zczbhhzbapzbh}, + inCount=#{inCount}, + outCount=#{outCount}, + reCount=#{reCount}, + customerId=#{customerId}, + supId=#{supId}, + unitFk=#{unitFk}, + + WHERE id = #{id} + + + \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/InvPreProductDetailDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/InvPreProductDetailDao.xml new file mode 100644 index 0000000..13f69e2 --- /dev/null +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/InvPreProductDetailDao.xml @@ -0,0 +1,204 @@ + + + + + + + + + + + + + insert INTO inv_pre_product_detail + (code, productIdFk, orderIdFk, customerId, mainAction, action, count, updateTime, + purchaseType, batchNo, productionDate, expireDate, unitFk, stockIdFk, supId,originCode) + values (#{code}, + #{productIdFk}, #{orderIdFk}, + #{customerId}, #{mainAction}, #{action}, #{count}, #{updateTime}, + #{purchaseType}, #{batchNo}, #{productionDate}, #{expireDate}, #{unitFk}, #{stockIdFk}, #{supId},#{originCode}) + + + + + insert INTO inv_pre_product_detail + (code, productIdFk, orderIdFk, customerId, mainAction, action, count, updateTime, + purchaseType, batchNo, productionDate, expireDate, unitFk, stockIdFk, supId,originCode) + values + + + ( + #{item.code}, + #{item.productIdFk},#{item.orderIdFk}, + #{item.customerId},#{item.mainAction},#{item.action},#{item.count},#{item.updateTime}, + #{item.purchaseType}, #{item.batchNo}, #{item.productionDate}, #{item.expireDate}, + #{item.unitFk},#{item.stockIdFk},#{item.supId},#{item.originCode} + ) + + + + + + + DELETE + FROM inv_pre_product_detail + WHERE id = #{id} + + + + DELETE + FROM inv_pre_product_detail + + + AND productIdFk = #{productIdFk} + + + AND batchNo = #{batchNo} + + + AND supId = #{supId} + + + + + + + UPDATE inv_pre_product_detail + + code=#{code}, + productIdFk=#{productIdFk}, + customerId=#{customerId}, + mainAction=#{mainAction}, + action=#{action}, + count=#{count}, + unitFk=#{unitFk}, + purchaseType=#{purchaseType}, + batchNo=#{batchNo}, + productionDate=#{productionDate}, + expireDate=#{expireDate}, + stockIdFk=#{stockIdFk}, + supId=#{supId}, + originCode=#{originCode}, + + + WHERE id = #{id} + + + \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDao.xml index 33abb60..27b00da 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDao.xml @@ -37,13 +37,21 @@ AND customerId = #{customerId} + + AND supId = #{supId} + + + AND unitFk = #{unitFk} + @@ -57,10 +65,11 @@ ,inv_product.productionDate,inv_product.expireDate, basic_products.ylqxzcrbarmc,basic_products.zczbhhzbapzbh, inv_product.inCount,inv_product.outCount - ,inv_product.reCount,inv_product.customerId + ,inv_product.reCount,inv_product.customerId,basic_corp.name companyName,inv_product.unitFk,inv_product.supId FROM inv_product inner join basic_udirel on inv_product.relIdFk = basic_udirel.id inner join basic_products on basic_udirel.uuid = basic_products.uuid + inner join basic_corp on inv_product.supId=basic_corp.erpId basic_products.diType=1 @@ -93,28 +102,33 @@ AND inv_product.customerId = #{customerId} + + AND supId = #{supId} + + + AND unitFk = #{unitFk} + insert INTO inv_product - (productsName,nameCode,relIdFk,ggxh,batchNo, - productionDate,expireDate,ylqxzcrbarmc,zczbhhzbapzbh, - inCount,outCount,reCount,customerId) - values - ( - #{productsName},#{nameCode}, - #{relIdFk},#{ggxh},#{batchNo}, - #{productionDate},#{expireDate}, - #{ylqxzcrbarmc},#{zczbhhzbapzbh}, - #{inCount},#{outCount},#{reCount},#{customerId} - ) + (productsName, nameCode, relIdFk, ggxh, batchNo, + productionDate, expireDate, ylqxzcrbarmc, zczbhhzbapzbh, + inCount, outCount, reCount, customerId, unitFk, supId) + values (#{productsName}, #{nameCode}, + #{relIdFk}, #{ggxh}, #{batchNo}, + #{productionDate}, #{expireDate}, + #{ylqxzcrbarmc}, #{zczbhhzbapzbh}, + #{inCount}, #{outCount}, #{reCount}, #{customerId}, #{unitFk}, #{supId}) - DELETE FROM inv_product WHERE id = #{id} + DELETE + FROM inv_product + WHERE id = #{id} @@ -133,6 +147,8 @@ outCount=#{outCount}, reCount=#{reCount}, customerId=#{customerId}, + unitFk=#{unitFk}, + supId=#{supId}, WHERE id = #{id} diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDetailDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDetailDao.xml index 48b3d7b..52e42a8 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDetailDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDetailDao.xml @@ -23,36 +23,101 @@ AND count = #{count} + + AND purchaseType = #{purchaseType} + + + + AND batchNo = #{batchNo} + + + AND unitFk = #{unitFk} + + + AND supId = #{supId} + + + AND code = #{code} + + + AND originCode = #{originCode} + + + insert INTO inv_product_detail - (code,productIdFk,orderIdFk,customerId,mainAction,action,count,updateTime) - values - - ( - #{code}, - #{productIdFk},#{orderIdFk}, - #{customerId},#{mainAction},#{action},#{count},#{updateTime} - ) + (code, productIdFk, orderIdFk, customerId, mainAction, action, count, updateTime, + purchaseType, batchNo, productionDate, expireDate, unitFk, stockIdFk, supId,originCode) + values (#{code}, + #{productIdFk}, #{orderIdFk}, + #{customerId}, #{mainAction}, #{action}, #{count}, #{updateTime}, + #{purchaseType}, #{batchNo}, #{productionDate}, #{expireDate}, #{unitFk}, #{stockIdFk}, #{supId},#{originCode}) insert INTO inv_product_detail - (code,productIdFk,customerId,mainAction,action,count,updateTime) + (code, productIdFk, orderIdFk, customerId, mainAction, action, count, updateTime, + purchaseType, batchNo, productionDate, expireDate, unitFk, stockIdFk, supId,originCode) values - ( #{item.code}, #{item.productIdFk},#{item.orderIdFk}, - #{item.customerId},#{item.mainAction},#{item.action},#{item.count},#{item.updateTime} + #{item.customerId},#{item.mainAction},#{item.action},#{item.count},#{item.updateTime}, + #{item.purchaseType}, #{item.batchNo}, #{item.productionDate}, #{item.expireDate}, + #{item.unitFk},#{item.stockIdFk} + ,#{item.supId},#{item.originCode} ) @@ -60,11 +125,25 @@ - DELETE FROM inv_product_detail WHERE id = #{id} + DELETE + FROM inv_product_detail + WHERE id = #{id} + + DELETE + FROM inv_product_detail + + + AND productIdFk = #{productIdFk} + + + AND batchNo = #{batchNo} + + + AND supId = #{supId} + + - - DELETE FROM inv_product_detail WHERE productIdFk = #{productIdFk} @@ -76,8 +155,53 @@ mainAction=#{mainAction}, action=#{action}, count=#{count}, + unitFk=#{unitFk}, + purchaseType=#{purchaseType}, + batchNo=#{batchNo}, + productionDate=#{productionDate}, + expireDate=#{expireDate}, + stockIdFk=#{stockIdFk}, + supId=#{supId}, + originCode=#{originCode}, + WHERE id = #{id} + \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/InvStockPrintDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/InvStockPrintDao.xml index 47853d9..6a09ccf 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inventory/InvStockPrintDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/InvStockPrintDao.xml @@ -8,25 +8,25 @@ SELECT * FROM inv_stockprint - AND nameCode = #{nameCode} + AND inv_stockprint.nameCode = #{nameCode} - AND udiCode = #{udiCode} + AND inv_stockprint.udiCode = #{udiCode} - AND printStatus = #{printStatus} + AND inv_stockprint.printStatus = #{printStatus} AND cpmctymc like concat('%',#{cpmctymc},'%') - AND thirdName like concat('%',#{thirdName},'%') + AND inv_stockprint.thirdName like concat('%',#{thirdName},'%') - AND thirdId = #{thirdId} + AND inv_stockprint.thirdId = #{thirdId} - AND thirdSysFk = #{thirdSysFk} + AND inv_stockprint.thirdSysFk = #{thirdSysFk} AND genKeyFk = #{genKeyFk} @@ -38,7 +38,7 @@ AND sOrderId = #{sOrderId} - AND id = #{id} + AND inv_stockprint.id = #{id} @@ -46,44 +46,110 @@ + + + - replace INTO inv_stockprint + replace + INTO inv_stockprint ( udiCode,udiRlIdFk,nameCode,cpmctymc,batchNo, produceDate,expireDate,serialNo,codeType,thirdId,thirdName, ggxh,ylqxzcrbarmc,zczbhhzbapzbh,warehouseName,warehouseCode,spaceCode,spaceName,genKeyFk,thirdSysFk - ,sOrderId,sDetailId,updateTime + ,sOrderId,sDetailId,updateTime,count ) values ( - #{udiCode}, - #{udiRlIdFk}, - #{nameCode}, - #{cpmctymc}, - #{batchNo}, - #{produceDate}, - #{expireDate}, - #{serialNo}, - #{codeType}, - #{thirdId}, - #{thirdName}, - #{ggxh}, - #{ylqxzcrbarmc}, - #{zczbhhzbapzbh}, - #{warehouseName}, - #{warehouseCode},#{spaceCode},#{spaceName},#{genKeyFk},#{thirdSysFk},#{sOrderId},#{sDetailId},#{updateTime} - ) + #{udiCode}, + #{udiRlIdFk}, + #{nameCode}, + #{cpmctymc}, + #{batchNo}, + #{produceDate}, + #{expireDate}, + #{serialNo}, + #{codeType}, + #{thirdId}, + #{thirdName}, + #{ggxh}, + #{ylqxzcrbarmc}, + #{zczbhhzbapzbh}, + #{warehouseName}, + #{warehouseCode}, + #{spaceCode}, + #{spaceName}, + #{genKeyFk}, + #{thirdSysFk}, + #{sOrderId}, + #{sDetailId}, + #{updateTime}, + #{count} + ) @@ -92,7 +158,7 @@ udiCode,udiRlIdFk,nameCode,cpmctymc,batchNo, produceDate,expireDate,serialNo,codeType,thirdId,thirdName, ggxh,ylqxzcrbarmc,zczbhhzbapzbh,warehouseName,warehouseCode,spaceCode,spaceName,genKeyFk,thirdSysFk - ,sOrderId,sDetailId,updateTime + ,sOrderId,sDetailId,updateTime,count ) values @@ -115,21 +181,27 @@ #{item.zczbhhzbapzbh}, #{item.warehouseName}, #{item.warehouseCode},#{item.spaceCode},#{item.spaceName},#{item.genKeyFk},#{item.thirdSysFk} - ,#{item.sOrderId},#{item.sDetailId},#{item.updateTime} + ,#{item.sOrderId},#{item.sDetailId},#{item.updateTime},#{item.count} ) - DELETE FROM inv_stockprint WHERE id = #{id} + DELETE + FROM inv_stockprint + WHERE id = #{id} - DELETE FROM inv_stockprint WHERE genKeyFk = #{genKey} + DELETE + FROM inv_stockprint + WHERE genKeyFk = #{genKey} - DELETE FROM inv_stockprint WHERE sOrderId = #{sOrderId} + DELETE + FROM inv_stockprint + WHERE sOrderId = #{sOrderId} @@ -157,6 +229,8 @@ genKeyFk=#{genKeyFk}, sOrderId=#{sOrderId}, sDetailId=#{sDetailId}, + `count`=#{count}, + WHERE id = #{id} diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/StockPrintTempDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/StockPrintTempDao.xml new file mode 100644 index 0000000..9de9fc3 --- /dev/null +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/StockPrintTempDao.xml @@ -0,0 +1,63 @@ + + + + + + + + + + insert INTO inv_stockprint_pdf_temp + (fileName, filePath, status, printCodeIdFk, stockOrderFk, genKey) + values (#{fileName}, + #{filePath}, + #{status}, + #{printCodeIdFk}, #{stockOrderFk}, #{genKey}) + + + + + DELETE + FROM inv_stockprint_pdf_temp + + + AND printCodeIdFk = #{printCodeIdFk} + + + AND genKey = #{genKey} + + + AND stockOrderFk = #{stockOrderFk} + + + + + + UPDATE inv_stockprint_pdf_temp + + fileName=#{fileName}, + filePath=#{filePath}, + status=#{status}, + printCodeIdFk=#{printCodeIdFk}, + stockOrderFk=#{stockOrderFk}, + + WHERE genKey = #{genKey} + + + \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/param/SystemPDFModuleDao.xml b/api-admin/src/main/resources/mybatis/mapper/param/SystemPDFModuleDao.xml index 9435e7c..e02d2f1 100644 --- a/api-admin/src/main/resources/mybatis/mapper/param/SystemPDFModuleDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/param/SystemPDFModuleDao.xml @@ -5,7 +5,7 @@ - SELECT id,name,type,module,param,path,rowCount,qrcodeCount,remark,create_time,update_time + SELECT id,name,type,module,param,path,rowCount,qrcodeCount,remark,create_time,update_time,jrxmlPath FROM system_pdf_template AND `name` LIKE CONCAT(#{name},'%') - - AND `module` LIKE CONCAT(#{module},'%') + + AND `module` = #{module} + order by update_time desc @@ -40,34 +45,37 @@ remark=#{remark}, create_time=#{create_time}, update_time=#{update_time}, + jrxmlPath=#{jrxmlPath}, + WHERE id=#{id} - insert INTO system_pdf_template(name, - type,module,param,path,rowCount,qrcodeCount,remark,create_time,update_time - ) values - ( - #{name}, - #{type}, - #{module}, - #{param}, - #{path}, - #{rowCount}, - #{qrcodeCount}, - #{remark}, - #{create_time}, - #{update_time} - ) + insert INTO system_pdf_template(name, + type, module, param, path, rowCount, qrcodeCount, remark, create_time, + update_time, jrxmlPath) + values (#{name}, + #{type}, + #{module}, + #{param}, + #{path}, + #{rowCount}, + #{qrcodeCount}, + #{remark}, + #{create_time}, + #{update_time}, #{jrxmlPath}) - + SELECT id, name FROM system_pdf_template - delete from system_pdf_template where id = #{id} + delete + from system_pdf_template + where id = #{id} \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/thrsys/ThrCorpDao.xml b/api-admin/src/main/resources/mybatis/mapper/thrsys/ThrCorpDao.xml new file mode 100644 index 0000000..88823d6 --- /dev/null +++ b/api-admin/src/main/resources/mybatis/mapper/thrsys/ThrCorpDao.xml @@ -0,0 +1,102 @@ + + + + + + + + + + replace + INTO thr_corp + ( + unitId,name,spell,addr,creditNo, + contact,mobile,thirdSysFk,updateTime + ) + values + ( + #{unitId}, + #{name}, + #{spell}, + #{addr}, + #{creditNo}, + #{contact}, + #{mobile}, + #{thirdSysFk}, + #{updateTime} + ) + + + + replace INTO thr_corp + ( + unitId,name,spell,addr,creditNo, + contact,mobile,thirdSysFk,updateTime + ) + values + + + ( + #{item.unitId}, + #{item.name}, + #{item.spell}, + #{item.addr}, + #{item.creditNo}, + #{item.contact}, + #{item.mobile}, + #{item.thirdSysFk},#{item.updateTime} + ) + + + + + DELETE + FROM thr_corp + WHERE id = #{id} + + + + DELETE + FROM thr_corp + WHERE unitId = #{unitId} + + + + DELETE + FROM thr_corp + + + UPDATE thr_corp + + unitId=#{unitId}, + name=#{name}, + spell=#{spell}, + addr=#{addr}, + creditNo=#{creditNo}, + contact=#{contact}, + mobile=#{mobile}, + thirdSysFk=#{thirdSysFk}, + updateTime=#{updateTime}, + + + WHERE id = #{id} + + + + \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/thrsys/ThrCorpExportLogDao.xml b/api-admin/src/main/resources/mybatis/mapper/thrsys/ThrCorpExportLogDao.xml new file mode 100644 index 0000000..6a5e9a2 --- /dev/null +++ b/api-admin/src/main/resources/mybatis/mapper/thrsys/ThrCorpExportLogDao.xml @@ -0,0 +1,53 @@ + + + + + + + + + + insert INTO thr_corp_export_log + (genKey,updateTime,dlCount,status,filePath,remark,`type`) + values + ( + #{genKey}, + #{updateTime}, + #{dlCount},#{status},#{filePath},#{remark},#{type} + ) + + + + + DELETE FROM thr_corp_export_log WHERE id = #{id} + + + + UPDATE thr_corp_export_log + + updateTime=#{updateTime}, + dlCount=#{dlCount}, + status=#{status}, + filePath=#{filePath}, + remark=#{remark}, + + WHERE genKey = #{genKey} + + + \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/thrsys/ThrCorpImportDetailDao.xml b/api-admin/src/main/resources/mybatis/mapper/thrsys/ThrCorpImportDetailDao.xml new file mode 100644 index 0000000..42171d2 --- /dev/null +++ b/api-admin/src/main/resources/mybatis/mapper/thrsys/ThrCorpImportDetailDao.xml @@ -0,0 +1,92 @@ + + + + + + + + + + insert INTO thr_corp_import_detail + ( + unitId,name,spell,addr,creditNo, + contact,mobile,thirdSysFk,updateTime ,genKeyFk + ) + values + ( + #{unitId}, + #{name}, + #{spell}, + #{addr}, + #{creditNo}, + #{contact}, + #{mobile}, + #{thirdSysFk}, + #{updateTime}, + #{genKeyFk} + ) + + + + insert INTO thr_corp_import_detail + ( + unitId,name,spell,addr,creditNo, + contact,mobile,thirdSysFk ,updateTime ,genKeyFk ) + values + + ( + #{item.unitId}, + #{item.name}, + #{item.spell}, + #{item.addr}, + #{item.creditNo}, + #{item.contact}, + #{item.mobile}, + #{item.thirdSysFk} ,#{item.updateTime},#{item.genKeyFk} ) + + + + DELETE FROM thr_corp_import_detail WHERE id = #{id} + + + DELETE FROM thr_corp_import_detail WHERE genKeyFk = #{genKey} + + + + UPDATE thr_corp_import_detail + + unitId=#{unitId}, + name=#{name}, + spell=#{spell}, + addr=#{addr}, + creditNo=#{creditNo}, + contact=#{contact}, + mobile=#{mobile}, + thirdSysFk=#{thirdSysFk}, + updateTime=#{updateTime}, + genKeyFk=#{genKeyFk}, + + WHERE id = #{id} + + + \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/thrsys/ThrCorpImportLogDao.xml b/api-admin/src/main/resources/mybatis/mapper/thrsys/ThrCorpImportLogDao.xml new file mode 100644 index 0000000..475d0c4 --- /dev/null +++ b/api-admin/src/main/resources/mybatis/mapper/thrsys/ThrCorpImportLogDao.xml @@ -0,0 +1,57 @@ + + + + + + + + + + insert INTO thr_corp_import_log + (genKey,fromType,updateTime,thirdSysFk,status) + values + ( + #{genKey}, + #{fromType}, + #{updateTime}, + #{thirdSysFk},#{status} + ) + + + + + DELETE FROM thr_corp_import_log WHERE id = #{id} + + + + UPDATE thr_corp_import_log + + genKey=#{genKey}, + fromType=#{fromType}, + updateTime=#{updateTime}, + thirdSysFk=#{thirdSysFk}, + status=#{status}, + remark=#{remark}, + + WHERE genKey = #{genKey} + + + \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/thrsys/ThrImportLogDao.xml b/api-admin/src/main/resources/mybatis/mapper/thrsys/ThrImportLogDao.xml new file mode 100644 index 0000000..78f3658 --- /dev/null +++ b/api-admin/src/main/resources/mybatis/mapper/thrsys/ThrImportLogDao.xml @@ -0,0 +1,62 @@ + + + + + + + + + + insert INTO thr_import_log + (genKey, fromType, updateTime, thirdSysFk, status,importType) + values (#{genKey}, + #{fromType}, + #{updateTime}, + #{thirdSysFk}, #{status},#{importType}) + + + + + DELETE + FROM thr_import_log + WHERE id = #{id} + + + + UPDATE thr_import_log + + genKey=#{genKey}, + fromType=#{fromType}, + updateTime=#{updateTime}, + thirdSysFk=#{thirdSysFk}, + status=#{status}, + remark=#{remark}, + importType=#{importType}, + + WHERE genKey = #{genKey} + + + \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/thrsys/ThrProductsDao.xml b/api-admin/src/main/resources/mybatis/mapper/thrsys/ThrProductsDao.xml index 4f9205d..30be09d 100644 --- a/api-admin/src/main/resources/mybatis/mapper/thrsys/ThrProductsDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/thrsys/ThrProductsDao.xml @@ -27,7 +27,6 @@ or code LIKE concat('%',#{unionCode},'%') or sptm LIKE concat('%',#{unionCode},'%') or ybbm LIKE concat('%',#{unionCode},'%') - AND thirdSysFk = #{thirdSysFk} @@ -43,7 +42,7 @@ ( code,name,measname,spec,registerNo,manufactory, cplb,flbm,qxlb,ybbm,sptm,tyshxydm,zczbhhzbapzbh,ylqxzcrbarmc,ylqxzcrbarywmc,cpms, - thirdSysFk,updateTime + thirdSysFk,updateTime,supName ) values ( @@ -55,7 +54,7 @@ #{manufactory}, #{cplb}, #{flbm}, #{qxlb}, #{ybbm},#{sptm}, #{tyshxydm}, #{zczbhhzbapzbh}, #{ylqxzcrbarmc}, #{ylqxzcrbarywmc},#{cpms}, - #{thirdSysFk},#{updateTime} + #{thirdSysFk},#{updateTime},#{supName} ) @@ -64,7 +63,7 @@ ( code,name,measname,spec,registerNo,manufactory, cplb,flbm,qxlb,ybbm,sptm,tyshxydm,zczbhhzbapzbh,ylqxzcrbarmc,ylqxzcrbarywmc,cpms, - thirdSysFk,updateTime + thirdSysFk,updateTime,supName ) values @@ -79,7 +78,7 @@ #{item.manufactory}, #{item.cplb}, #{item.flbm}, #{item.qxlb}, #{item.ybbm},#{item.sptm}, #{item.tyshxydm}, #{item.zczbhhzbapzbh}, #{item.ylqxzcrbarmc}, #{item.ylqxzcrbarywmc},#{item.cpms}, - #{item.thirdSysFk},#{item.updateTime} + #{item.thirdSysFk},#{item.updateTime},#{item.supName} ) @@ -109,6 +108,7 @@ cpms=#{cpms}, thirdSysFk=#{thirdSysFk}, updateTime=#{updateTime}, + supName=#{supName}, WHERE id = #{id} diff --git a/api-admin/src/main/resources/mybatis/mapper/thrsys/UdplatGoodsMapper.xml b/api-admin/src/main/resources/mybatis/mapper/thrsys/UdplatGoodsMapper.xml new file mode 100644 index 0000000..0906069 --- /dev/null +++ b/api-admin/src/main/resources/mybatis/mapper/thrsys/UdplatGoodsMapper.xml @@ -0,0 +1,142 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + delete from udplat_goods + where id = #{id,jdbcType=BIGINT} + + + insert into udplat_goods ( uuid, deliveryGoodId, + projectGoodsCode, deliveryGoodsCode, manufactureId, + manufactureName, distributorId, distributorName, + productName, compId, model, + spec, prodMaterial, packMaterial, + regNum, regName, regValidTo, + unionProjectId, unionProjectName, salePrice, + priceUnitText, topSalePrice, settlePayPrice, + goodsSource, stockStatus, changedContent, + changedTime, proxyName, onlineStatus, + medicalCode, createTime + ) + values (#{uuid,jdbcType=VARCHAR}, #{deliveryGoodId,jdbcType=VARCHAR}, + #{projectGoodsCode,jdbcType=VARCHAR}, #{deliveryGoodsCode,jdbcType=VARCHAR}, #{manufactureId,jdbcType=BIGINT}, + #{manufactureName,jdbcType=VARCHAR}, #{distributorId,jdbcType=BIGINT}, #{distributorName,jdbcType=VARCHAR}, + #{productName,jdbcType=VARCHAR}, #{compId,jdbcType=BIGINT}, #{model,jdbcType=VARCHAR}, + #{spec,jdbcType=VARCHAR}, #{prodMaterial,jdbcType=VARCHAR}, #{packMaterial,jdbcType=VARCHAR}, + #{regNum,jdbcType=VARCHAR}, #{regName,jdbcType=VARCHAR}, #{regValidTo,jdbcType=VARCHAR}, + #{unionProjectId,jdbcType=BIGINT}, #{unionProjectName,jdbcType=VARCHAR}, #{salePrice,jdbcType=DECIMAL}, + #{priceUnitText,jdbcType=VARCHAR}, #{topSalePrice,jdbcType=DECIMAL}, #{settlePayPrice,jdbcType=DECIMAL}, + #{goodsSource,jdbcType=INTEGER}, #{stockStatus,jdbcType=VARCHAR}, #{changedContent,jdbcType=VARCHAR}, + #{changedTime,jdbcType=VARCHAR}, #{proxyName,jdbcType=VARCHAR}, #{onlineStatus,jdbcType=INTEGER}, + #{medicalCode,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP} + ) + + + update udplat_goods + set + deliveryGoodId = #{deliveryGoodId,jdbcType=VARCHAR}, + projectGoodsCode = #{projectGoodsCode,jdbcType=VARCHAR}, + deliveryGoodsCode = #{deliveryGoodsCode,jdbcType=VARCHAR}, + manufactureId = #{manufactureId,jdbcType=BIGINT}, + manufactureName = #{manufactureName,jdbcType=VARCHAR}, + distributorId = #{distributorId,jdbcType=BIGINT}, + distributorName = #{distributorName,jdbcType=VARCHAR}, + productName = #{productName,jdbcType=VARCHAR}, + compId = #{compId,jdbcType=BIGINT}, + model = #{model,jdbcType=VARCHAR}, + spec = #{spec,jdbcType=VARCHAR}, + prodMaterial = #{prodMaterial,jdbcType=VARCHAR}, + packMaterial = #{packMaterial,jdbcType=VARCHAR}, + regNum = #{regNum,jdbcType=VARCHAR}, + regName = #{regName,jdbcType=VARCHAR}, + regValidTo = #{regValidTo,jdbcType=VARCHAR}, + unionProjectId = #{unionProjectId,jdbcType=BIGINT}, + unionProjectName = #{unionProjectName,jdbcType=VARCHAR}, + salePrice = #{salePrice,jdbcType=DECIMAL}, + priceUnitText = #{priceUnitText,jdbcType=VARCHAR}, + topSalePrice = #{topSalePrice,jdbcType=DECIMAL}, + settlePayPrice = #{settlePayPrice,jdbcType=DECIMAL}, + goodsSource = #{goodsSource,jdbcType=INTEGER}, + stockStatus = #{stockStatus,jdbcType=VARCHAR}, + changedContent = #{changedContent,jdbcType=VARCHAR}, + changedTime = #{changedTime,jdbcType=VARCHAR}, + proxyName = #{proxyName,jdbcType=VARCHAR}, + onlineStatus = #{onlineStatus,jdbcType=INTEGER}, + medicalCode = #{medicalCode,jdbcType=VARCHAR}, + updateTime = #{updateTime,jdbcType=TIMESTAMP} + where id = #{id,jdbcType=BIGINT} + + + + + \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/thrsys/UdplatLogMapper.xml b/api-admin/src/main/resources/mybatis/mapper/thrsys/UdplatLogMapper.xml new file mode 100644 index 0000000..a8eebf3 --- /dev/null +++ b/api-admin/src/main/resources/mybatis/mapper/thrsys/UdplatLogMapper.xml @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + delete from udplat_log + where id = #{id,jdbcType=INTEGER} + + + insert into udplat_log (id, type, downloadType, + tbName, actionDate, totalCount, + msg, createTime, content + ) + values (#{id,jdbcType=INTEGER}, #{type,jdbcType=VARCHAR}, #{downloadType,jdbcType=VARCHAR}, + #{tbName,jdbcType=VARCHAR}, #{actionDate,jdbcType=TIMESTAMP}, #{totalCount,jdbcType=INTEGER}, + #{msg,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{content,jdbcType=LONGVARCHAR} + ) + + + update udplat_log + set type = #{type,jdbcType=VARCHAR}, + downloadType = #{downloadType,jdbcType=VARCHAR}, + tbName = #{tbName,jdbcType=VARCHAR}, + actionDate = #{actionDate,jdbcType=TIMESTAMP}, + totalCount = #{totalCount,jdbcType=INTEGER}, + msg = #{msg,jdbcType=VARCHAR}, + createTime = #{createTime,jdbcType=TIMESTAMP}, + content = #{content,jdbcType=LONGVARCHAR} + where id = #{id,jdbcType=INTEGER} + + + + + \ No newline at end of file diff --git a/api-admin/src/test/java/com/glxp/sale/admin/TestUtils.java b/api-admin/src/test/java/com/glxp/sale/admin/TestUtils.java index 8807441..96fcc31 100644 --- a/api-admin/src/test/java/com/glxp/sale/admin/TestUtils.java +++ b/api-admin/src/test/java/com/glxp/sale/admin/TestUtils.java @@ -1,11 +1,27 @@ package com.glxp.sale.admin; +import cn.hutool.core.util.CharsetUtil; +import cn.hutool.core.util.StrUtil; +import cn.hutool.crypto.SmUtil; +import cn.hutool.crypto.asymmetric.KeyType; +import cn.hutool.crypto.asymmetric.RSA; +import cn.hutool.crypto.symmetric.SymmetricCrypto; import com.glxp.sale.BaseApiAdminApplicationTest; import com.glxp.sale.admin.service.auth.AuthLoginService; import com.glxp.sale.admin.thread.TestThread; +import com.glxp.sale.admin.util.HardWareUtils; +import org.apache.commons.beanutils.PropertyUtilsBean; +import org.apache.commons.codec.binary.Base64; import org.junit.Test; import javax.annotation.Resource; +import javax.crypto.Cipher; +import java.io.UnsupportedEncodingException; +import java.security.KeyFactory; +import java.security.PrivateKey; +import java.security.PublicKey; +import java.security.spec.PKCS8EncodedKeySpec; +import java.security.spec.X509EncodedKeySpec; import java.util.List; public class TestUtils extends BaseApiAdminApplicationTest { @@ -19,4 +35,132 @@ public class TestUtils extends BaseApiAdminApplicationTest { testThread.test(); } + + @Test + public void test2() { + System.out.println(HardWareUtils.getCPUSerial());//CPU + System.out.println(HardWareUtils.getMotherboardSN());//主板 + System.out.println(HardWareUtils.getHardDiskSN("c"));//c盘 + System.out.println(HardWareUtils.getMac());//MAC + String msg = HardWareUtils.getCPUSerial() + HardWareUtils.getMotherboardSN().replace(".", "") + + HardWareUtils.getHardDiskSN("c") + HardWareUtils.getMac().replace("-", ""); + System.out.println("原始数据:" + msg);//rT7DaHDt68m9IjVr +// String encrypt = DesUtil.encrypt(msg); +// System.out.println("加密:" + encrypt); +// String decrypt = DesUtil.decrypt(encrypt); +// System.out.println("解密:" + decrypt); + +// String digestHex =SmUtil.sm3("rT7DaHDt68m9IjVr" + msg); +// System.out.println("加密后:" + digestHex);//rT7DaHDt68m9IjVr + + + RSA rsa = new RSA(); + +//获得私钥 + rsa.getPrivateKey(); + rsa.getPrivateKeyBase64(); +//获得公钥 + rsa.getPublicKey(); + rsa.getPublicKeyBase64(); + +//公钥加密,私钥解密 + byte[] encrypt = rsa.encrypt(StrUtil.bytes("我是一段测试aaaa", CharsetUtil.CHARSET_UTF_8), KeyType.PublicKey); + byte[] decrypt = rsa.decrypt(encrypt, KeyType.PrivateKey); + try { + String str = new String(encrypt, "UTF-8"); + System.out.println(str);// + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + System.out.println(StrUtil.str(encrypt, CharsetUtil.CHARSET_GBK));//rT7DaHDt68m9IjVr + System.out.println(StrUtil.str(decrypt, CharsetUtil.CHARSET_UTF_8));//rT7DaHDt68m9IjVr +//私钥加密,公钥解密 + byte[] encrypt2 = rsa.encrypt(StrUtil.bytes("我是一段测试aaaa", CharsetUtil.CHARSET_UTF_8), KeyType.PrivateKey); + byte[] decrypt2 = rsa.decrypt(encrypt2, KeyType.PublicKey); + System.out.println(StrUtil.str(encrypt2, CharsetUtil.CHARSET_UTF_8)); + System.out.println(StrUtil.str(decrypt2, CharsetUtil.CHARSET_UTF_8)); + + } + + + @Test + public void test3() { + String privateKey = + "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC1ocuIO2xyfDJ5" + + "7iUb2MLwZQRlgi4GjPj1bcZLLYsQ5WkpHKJA0KNGbJu9BLmop2xvelXvbQdAme/+" + + "dAueyD+9ZsVz0vT18R4l0NnFA5/wPsId5WAt3z5+H8Z7NAJUuKMaVsBU5Fc6sWjk" + + "xx3I52wsl7LXHgfEhHXdrv0kcHux297XgDZpLptDs09a7yEz0ukl3WHKWxeB0GlH" + + "6JfcM8V56nxLHyM+dZ9R8YXakM0TeHW7P1HKUYFhTPi0M/PPQhc7u9mTJQVd6yXM" + + "oUMVyaGFufW2htf5qXhe99GmOgKNJPaZF+oK3ho24EMzUsczPIwFUml+6L3WKQsY" + + "yA/gZ1+zAgMBAAECggEBAIf3iol9En3Rg2fLYnQqHCQhOt1SSmoU9fmkJ6D3gvcv" + + "BT4FdWDXzqJVg3BILUOXsZDyH4qQL7GoiwQMkvZWKYD7gixma4IA8fSVF7BoOj56" + + "fI4su4cba4i2+LoaAPSzE0YQUwI5vSLu0/sPI7jVpSDsnrByhpYSIrnE2TOCENbe" + + "4Dx+5iBw+dYxvIGohgRp4r19d4glYsquJ6Akt5+7LnvFPMqGXhswlMnjhA6wv558" + + "bMV2q8CUQN3x6XipGs+Nx7n3JwHuFFtMWYbk6xti+31ASkhNKXMYkxE5qBLGiGJ7" + + "qX472TQhH5U4G34dJZhix18KsI46Fp2h9jQyU9c6NWECgYEA8hXcxXrNqPXQOxGu" + + "t06oaAZ2+rxcn9Focfv0L/Bb3b8HHv7lzRXTsnaUU1InY98K03ixUGWu1/uQfhqF" + + "A5I8SA1dfE2RvoHDirUbyCA/hpVDmqhxbA8zZGNbIfHgtCumWeqoV9d3VhEEmgj4" + + "XfuLA1hBMGSEf/21e13mB+A/1qUCgYEAwBJl9U6wSp6lAvG/x1td8DrN7KEucBdY" + + "B0CJJNXEQLGUnCVSfAi0YGTD9oNglzuA9y4PmIi5R6P2lzlNUisRwIev/cEHpj1a" + + "kmm0RArRg/0nZdfMJnjXmn8AAuZNxKN41JwKTRemXaxMfkgtLpmP7jtNS8Ibv1GH" + + "eX1ZK7SF5XcCgYBDknCmOqnvMHXoFv5ysiT1rGBHio48GeKSdmZpfyjVU330W+fe" + + "/+mwVcL/It5V1SsbbgPoUgmkxdZGLLbWEVp8LibbDHfS+juPmw/fI4k30rAlGkFW" + + "jUOmEMmeRvqWr9xmGsbUhhMMVgG30SsqaI0b6OWBUX1ekH24qrQLnL+U9QKBgQCk" + + "k18vuVQPLC5h/nkAPgaY4Bowhs9+llIELMUWfeBiOocG4Gf0BZVg/xZ2dI3gJ8lS" + + "gvI0FfsEKrcRTrU1EdhtKxaejLacN/gSemZO4yIxQUpv1l+EG4lKRUXiNiouso/H" + + "RUkCU6BmpUsJ7ZhhVI1iaQfLQTB7V0WI0OIGM/GC8wKBgAHqB+3iaG8j67x04PGU" + + "2BOBV4DVtEK27v8crG4lhUwzwkh0tJ4fOUu87DkCkZXQZh3BjcxyTx9ztlk0tUk3" + + "vTFABi5Awpv7C5PWXfQxsy9jTRNpRGduXKkl+blwJ7JkJAu77uxXB91LTenSGwSR" + + "hYTV7d/EJUqzLUKlcOIWFk7w"; + String publicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtaHLiDtscnwyee4lG9jC" + + "8GUEZYIuBoz49W3GSy2LEOVpKRyiQNCjRmybvQS5qKdsb3pV720HQJnv/nQLnsg/" + + "vWbFc9L09fEeJdDZxQOf8D7CHeVgLd8+fh/GezQCVLijGlbAVORXOrFo5McdyOds" + + "LJey1x4HxIR13a79JHB7sdve14A2aS6bQ7NPWu8hM9LpJd1hylsXgdBpR+iX3DPF" + + "eep8Sx8jPnWfUfGF2pDNE3h1uz9RylGBYUz4tDPzz0IXO7vZkyUFXeslzKFDFcmh" + + "hbn1tobX+al4XvfRpjoCjST2mRfqCt4aNuBDM1LHMzyMBVJpfui91ikLGMgP4Gdf" + + "swIDAQAB"; + + + try { + String data = privateKeyEncrypt("BFEBFBFF000806D1PF36V95Y-8680482714630793A1238", privateKey); + publicKeyDecrypt(data, publicKey); + } catch (Exception e) { + e.printStackTrace(); + } + + + } + + + //私钥加密 + public static String privateKeyEncrypt(String str, String privateKey) throws Exception { + //base64编码的公钥 + byte[] decoded = Base64.decodeBase64(privateKey); + PrivateKey priKey = KeyFactory.getInstance("RSA"). + generatePrivate(new PKCS8EncodedKeySpec(decoded)); + //RSA加密 + Cipher cipher = Cipher.getInstance("RSA"); + cipher.init(Cipher.ENCRYPT_MODE, priKey); + String outStr = Base64.encodeBase64String(cipher.doFinal(str.getBytes())); + System.out.println("{}|RSA私钥加密后的数据|outStr:{}" + "\n" + outStr); + return outStr; + } + + //公钥解密 + public static String publicKeyDecrypt(String str, String publicKey) throws Exception { + System.out.println("{}|RSA公钥解密前的数据|str:{}|publicKey:{}" + str + "\n" + publicKey); + //64位解码加密后的字符串 + byte[] inputByte = Base64.decodeBase64(str.getBytes("UTF-8")); + //base64编码的私钥 + byte[] decoded = Base64.decodeBase64(publicKey); + PublicKey pubKey = KeyFactory.getInstance("RSA") + .generatePublic(new X509EncodedKeySpec(decoded)); + //RSA解密 + Cipher cipher = Cipher.getInstance("RSA"); + cipher.init(Cipher.DECRYPT_MODE, pubKey); + String outStr = new String(cipher.doFinal(inputByte)); + System.out.println("{}|RSA公钥解密后的数据|outStr:{}" + outStr); + return outStr; + } + } \ No newline at end of file diff --git a/api-common/pom.xml b/api-common/pom.xml index 439bd75..04fc231 100644 --- a/api-common/pom.xml +++ b/api-common/pom.xml @@ -23,7 +23,16 @@ org.apache.commons commons-lang3 - + + org.apache.poi + poi-ooxml + 4.1.0 + + + cn.hutool + hutool-all + 5.5.1 + \ No newline at end of file diff --git a/api-common/src/main/java/com/glxp/sale/common/annotation/Excel.java b/api-common/src/main/java/com/glxp/sale/common/annotation/Excel.java new file mode 100644 index 0000000..c36d617 --- /dev/null +++ b/api-common/src/main/java/com/glxp/sale/common/annotation/Excel.java @@ -0,0 +1,101 @@ +package com.glxp.sale.common.annotation; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.FIELD) +public @interface Excel { + /** + * 导出到Excel中的名字. + */ + public String name() default ""; + + /** + * 日期格式, 如: yyyy-MM-dd + */ + public String dateFormat() default ""; + + /** + * 读取内容转表达式 (如: 0=男,1=女,2=未知) + */ + public String convertExp() default ""; + + /** + * 导出类型(0数字 1字符串) + */ + public ColumnType cellType() default ColumnType.STRING; + + /** + * 导出时在excel中每个列的高度 单位为字符 + */ + public double height() default 14; + + /** + * 导出时在excel中每个列的宽 单位为字符 + */ + public double width() default 16; + + /** + * 文字后缀,如% 90 变成90% + */ + public String suffix() default ""; + + /** + * 当值为空时,字段的默认值 + */ + public String defaultValue() default ""; + + /** + * 提示信息 + */ + public String prompt() default ""; + + /** + * 设置只能选择不能输入的列内容. + */ + public String[] combo() default {}; + + /** + * 是否导出数据,应对需求:有时我们需要导出一份模板,这是标题需要但内容需要用户手工填写. + */ + public boolean isExport() default true; + + /** + * 另一个类中的属性名称,支持多级获取,以小数点隔开 + */ + public String targetAttr() default ""; + + /** + * 字段类型(0:导出导入;1:仅导出;2:仅导入) + */ + Type type() default Type.ALL; + + public enum Type { + ALL(0), EXPORT(1), IMPORT(2); + private final int value; + + Type(int value) { + this.value = value; + } + + public int value() { + return this.value; + } + } + + public enum ColumnType { + NUMERIC(0), STRING(1); + private final int value; + + ColumnType(int value) { + this.value = value; + } + + public int value() { + return this.value; + } + } +} diff --git a/api-common/src/main/java/com/glxp/sale/common/enums/ResultEnum.java b/api-common/src/main/java/com/glxp/sale/common/enums/ResultEnum.java index 0fed18d..5177825 100644 --- a/api-common/src/main/java/com/glxp/sale/common/enums/ResultEnum.java +++ b/api-common/src/main/java/com/glxp/sale/common/enums/ResultEnum.java @@ -15,7 +15,7 @@ public enum ResultEnum { AUTH_FAILED(4, "权限验证失败"), DATA_NOT(5, "没有相关数据"), DATA_CHANGE(6, "数据没有任何更改"), - DATA_REPEAT(7, "数据已存在"), + DATA_REPEAT(7, "条码已存在"), DATA_ERROR(8, "参数错误"), DATA_UNAUTH(9, "用户未认证"), ; diff --git a/api-common/src/main/java/com/glxp/sale/common/util/ExcelUtil.java b/api-common/src/main/java/com/glxp/sale/common/util/ExcelUtil.java new file mode 100644 index 0000000..a453d7d --- /dev/null +++ b/api-common/src/main/java/com/glxp/sale/common/util/ExcelUtil.java @@ -0,0 +1,239 @@ +package com.glxp.sale.common.util; + +import cn.hutool.core.convert.Convert; +import cn.hutool.core.util.ReflectUtil; +import cn.hutool.core.util.StrUtil; +import com.glxp.sale.common.annotation.Excel; +import com.glxp.sale.common.annotation.Excel.Type; +import org.apache.commons.lang3.time.DateUtils; +import org.apache.poi.hssf.usermodel.HSSFDateUtil; +import org.apache.poi.ss.usermodel.*; + +import java.io.IOException; +import java.io.InputStream; +import java.lang.reflect.Field; +import java.math.BigDecimal; +import java.text.DecimalFormat; +import java.util.*; + +//@Slf4j +public class ExcelUtil { + /** + * Excel sheet最大行数,默认65536 + */ + public static final int sheetSize = 65536; + + /** + * 工作表名称 + */ + private String sheetName; + + /** + * 导出类型(EXPORT:导出数据;IMPORT:导入模板) + */ + private Excel.Type type; + + /** + * 工作薄对象 + */ + private Workbook wb; + + /** + * 工作表对象 + */ + private Sheet sheet; + + /** + * 样式列表 + */ + private Map styles; + + /** + * 导入导出数据列表 + */ + private List list; + + /** + * 注解列表 + */ + private List fields; + + /** + * 实体对象 + */ + public Class clazz; + + public ExcelUtil(Class clazz) { + this.clazz = clazz; + } + + public List importExcel(InputStream is) throws Exception { + return importExcel("", is); + } + + public List importExcel(String sheetName, InputStream is) throws Exception { + this.type = Excel.Type.IMPORT; + this.wb = WorkbookFactory.create(is); + List list = new ArrayList(); + Sheet sheet = null; + if (!sheetName.isEmpty()) { + // 如果指定sheet名,则取指定sheet中的内容. + sheet = wb.getSheet(sheetName); + } else { + // 如果传入的sheet名不存在则默认指向第1个sheet. + sheet = wb.getSheetAt(0); + } + + if (sheet == null) { + throw new IOException("文件sheet不存在"); + } + + int rows = sheet.getPhysicalNumberOfRows(); + + if (rows > 0) { + // 定义一个map用于存放excel列的序号和field. + Map cellMap = new HashMap(); + // 获取表头 + Row heard = sheet.getRow(0); + for (int i = 0; i < heard.getPhysicalNumberOfCells(); i++) { + Cell cell = heard.getCell(i); + if (!StrUtil.isEmptyIfStr(cell)) { + String value = this.getCellValue(heard, i).toString(); + cellMap.put(value, i); + } else { + cellMap.put(null, i); + } + } + // 有数据时才处理 得到类的所有field. + Field[] allFields = clazz.getDeclaredFields(); + // 定义一个map用于存放列的序号和field. + Map fieldsMap = new HashMap(); + for (int col = 0; col < allFields.length; col++) { + Field field = allFields[col]; + Excel attr = field.getAnnotation(Excel.class); + if (attr != null && (attr.type() == Type.ALL || attr.type() == type)) { + // 设置类的私有字段属性可访问. + field.setAccessible(true); + Integer column = cellMap.get(attr.name()); + fieldsMap.put(column, field); + } + } + for (int i = 1; i < rows; i++) { + // 从第2行开始取数据,默认第一行是表头. + Row row = sheet.getRow(i); + T entity = null; + for (Map.Entry entry : fieldsMap.entrySet()) { + Object val = this.getCellValue(row, entry.getKey()); + + // 如果不存在实例则新建. + entity = (entity == null ? clazz.newInstance() : entity); + // 从map中得到对应列的field. + Field field = fieldsMap.get(entry.getKey()); + // 取得类型,并根据对象类型设置值. + Class fieldType = field.getType(); + if (String.class == fieldType) { + String s = Convert.toStr(val); + if (StrUtil.endWith(s, ".0")) { + val = StrUtil.subBefore(s, ".0", true); + } else { + val = Convert.toStr(val); + } + } else if ((Integer.TYPE == fieldType) || (Integer.class == fieldType)) { + val = Convert.toInt(val); + } else if ((Long.TYPE == fieldType) || (Long.class == fieldType)) { + val = Convert.toLong(val); + } else if ((Double.TYPE == fieldType) || (Double.class == fieldType)) { + val = Convert.toDouble(val); + } else if ((Float.TYPE == fieldType) || (Float.class == fieldType)) { + val = Convert.toFloat(val); + } else if (BigDecimal.class == fieldType) { + val = Convert.toBigDecimal(val); + } else if (Date.class == fieldType) { + if (val instanceof String) { + val = DateUtils.parseDate((String) val); + } else if (val instanceof Double) { + val = DateUtil.getJavaDate((Double) val); + } + } + if (!StrUtil.isEmptyIfStr(fieldType)) { + Excel attr = field.getAnnotation(Excel.class); + String propertyName = field.getName(); + if (StrUtil.isNotEmpty(attr.targetAttr())) { + propertyName = field.getName() + "." + attr.targetAttr(); + } else if (StrUtil.isNotEmpty(attr.convertExp())) { + val = reverseByExp(String.valueOf(val), attr.convertExp()); + } + ReflectUtil.setFieldValue(entity, propertyName, val); + } + } + list.add(entity); + } + } + return list; + } + + /** + * 获取单元格值 + * + * @param row 获取的行 + * @param column 获取单元格列号 + * @return 单元格值 + */ + public Object getCellValue(Row row, int column) { + if (row == null) { + return row; + } + Object val = ""; + try { + Cell cell = row.getCell(column); + if (cell != null) { + if (cell.getCellTypeEnum() == CellType.NUMERIC || cell.getCellTypeEnum() == CellType.FORMULA) { + val = cell.getNumericCellValue(); + if (HSSFDateUtil.isCellDateFormatted(cell)) { + val = DateUtil.getJavaDate((Double) val); // POI Excel 日期格式转换 + } else { + if ((Double) val % 1 > 0) { + val = new DecimalFormat("0.00").format(val); + } else { + val = new DecimalFormat("0").format(val); + } + } + } else if (cell.getCellTypeEnum() == CellType.STRING) { + val = cell.getStringCellValue(); + } else if (cell.getCellTypeEnum() == CellType.BOOLEAN) { + val = cell.getBooleanCellValue(); + } else if (cell.getCellTypeEnum() == CellType.ERROR) { + val = cell.getErrorCellValue(); + } + + } + } catch (Exception e) { + return val; + } + return val; + } + + /** + * 反向解析值 男=0,女=1,未知=2 + * + * @param propertyValue 参数值 + * @param converterExp 翻译注解 + * @return 解析后值 + * @throws Exception + */ + public static String reverseByExp(String propertyValue, String converterExp) throws Exception { + try { + String[] convertSource = converterExp.split(","); + for (String item : convertSource) { + String[] itemArray = item.split("="); + if (itemArray[1].equals(propertyValue)) { + return itemArray[0]; + } + } + } catch (Exception e) { + throw e; + } + return propertyValue; + } + +} diff --git a/scripts/TransChineseMoneyScriptlet.jar b/scripts/TransChineseMoneyScriptlet.jar new file mode 100644 index 0000000..c67b2b5 Binary files /dev/null and b/scripts/TransChineseMoneyScriptlet.jar differ diff --git a/scripts/untitled.jar b/scripts/untitled.jar new file mode 100644 index 0000000..274bead Binary files /dev/null and b/scripts/untitled.jar differ