From 5f715c67f6393fa3bf153f394e0b43da43202aa5 Mon Sep 17 00:00:00 2001 From: anthonyywj2 <353682448@qq.com> Date: Wed, 6 Apr 2022 11:34:03 +0800 Subject: [PATCH] =?UTF-8?q?UDI=E6=95=B0=E6=8D=AE=E5=90=8C=E6=AD=A5?= =?UTF-8?q?=EF=BC=8C=E7=AC=AC=E4=B8=89=E6=96=B9=E4=BA=A7=E5=93=81=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E6=96=B0=E5=A2=9E=EF=BC=8C=E5=AE=A1=E6=A0=B8=E7=AD=89?= =?UTF-8?q?=EF=BC=9B=E6=89=8B=E6=8C=81=E7=BB=88=E7=AB=AF=E7=99=BB=E8=AE=B0?= =?UTF-8?q?=E5=AE=A1=E6=A0=B8=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/auth/LoginController.java | 18 + .../basic/ProductInfoController.java | 249 +++++++++ .../basic/UdiCompanyController.java | 75 +++ .../controller/info/DeviceKeyController.java | 58 +- .../thrsys/ThrProductsAddController.java | 118 ++++ .../dao/{info => auth}/DeviceKeyDao.java | 6 +- .../sale/admin/dao/basic/ProductInfoDao.java | 36 +- .../sale/admin/dao/basic/UdiCompanyDao.java | 31 ++ .../admin/dao/thrsys/ThrProductsAddDao.java | 31 ++ .../admin/entity/info/DeviceKeyEntity.java | 4 + .../entity/receipt/ProductInfoEntity.java | 40 +- .../entity/thrsys/ThrProductsAddEntity.java | 43 ++ .../sale/admin/req/auth/LoginRequest.java | 2 + .../admin/req/basic/UdiCompanyRequest.java | 15 + .../req/receipt/ProductInfoFilterRequest.java | 14 +- .../req/thrsys/FilterThrProductsRequest.java | 2 + .../admin/res/inout/ProductInfoResponse.java | 37 +- .../{info => auth}/DeviceKeyService.java | 8 +- .../impl/DeviceKeyServiceImpl.java | 16 +- .../service/basic/UdiCompanyService.java | 28 + .../basic/impl/UdiCompanyServiceImpl.java | 63 +++ .../service/receipt/ProductInfoService.java | 44 +- .../receipt/impl/ProductInfoServiceImpl.java | 135 +++-- .../service/thrsys/ThrProductsAddService.java | 26 + .../impl/ThrProductsAddServiceImpl.java | 76 +++ .../admin/thread/AsyncCompanyDlHelper.java | 51 ++ .../sale/admin/thread/AsyncCompanyDlTask.java | 57 ++ .../sale/admin/thread/AsyncDiDlHelper.java | 48 ++ .../sale/admin/thread/AsyncDiDlService.java | 74 +++ .../glxp/sale/admin/thread/AsyncDiDlTask.java | 60 +++ .../com/glxp/sale/admin/util/DateUtil.java | 9 + .../mapper/{info => auth}/DeviceKeyDao.xml | 15 +- .../mybatis/mapper/basic/ProductInfoDao.xml | 510 ++++++++++++++++++ .../mybatis/mapper/basic/UdiCompanyDao.xml | 109 ++++ .../mapper/thrsys/ThrProductsAddDao.xml | 194 +++++++ 35 files changed, 2150 insertions(+), 152 deletions(-) create mode 100644 api-admin/src/main/java/com/glxp/sale/admin/controller/basic/ProductInfoController.java create mode 100644 api-admin/src/main/java/com/glxp/sale/admin/controller/basic/UdiCompanyController.java create mode 100644 api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrProductsAddController.java rename api-admin/src/main/java/com/glxp/sale/admin/dao/{info => auth}/DeviceKeyDao.java (87%) create mode 100644 api-admin/src/main/java/com/glxp/sale/admin/dao/basic/UdiCompanyDao.java create mode 100644 api-admin/src/main/java/com/glxp/sale/admin/dao/thrsys/ThrProductsAddDao.java create mode 100644 api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/ThrProductsAddEntity.java create mode 100644 api-admin/src/main/java/com/glxp/sale/admin/req/basic/UdiCompanyRequest.java rename api-admin/src/main/java/com/glxp/sale/admin/service/{info => auth}/DeviceKeyService.java (80%) rename api-admin/src/main/java/com/glxp/sale/admin/service/{info => auth}/impl/DeviceKeyServiceImpl.java (74%) create mode 100644 api-admin/src/main/java/com/glxp/sale/admin/service/basic/UdiCompanyService.java create mode 100644 api-admin/src/main/java/com/glxp/sale/admin/service/basic/impl/UdiCompanyServiceImpl.java create mode 100644 api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/ThrProductsAddService.java create mode 100644 api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/impl/ThrProductsAddServiceImpl.java create mode 100644 api-admin/src/main/java/com/glxp/sale/admin/thread/AsyncCompanyDlHelper.java create mode 100644 api-admin/src/main/java/com/glxp/sale/admin/thread/AsyncCompanyDlTask.java create mode 100644 api-admin/src/main/java/com/glxp/sale/admin/thread/AsyncDiDlHelper.java create mode 100644 api-admin/src/main/java/com/glxp/sale/admin/thread/AsyncDiDlService.java create mode 100644 api-admin/src/main/java/com/glxp/sale/admin/thread/AsyncDiDlTask.java rename api-admin/src/main/resources/mybatis/mapper/{info => auth}/DeviceKeyDao.xml (81%) create mode 100644 api-admin/src/main/resources/mybatis/mapper/basic/ProductInfoDao.xml create mode 100644 api-admin/src/main/resources/mybatis/mapper/basic/UdiCompanyDao.xml create mode 100644 api-admin/src/main/resources/mybatis/mapper/thrsys/ThrProductsAddDao.xml 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 0642d51..30bd13d 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 @@ -1,5 +1,6 @@ package com.glxp.sale.admin.controller.auth; +import cn.hutool.core.util.StrUtil; import com.glxp.sale.admin.annotation.AuthRuleAnnotation; import com.glxp.sale.admin.constant.Constant; import com.glxp.sale.admin.dao.auth.AuthLicenseDao; @@ -7,6 +8,7 @@ import com.glxp.sale.admin.entity.auth.AuthAdmin; import com.glxp.sale.admin.entity.auth.AuthLicense; import com.glxp.sale.admin.entity.auth.CustomerInfoEntity; import com.glxp.sale.admin.entity.info.CompanyEntity; +import com.glxp.sale.admin.entity.info.DeviceKeyEntity; import com.glxp.sale.admin.exception.JsonException; import com.glxp.sale.admin.req.auth.LoginRequest; import com.glxp.sale.admin.req.auth.UpdatePasswordRequest; @@ -14,6 +16,7 @@ import com.glxp.sale.admin.res.auth.LoginUserInfoResponse; import com.glxp.sale.admin.service.auth.AuthAdminService; import com.glxp.sale.admin.service.auth.AuthLoginService; import com.glxp.sale.admin.service.auth.CustomerInfoService; +import com.glxp.sale.admin.service.auth.DeviceKeyService; import com.glxp.sale.admin.service.info.CompanyService; import com.glxp.sale.admin.util.AppUtils; import com.glxp.sale.admin.util.IpUtils; @@ -56,6 +59,8 @@ public class LoginController { private AuthLicenseDao authLicenseDao; @Resource CustomerInfoService customerInfoService; + @Resource + DeviceKeyService deviceKeyService; /** * 用户登录 @@ -105,6 +110,19 @@ public class LoginController { throw new JsonException(ResultEnum.DATA_NOT, "用户名或密码错误"); } + + if (StrUtil.isNotEmpty(loginRequest.getImei())) { + DeviceKeyEntity deviceKeyEntity = deviceKeyService.findDeviceByImei(loginRequest.getImei()); + if (deviceKeyEntity == null) { + return ResultVOUtils.error(410, "该设备未注册"); + } else if (deviceKeyEntity.getIsCheck() == 0) { + return ResultVOUtils.error(411, "该设备未审核,请等待审核!"); + } else if (deviceKeyEntity.getIsCheck() == 2) { + return ResultVOUtils.error(412, "该设备被拒绝登录,请联系管理员!"); + } + + } + // 更新登录状态 AuthAdmin authAdminUp = new AuthAdmin(); authAdminUp.setId(authAdmin.getId()); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/ProductInfoController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/ProductInfoController.java new file mode 100644 index 0000000..4fddb97 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/ProductInfoController.java @@ -0,0 +1,249 @@ +package com.glxp.sale.admin.controller.basic; + +import com.github.pagehelper.PageInfo; +import com.glxp.sale.admin.entity.receipt.ProductInfoEntity; +import com.glxp.sale.admin.entity.udid.UdiEntity; +import com.glxp.sale.admin.req.receipt.ProductInfoFilterRequest; +import com.glxp.sale.admin.res.PageSimpleResponse; +import com.glxp.sale.admin.res.inout.ProductInfoResponse; +import com.glxp.sale.admin.service.receipt.ProductInfoService; +import com.glxp.sale.admin.util.FilterUdiUtils; +import com.glxp.sale.common.res.BaseResponse; +import com.glxp.sale.common.util.ResultVOUtils; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +//udi出入库管理系统API +@RestController +public class ProductInfoController { + @Resource + ProductInfoService productInfoService; + + + //手持枪扫码查询 + @GetMapping("udidl/device/findBydi") + public BaseResponse findProductInfo(ProductInfoFilterRequest productInfoFilterRequest) { + + String key = productInfoFilterRequest.getNameCode(); + if (key != null) { + key = FilterUdiUtils.getDiStr(key); + productInfoFilterRequest.setNameCode(key); + } + List productInfoEntityList = productInfoService.findAll(productInfoFilterRequest); + ProductInfoResponse productInfoResponse = new ProductInfoResponse(); + if (productInfoEntityList != null && productInfoEntityList.size() > 0) { + ProductInfoEntity productInfoEntity = productInfoEntityList.get(productInfoEntityList.size() - 1); + productInfoResponse.setProductInfoEntity(productInfoEntity); + ProductInfoFilterRequest packFilter = new ProductInfoFilterRequest(); + packFilter.setUuid(productInfoEntity.getUuid()); + List packInfos = productInfoService.findAll(packFilter); + List returns = new ArrayList<>(); + if (packInfos != null && packInfos.size() > 0) { + for (ProductInfoEntity temp : packInfos) { + if (!temp.getNameCode().equals(productInfoEntity.getNameCode())) { + returns.add(temp); + } + } + productInfoResponse.setPackages(returns); + } + return ResultVOUtils.success(productInfoResponse); + } else { +// if (key != null && key.length() >= 13) +// asyncDownloadTask.downloadByDi(key); //后台自动下载 + return ResultVOUtils.error(500, "未找到产品信息"); + } + } + + //管理平台扫码查询 + @GetMapping("udidl/wms/findBydi") + public BaseResponse findBydiWms(ProductInfoFilterRequest productInfoFilterRequest) { + + String key = productInfoFilterRequest.getNameCode(); + UdiEntity udiEntity = null; + if (key != null) { + udiEntity = FilterUdiUtils.getUdi(key); + key = udiEntity.getUdi();// FilterUdiUtils.getDiStr(key); + + productInfoFilterRequest.setNameCode(key); + } + List productInfoEntityList = productInfoService.findAll(productInfoFilterRequest); + ProductInfoResponse productInfoResponse = new ProductInfoResponse(); + if (productInfoEntityList != null && productInfoEntityList.size() > 0) { + ProductInfoEntity productInfoEntity = productInfoEntityList.get(productInfoEntityList.size() - 1); + if (udiEntity != null) { + productInfoEntity.setBatchNo(udiEntity.getBatchNo()); + productInfoEntity.setProduceDate(udiEntity.getProduceDate()); + productInfoEntity.setExpireDate(udiEntity.getExpireDate()); + } + productInfoResponse.setProductInfoEntity(productInfoEntity); + ProductInfoFilterRequest packFilter = new ProductInfoFilterRequest(); + packFilter.setUuid(productInfoEntity.getUuid()); + List packInfos = productInfoService.findAll(packFilter); + List returns = new ArrayList<>(); + if (packInfos != null && packInfos.size() > 0) { + for (ProductInfoEntity temp : packInfos) { +// if (!temp.getNameCode().equals(productInfoEntity.getNameCode())) { + returns.add(temp); + if (udiEntity != null) { + productInfoEntity.setBatchNo(udiEntity.getBatchNo()); + productInfoEntity.setProduceDate(udiEntity.getProduceDate()); + productInfoEntity.setExpireDate(udiEntity.getExpireDate()); + } +// } + } + productInfoResponse.setPackages(returns); + } + return ResultVOUtils.success(productInfoResponse); + } else { +// if (key != null && key.length() >= 13) +// asyncDownloadTask.downloadByDi(key); //后台自动下载 + return ResultVOUtils.error(500, "未找到产品信息"); + } + } + + //出入库同步下载 + @GetMapping("udidl/udiwms/syncUdi") + public BaseResponse syncUdi(ProductInfoFilterRequest productInfoFilterRequest) { + + List productInfoEntityList = productInfoService.syncDlUdi(productInfoFilterRequest); + return ResultVOUtils.success(productInfoEntityList); + + } + + + //开放查询 查询只查询主DI, + @GetMapping("udidl/device/filterUdi") + public BaseResponse filterUdi(ProductInfoFilterRequest productInfoFilterRequest) { + + //过滤--1.参数不能全未空 + if ((productInfoFilterRequest.getYlqxzcrbarmc() == null || productInfoFilterRequest.getYlqxzcrbarmc().equals("")) && + (productInfoFilterRequest.getCpmctymc() == null || productInfoFilterRequest.getCpmctymc().equals("")) && + (productInfoFilterRequest.getNameCode() == null || productInfoFilterRequest.getNameCode().equals("")) && + (productInfoFilterRequest.getGgxh() == null || productInfoFilterRequest.getGgxh().equals("")) && + (productInfoFilterRequest.getUuid() == null || productInfoFilterRequest.getUuid().equals("")) && + (productInfoFilterRequest.getZczbhhzbapzbh() == null || productInfoFilterRequest.getZczbhhzbapzbh().equals("")) && + (productInfoFilterRequest.getDeviceRecordKey() == null || productInfoFilterRequest.getDeviceRecordKey().equals("")) + ) { + return ResultVOUtils.error(500, "参数不能为空!"); + } + + if (productInfoFilterRequest.getNameCode() != null && !productInfoFilterRequest.getNameCode().equals("") && productInfoFilterRequest.getNameCode().length() < 10) { + return ResultVOUtils.error(500, "请输入完整的最小销售单元标识!"); + } + + if (productInfoFilterRequest.getYlqxzcrbarmc() != null && !productInfoFilterRequest.getYlqxzcrbarmc().equals("") && productInfoFilterRequest.getYlqxzcrbarmc().length() < 4) { + return ResultVOUtils.error(500, "请输入完整的医疗器械注册备案人名称!"); + } + + + if ((productInfoFilterRequest.getYlqxzcrbarmc() == null || productInfoFilterRequest.getYlqxzcrbarmc().equals("")) + && (productInfoFilterRequest.getNameCode() == null || productInfoFilterRequest.getNameCode().equals("")) + && (productInfoFilterRequest.getCpmctymc() == null || productInfoFilterRequest.getCpmctymc().equals("")) + + ) { + if (productInfoFilterRequest.getGgxh() != null && !productInfoFilterRequest.getGgxh().equals("")) { + return ResultVOUtils.error(500, "请输入医疗器械注册备案人名称"); + } + if (productInfoFilterRequest.getZczbhhzbapzbh() != null && !productInfoFilterRequest.getZczbhhzbapzbh().equals("")) { + return ResultVOUtils.error(500, "请输入医疗器械注册备案人名称"); + } + } + + if (productInfoFilterRequest.getCpmctymc() != null && !productInfoFilterRequest.getCpmctymc().equals("") && productInfoFilterRequest.getCpmctymc().length() < 4) { + return ResultVOUtils.error(500, "请输入完整的产品通用名称!"); + } + productInfoFilterRequest.setIsNewest(1); + productInfoFilterRequest.setDiType("1"); + List productInfoEntityList = productInfoService.filterUdi(productInfoFilterRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(productInfoEntityList); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(productInfoEntityList); + return ResultVOUtils.success(pageSimpleResponse); + + } + + + //开放查询 查询全部,不会过滤只显示主 + @GetMapping("udidl/device/filterAllUdi") + public BaseResponse filterAllUdi(ProductInfoFilterRequest productInfoFilterRequest) { + + //过滤--1.参数不能全未空 + if ((productInfoFilterRequest.getYlqxzcrbarmc() == null || productInfoFilterRequest.getYlqxzcrbarmc().equals("")) && + (productInfoFilterRequest.getCpmctymc() == null || productInfoFilterRequest.getCpmctymc().equals("")) && + (productInfoFilterRequest.getNameCode() == null || productInfoFilterRequest.getNameCode().equals("")) && + (productInfoFilterRequest.getGgxh() == null || productInfoFilterRequest.getGgxh().equals("")) && + (productInfoFilterRequest.getUuid() == null || productInfoFilterRequest.getUuid().equals("")) && + (productInfoFilterRequest.getZczbhhzbapzbh() == null || productInfoFilterRequest.getZczbhhzbapzbh().equals("")) && + (productInfoFilterRequest.getDeviceRecordKey() == null || productInfoFilterRequest.getDeviceRecordKey().equals("")) + ) { + return ResultVOUtils.error(500, "参数不能为空!"); + } + + if (productInfoFilterRequest.getNameCode() != null && !productInfoFilterRequest.getNameCode().equals("") && productInfoFilterRequest.getNameCode().length() < 10) { + return ResultVOUtils.error(500, "请输入完整的最小销售单元标识!"); + } + + if (productInfoFilterRequest.getYlqxzcrbarmc() != null && !productInfoFilterRequest.getYlqxzcrbarmc().equals("") && productInfoFilterRequest.getYlqxzcrbarmc().length() < 4) { + return ResultVOUtils.error(500, "请输入完整的医疗器械注册备案人名称!"); + } + + + if ((productInfoFilterRequest.getYlqxzcrbarmc() == null || productInfoFilterRequest.getYlqxzcrbarmc().equals("")) + && (productInfoFilterRequest.getNameCode() == null || productInfoFilterRequest.getNameCode().equals("")) + && (productInfoFilterRequest.getCpmctymc() == null || productInfoFilterRequest.getCpmctymc().equals("")) + + ) { + if (productInfoFilterRequest.getGgxh() != null && !productInfoFilterRequest.getGgxh().equals("")) { + return ResultVOUtils.error(500, "请输入医疗器械注册备案人名称"); + } + if (productInfoFilterRequest.getZczbhhzbapzbh() != null && !productInfoFilterRequest.getZczbhhzbapzbh().equals("")) { + return ResultVOUtils.error(500, "请输入医疗器械注册备案人名称"); + } + } + + if (productInfoFilterRequest.getCpmctymc() != null && !productInfoFilterRequest.getCpmctymc().equals("") && productInfoFilterRequest.getCpmctymc().length() < 4) { + return ResultVOUtils.error(500, "请输入完整的产品通用名称!"); + } + productInfoFilterRequest.setIsNewest(1); + List productInfoEntityList = productInfoService.filterUdi(productInfoFilterRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(productInfoEntityList); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(productInfoEntityList); + return ResultVOUtils.success(pageSimpleResponse); + + } + + + @GetMapping("udidl/device/filterByUuid") + public BaseResponse filterByUuid(ProductInfoFilterRequest productInfoFilterRequest) { + List productInfoEntityList = productInfoService.findAll(productInfoFilterRequest); + return ResultVOUtils.success(productInfoEntityList); + } + + @GetMapping("udidl/device/filterByNameCode") + public BaseResponse filterByNameCode(ProductInfoFilterRequest productInfoFilterRequest) { + List productInfoEntityList = productInfoService.findAll(productInfoFilterRequest); + Map> listMap = productInfoEntityList.stream().collect(Collectors.groupingBy(ProductInfoEntity::getUuid)); + List result = null; + for (List value : listMap.values()) { + if (result == null || value.get(0).getVersionNumber() > result.get(0).getVersionNumber()) { + result = value; + } + } + productInfoFilterRequest.setNameCode(null); + productInfoFilterRequest.setUuid(result.get(0).getUuid()); + List datas = productInfoService.findAll(productInfoFilterRequest); + return ResultVOUtils.success(datas); + } + +} \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/UdiCompanyController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/UdiCompanyController.java new file mode 100644 index 0000000..44cd13a --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/UdiCompanyController.java @@ -0,0 +1,75 @@ +package com.glxp.sale.admin.controller.basic; + +import com.github.pagehelper.PageInfo; +import com.glxp.sale.admin.entity.basic.UdiCompanyEntity; +import com.glxp.sale.admin.entity.receipt.ProductInfoEntity; +import com.glxp.sale.admin.req.basic.UdiCompanyRequest; +import com.glxp.sale.admin.req.receipt.ProductInfoFilterRequest; +import com.glxp.sale.admin.res.PageSimpleResponse; +import com.glxp.sale.admin.service.basic.UdiCompanyService; +import com.glxp.sale.admin.service.receipt.ProductInfoService; +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.RestController; + +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; + + +//UDI查询APP API +@RestController +public class UdiCompanyController { + + @Resource + UdiCompanyService udiCompanyService; + @Resource + ProductInfoService productInfoService; + + @GetMapping("udi/company/filter") + public BaseResponse filterCompany(@Valid UdiCompanyRequest udiCompanyRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List udiCompanyEntities = udiCompanyService.filterUdiCompany(udiCompanyRequest); + return ResultVOUtils.success(udiCompanyEntities); + } + + @GetMapping("udi/company/filtertByTD") + public BaseResponse filtertByTD(ProductInfoFilterRequest productInfoFilterRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List productInfoEntities = productInfoService.filterUdiByTyshxydm(productInfoFilterRequest); + return ResultVOUtils.success(productInfoEntities); + } + + //udi查询app接口,获取企业最新DI + @GetMapping("udi/company/filtertUdi") + public BaseResponse filtertUdi(ProductInfoFilterRequest productInfoFilterRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + + List productInfoEntities; + productInfoFilterRequest.setDiType("1"); + if (productInfoFilterRequest.isShowHis()) { + productInfoEntities = productInfoService.filterUdiByTyshxydm(productInfoFilterRequest); + } else { + productInfoFilterRequest.setDiType("1"); + productInfoFilterRequest.setIsNewest(1); + productInfoEntities = productInfoService.filterUdiByNewest(productInfoFilterRequest); + } + + PageInfo pageInfo; + pageInfo = new PageInfo<>(productInfoEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(productInfoEntities); + return ResultVOUtils.success(pageSimpleResponse); + } +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/info/DeviceKeyController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/info/DeviceKeyController.java index 58460cd..4139e8b 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/info/DeviceKeyController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/info/DeviceKeyController.java @@ -1,15 +1,19 @@ package com.glxp.sale.admin.controller.info; +import com.alibaba.fastjson.JSONObject; import com.github.pagehelper.PageInfo; -import com.glxp.sale.admin.annotation.AuthRuleAnnotation; import com.glxp.sale.admin.entity.info.DeviceKeyEntity; import com.glxp.sale.admin.req.info.FilterDeviceKeyRequest; import com.glxp.sale.admin.res.PageSimpleResponse; -import com.glxp.sale.admin.service.info.DeviceKeyService; +import com.glxp.sale.admin.service.auth.DeviceKeyService; import com.glxp.sale.admin.util.DateUtil; import com.glxp.sale.common.enums.ResultEnum; import com.glxp.sale.common.res.BaseResponse; import com.glxp.sale.common.util.ResultVOUtils; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.mail.SimpleMailMessage; +import org.springframework.mail.javamail.JavaMailSender; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -17,17 +21,23 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import javax.servlet.http.HttpSession; import javax.validation.Valid; import java.security.MessageDigest; import java.util.List; +@Slf4j @RestController public class DeviceKeyController { - + // @Value("${spring.mail.username}") +// private String mail; +// @Value("${toMail}") +// private String toMail; @Resource DeviceKeyService deviceKeyService; +// @Resource +// private JavaMailSender javaMailSender; - @AuthRuleAnnotation("") @GetMapping("sale/device/registerList") public BaseResponse registerList(FilterDeviceKeyRequest filterDeviceKeyRequest) { List deviceKeyEntities = deviceKeyService.findDeviceKey(filterDeviceKeyRequest); @@ -39,7 +49,7 @@ public class DeviceKeyController { return ResultVOUtils.success(pageSimpleResponse); } - @AuthRuleAnnotation("") + @PostMapping("sale/device/check") public BaseResponse checkRegister(@RequestBody @Valid DeviceKeyEntity deviceKeyEntity, BindingResult bindingResult) { @@ -53,7 +63,6 @@ public class DeviceKeyController { } - @AuthRuleAnnotation("") @PostMapping("/sale/info/registerKey") public BaseResponse registerKey(@RequestBody DeviceKeyEntity deviceKeyEntity) { String key = md5("glxp2020" + deviceKeyEntity.getImei()); @@ -61,17 +70,38 @@ public class DeviceKeyController { filterDeviceKeyRequest.setImei(deviceKeyEntity.getImei()); DeviceKeyEntity deviceKeyEntity1 = deviceKeyService.findDeviceByImei(filterDeviceKeyRequest); if (deviceKeyEntity1 == null) { - deviceKeyEntity.setImeiKey(key); - deviceKeyEntity.setDate(DateUtil.getDate()); - deviceKeyEntity.setIsCheck(0); - deviceKeyService.insertDeviceKey(deviceKeyEntity); - } - if (deviceKeyEntity1.getIsCheck() != 0) - return ResultVOUtils.success(key); - else + return ResultVOUtils.success("1"); + } else if (deviceKeyEntity1.getIsCheck() == 0) { return ResultVOUtils.success("0"); + } else { + return ResultVOUtils.success(key); + } + } + + @PostMapping("sale/device/register") + public BaseResponse saveRegister(@RequestBody DeviceKeyEntity deviceKeyEntity, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + deviceKeyEntity.setDate(DateUtil.getDateTime()); + deviceKeyEntity.setIsCheck(0); + deviceKeyService.insertDeviceKey(deviceKeyEntity); + return ResultVOUtils.success("1"); + } + +// public void sendMail(String title, String content, String to) { +// SimpleMailMessage message = new SimpleMailMessage(); +// message.setFrom(mail); +// message.setTo(to); +// message.setSubject(title); +// message.setText(content); +// javaMailSender.send(message); +// } + public String md5(String password) { try { MessageDigest digest = MessageDigest.getInstance("MD5"); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrProductsAddController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrProductsAddController.java new file mode 100644 index 0000000..058dc9b --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrProductsAddController.java @@ -0,0 +1,118 @@ +package com.glxp.sale.admin.controller.thrsys; + +import cn.hutool.core.util.StrUtil; +import com.github.pagehelper.PageInfo; +import com.glxp.sale.admin.annotation.AuthRuleAnnotation; +import com.glxp.sale.admin.entity.thrsys.ThrProductsAddEntity; +import com.glxp.sale.admin.entity.thrsys.ThrProductsEntity; +import com.glxp.sale.admin.req.info.DeleteRequest; +import com.glxp.sale.admin.req.thrsys.FilterThrProductsRequest; +import com.glxp.sale.admin.res.PageSimpleResponse; +import com.glxp.sale.admin.service.auth.CustomerService; +import com.glxp.sale.admin.service.thrsys.ThrProductsAddService; +import com.glxp.sale.admin.service.thrsys.ThrProductsService; +import com.glxp.sale.admin.util.BeanUtils; +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 ThrProductsAddController { + @Resource + private ThrProductsAddService thrProductsAddService; + @Resource + private ThrProductsService thrProductsService; + @Resource + private CustomerService customerService; + + @AuthRuleAnnotation("") + @GetMapping("/udiwms/thrsys/getThrAddProducts") + public BaseResponse getThrProducts(FilterThrProductsRequest filterThrProductsRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + Long customerId = customerService.getCustomerId(); + if (customerId != 110) { + filterThrProductsRequest.setCustomerId(customerId + ""); + } + List thrProductsAddEntities + = thrProductsAddService.filterThrProductsRequest(filterThrProductsRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(thrProductsAddEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(thrProductsAddEntities); + return ResultVOUtils.success(pageSimpleResponse); + } + + + @AuthRuleAnnotation("") + @PostMapping("/udiwms/thrsys/delThrAddProducts") + public BaseResponse delThrProducts(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + String id = deleteRequest.getId(); + thrProductsAddService.deleteById(id); + return ResultVOUtils.success("删除成功"); + } + + @AuthRuleAnnotation("") + @PostMapping("/udiwms/thrsys/updateThrAddProducts") + public BaseResponse updateThrAddProducts(@RequestBody ThrProductsAddEntity thrProductsAddEntity, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + thrProductsAddService.updateThrProducts(thrProductsAddEntity); + if (thrProductsAddEntity.getCheckStatus() == 2) { + ThrProductsEntity thrProductsEntity = new ThrProductsEntity(); + thrProductsAddEntity = thrProductsAddService.selectById(thrProductsAddEntity.getId() + ""); + BeanUtils.copyProperties(thrProductsAddEntity, thrProductsEntity); + thrProductsService.insertThrProducts(thrProductsEntity); + } + return ResultVOUtils.success("删除成功"); + } + + + /** + * 新增第三方产品信息 + * + * @return + */ + @AuthRuleAnnotation("") + @PostMapping("/udiwms/thrsys/addThrAddProducts") + public BaseResponse saveProduct(@RequestBody ThrProductsAddEntity thrProductsAddEntity) { + if (null == thrProductsAddEntity) + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + + String customerId = customerService.getCustomerId() + ""; + if (customerId.equals("110")) { + ThrProductsEntity thrProductsEntity = new ThrProductsEntity(); + BeanUtils.copyProperties(thrProductsAddEntity, thrProductsEntity); + thrProductsService.insertThrProducts(thrProductsEntity); + + } else { + if (StrUtil.isEmpty(thrProductsAddEntity.getThirdSysFk())) { + thrProductsAddEntity.setThirdSysFk("thirdId"); + } + thrProductsAddEntity.setCustomerId(customerId); + thrProductsAddEntity.setCheckStatus(1); + thrProductsAddService.insertThrProducts(thrProductsAddEntity); + } + + return ResultVOUtils.success(); + } + +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/dao/info/DeviceKeyDao.java b/api-admin/src/main/java/com/glxp/sale/admin/dao/auth/DeviceKeyDao.java similarity index 87% rename from api-admin/src/main/java/com/glxp/sale/admin/dao/info/DeviceKeyDao.java rename to api-admin/src/main/java/com/glxp/sale/admin/dao/auth/DeviceKeyDao.java index e79e941..3b02727 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/dao/info/DeviceKeyDao.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/dao/auth/DeviceKeyDao.java @@ -1,8 +1,8 @@ -package com.glxp.sale.admin.dao.info; +package com.glxp.sale.admin.dao.auth; import com.glxp.sale.admin.entity.info.DeviceKeyEntity; -import com.glxp.sale.admin.req.info.DeleteRequest; import com.glxp.sale.admin.req.info.FilterDeviceKeyRequest; +import com.glxp.sale.admin.req.inout.DeleteRequest; import org.apache.ibatis.annotations.Mapper; import java.util.List; @@ -16,7 +16,9 @@ public interface DeviceKeyDao { void insertDeviceKey(DeviceKeyEntity deviceKeyEntity); void updateDeviceKey(DeviceKeyEntity deviceKeyEntity); + void updateDeviceKeyByImei(DeviceKeyEntity deviceKeyEntity); + void deleteDeviceKey(DeleteRequest deleteRequest); } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/dao/basic/ProductInfoDao.java b/api-admin/src/main/java/com/glxp/sale/admin/dao/basic/ProductInfoDao.java index f90e2a4..d31c73f 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/dao/basic/ProductInfoDao.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/dao/basic/ProductInfoDao.java @@ -1,10 +1,8 @@ package com.glxp.sale.admin.dao.basic; -import com.glxp.sale.admin.entity.inout.ErpDetailCodeEntity; -import com.glxp.sale.admin.entity.inout.OrderDetailEntity; import com.glxp.sale.admin.entity.receipt.ProductInfoEntity; +import com.glxp.sale.admin.req.ListPageRequest; import com.glxp.sale.admin.req.receipt.ProductInfoFilterRequest; -import com.glxp.sale.admin.res.inout.ProductInfoResponse; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -13,34 +11,42 @@ import java.util.List; @Mapper public interface ProductInfoDao { - List filterList(ProductInfoFilterRequest productInfoFilterRequest); + List filterProductInfo(ProductInfoFilterRequest productInfoFilterRequest); - List filterDrugList(ProductInfoFilterRequest productInfoFilterRequest); + List filterCpmctymc(ProductInfoFilterRequest productInfoFilterRequest); - List filterDrugListByUuid(ProductInfoFilterRequest productInfoFilterRequest); + List filterUdiByTyshxydm(ProductInfoFilterRequest productInfoFilterRequest); - List filterUdiList(ProductInfoFilterRequest productInfoFilterRequest); + List filterUdiByCreditNo(ProductInfoFilterRequest productInfoFilterRequest); + + List filterUdiByNewest(ProductInfoFilterRequest productInfoFilterRequest); + + List selectByUpdateTime(@Param("startDate") String startDate, @Param("endDate") String endDate);//按更新时间查询 boolean insertProductInfo(ProductInfoEntity productInfoEntity); + boolean insertProductInfos(@Param("datas") List productInfoEntity); + boolean deleteById(@Param("id") String id); boolean deleteAll(@Param("ids") List ids); - ProductInfoEntity selectById(@Param("id") String id); - boolean updateProductInfo(ProductInfoEntity productInfoEntity); - boolean updateUseDy(ProductInfoEntity productInfoEntity); + boolean updateProductByUuid(ProductInfoEntity productInfoEntity); + + List findAllUuids(ListPageRequest listPageRequest); + + List selectByUuid(@Param("uuid") String uuid); + List filterUdi(ProductInfoFilterRequest productInfoFilterRequest); - List findByCodes(@Param("coedes") List codes); + List syncDlUdi(ProductInfoFilterRequest productInfoFilterRequest); - String isExit(@Param("nameCode") String nameCode); + List filterUuidByCreditNo(ProductInfoFilterRequest productInfoFilterRequest); - ErpDetailCodeEntity getDetailCode(@Param("code") String code); + List selectAllByUuid(@Param("ids") List ids); - ErpDetailCodeEntity getDetailCodeNoBh(@Param("code") String code); + List findAllTyshxyh(); - List findNameCodeByGid(@Param("goodsId") String goodsId); } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/dao/basic/UdiCompanyDao.java b/api-admin/src/main/java/com/glxp/sale/admin/dao/basic/UdiCompanyDao.java new file mode 100644 index 0000000..1bf54f6 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/dao/basic/UdiCompanyDao.java @@ -0,0 +1,31 @@ +package com.glxp.sale.admin.dao.basic; + +import com.glxp.sale.admin.entity.basic.UdiCompanyEntity; +import com.glxp.sale.admin.entity.udid.Contactlist; +import com.glxp.sale.admin.req.basic.UdiCompanyRequest; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface UdiCompanyDao { + + List selectAllTyshxyh(); + + List selectContactBykey(@Param("deviceRecordKey") String deviceRecordKey); + + List filterUdiCompany(UdiCompanyRequest udiCompanyRequest); + + boolean insertUdiCompany(UdiCompanyEntity udiCompanyEntity); + + boolean insertUdiCompanys(@Param("udiCompanyEntities") List udiCompanyEntities); + + boolean deleteById(@Param("id") String id); + + boolean deleteAll(@Param("ids") List ids); + + boolean updateUdiCompany(UdiCompanyEntity udiCompanyEntity); + + +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/dao/thrsys/ThrProductsAddDao.java b/api-admin/src/main/java/com/glxp/sale/admin/dao/thrsys/ThrProductsAddDao.java new file mode 100644 index 0000000..839aa32 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/dao/thrsys/ThrProductsAddDao.java @@ -0,0 +1,31 @@ +package com.glxp.sale.admin.dao.thrsys; + +import com.glxp.sale.admin.entity.thrsys.ThrProductsAddEntity; +import com.glxp.sale.admin.req.thrsys.FilterThrProductsRequest; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface ThrProductsAddDao { + + List filterThrProductsRequest(FilterThrProductsRequest filterThrProductsRequest); + + List batchSelectByIds(FilterThrProductsRequest filterThrProductsRequest); + + ThrProductsAddEntity selectById(@Param("id") String id); + + List selectThrProducts(FilterThrProductsRequest filterThrProductsRequest); + + boolean insertThrProducts(ThrProductsAddEntity thrProductsEntity); + + boolean insertThrProductss(@Param("thrProductsEntities") List thrProductsEntities); + + boolean updateThrProducts(ThrProductsAddEntity thrProductsEntity); + + boolean deleteById(@Param("id") String id); + + boolean deleteAll(); + +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/info/DeviceKeyEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/info/DeviceKeyEntity.java index e60598e..cfa7bee 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/entity/info/DeviceKeyEntity.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/info/DeviceKeyEntity.java @@ -12,4 +12,8 @@ public class DeviceKeyEntity { private String contact; private String imeiKey; private String date; + private String creditNum; + private int checkCode; + private String rgType; + private String remark; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/receipt/ProductInfoEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/receipt/ProductInfoEntity.java index 5fbe465..7e35d83 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/entity/receipt/ProductInfoEntity.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/receipt/ProductInfoEntity.java @@ -1,7 +1,10 @@ package com.glxp.sale.admin.entity.receipt; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; +import java.util.Date; + @Data public class ProductInfoEntity { private Integer id; @@ -12,12 +15,47 @@ public class ProductInfoEntity { private Integer bhzxxsbzsl; private Integer zxxsbzbhsydysl; private String bhxjcpbm; + private String sjcpbm; // private String bzcj; private String thirdProductNo; private String thirdProductName; private String addType; private String deviceRecordKey; - private int isUseDy; + private Integer isUseDy; + private String cpmctymc; + private String cplb; + private String flbm; + private String ggxh; + private String qxlb; + private String tyshxydm; + private String ylqxzcrbarmc; + private String zczbhhzbapzbh; + private String ylqxzcrbarywmc; + private String sydycpbs; private String uuid; + private Integer versionNumber; + private Integer diType; + + private String scbssfbhph; + private String scbssfbhxlh; + private String scbssfbhscrq; + private String scbssfbhsxrq; + + private String ybbm; + private String spmc; + private String cphhhbh; + private String cpms; + private String cpbsbmtxmc; + + private String batchNo; + private String produceDate; + private String expireDate; + + private Boolean isNewest; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") + private Date updateTime; + + private String cplx; + private String hchzsb; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/ThrProductsAddEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/ThrProductsAddEntity.java new file mode 100644 index 0000000..2a72bdf --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/ThrProductsAddEntity.java @@ -0,0 +1,43 @@ +package com.glxp.sale.admin.entity.thrsys; + +import lombok.Data; + +import java.util.Date; + +@Data +public class ThrProductsAddEntity { + + private Integer id; + private String code; + private String name; + private String measname; + private String spec; + private String registerNo; + private String manufactory; + private String thirdSysFk; + private String cplb; + private String flbm; + private String qxlb; + private String ybbm; + private String sptm; + private String tyshxydm; + private String zczbhhzbapzbh; + private String ylqxzcrbarmc; + private String ylqxzcrbarywmc; + private String cpms; + private Date updateTime; + private String supName; + private boolean isChecked; + + //添加字段 + private String model; //型号 + private String standard; //规格型号,二合一字段 + private String qtbm; //其他编码 + private String zczyxqz; //注册有效期截止时间 + private String remark; //备注 + private String remark1; //备注1 + private String remark2; //备注2 + private String remark3; //备注3 + private Integer checkStatus; + private String customerId; +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/auth/LoginRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/auth/LoginRequest.java index b837a35..b5a59e1 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/req/auth/LoginRequest.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/auth/LoginRequest.java @@ -18,4 +18,6 @@ public class LoginRequest { private Integer type; + private String imei; + } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/basic/UdiCompanyRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/basic/UdiCompanyRequest.java new file mode 100644 index 0000000..b7387f9 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/basic/UdiCompanyRequest.java @@ -0,0 +1,15 @@ +package com.glxp.sale.admin.req.basic; + +import com.glxp.sale.admin.req.ListPageRequest; +import lombok.Data; + +@Data +public class UdiCompanyRequest extends ListPageRequest { + + private String ylqxzcrbarmc; + private String tyshxydm; + private String provinceCode; + private String cityCode; + private String areaCode; + +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/receipt/ProductInfoFilterRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/receipt/ProductInfoFilterRequest.java index 27d6ff0..f437db9 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/req/receipt/ProductInfoFilterRequest.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/receipt/ProductInfoFilterRequest.java @@ -6,10 +6,18 @@ import lombok.Data; @Data public class ProductInfoFilterRequest extends ListPageRequest { - private String unit; - private String coName; private String nameCode; - private int addType; private String thirdProductNo; private String deviceRecordKey; + private String uuid; + private String cpmctymc; + private String ylqxzcrbarmc; + private String ggxh; + private String tyshxydm; + private String authCode; + private boolean isShowHis; + private String diType; + private Integer isNewest; + private String zczbhhzbapzbh; + private String updateTime; } 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 3c5943c..cd42d02 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 @@ -19,4 +19,6 @@ public class FilterThrProductsRequest extends ListPageRequest { private String unionCode; private String supName; private List codes; + private Integer checkStatus; + private String customerId; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/res/inout/ProductInfoResponse.java b/api-admin/src/main/java/com/glxp/sale/admin/res/inout/ProductInfoResponse.java index 32a888d..09402b4 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/res/inout/ProductInfoResponse.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/res/inout/ProductInfoResponse.java @@ -1,42 +1,15 @@ package com.glxp.sale.admin.res.inout; +import com.glxp.sale.admin.entity.receipt.ProductInfoEntity; import lombok.Data; +import java.util.List; + @Data public class ProductInfoResponse { - private Integer id; - private String type; - private String unit; - private String coName; - private String form; - private String formSpec; - private String packSpec; - private String authCode; - private String name; - private String nameCode; - private String packRatio; - private String packLevel; - private Integer bhxjsl; - private Integer bhzxxsbzsl; - private Integer zxxsbzbhsydysl; - private String bhxjcpbm; - private String bzcj; - private String thirdProductNo; - private String addType; - private String deviceRecordKey; - private int isUseDy; - private String thirdProductName; - - private String qxlb; - private String tyshxydm; - private String cpmctymc; - private String ybbm; - private String cphhhbh; - private String ggxh; - private String spmc; - private String ylqxzcrbarmc; - + ProductInfoEntity productInfoEntity; + List packages; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/info/DeviceKeyService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/auth/DeviceKeyService.java similarity index 80% rename from api-admin/src/main/java/com/glxp/sale/admin/service/info/DeviceKeyService.java rename to api-admin/src/main/java/com/glxp/sale/admin/service/auth/DeviceKeyService.java index 062e928..df7a19c 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/info/DeviceKeyService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/auth/DeviceKeyService.java @@ -1,14 +1,18 @@ -package com.glxp.sale.admin.service.info; +package com.glxp.sale.admin.service.auth; import com.glxp.sale.admin.entity.info.DeviceKeyEntity; -import com.glxp.sale.admin.req.info.DeleteRequest; import com.glxp.sale.admin.req.info.FilterDeviceKeyRequest; +import com.glxp.sale.admin.req.inout.DeleteRequest; import java.util.List; public interface DeviceKeyService { List findDeviceKey(FilterDeviceKeyRequest filterDeviceKeyRequest); + DeviceKeyEntity findDeviceByImei(FilterDeviceKeyRequest filterDeviceKeyRequest); + + DeviceKeyEntity findDeviceByImei(String imei); + void insertDeviceKey(DeviceKeyEntity deviceKeyEntity); void updateDeviceKeyByImei(DeviceKeyEntity deviceKeyEntity); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/info/impl/DeviceKeyServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/auth/impl/DeviceKeyServiceImpl.java similarity index 74% rename from api-admin/src/main/java/com/glxp/sale/admin/service/info/impl/DeviceKeyServiceImpl.java rename to api-admin/src/main/java/com/glxp/sale/admin/service/auth/impl/DeviceKeyServiceImpl.java index c8b7fe8..d1a523f 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/info/impl/DeviceKeyServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/auth/impl/DeviceKeyServiceImpl.java @@ -1,11 +1,11 @@ -package com.glxp.sale.admin.service.info.impl; +package com.glxp.sale.admin.service.auth.impl; import com.github.pagehelper.PageHelper; -import com.glxp.sale.admin.dao.info.DeviceKeyDao; +import com.glxp.sale.admin.dao.auth.DeviceKeyDao; import com.glxp.sale.admin.entity.info.DeviceKeyEntity; -import com.glxp.sale.admin.req.info.DeleteRequest; import com.glxp.sale.admin.req.info.FilterDeviceKeyRequest; -import com.glxp.sale.admin.service.info.DeviceKeyService; +import com.glxp.sale.admin.req.inout.DeleteRequest; +import com.glxp.sale.admin.service.auth.DeviceKeyService; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -33,6 +33,14 @@ public class DeviceKeyServiceImpl implements DeviceKeyService { return deviceKeyDao.findDeviceByImei(filterDeviceKeyRequest); } + @Override + public DeviceKeyEntity findDeviceByImei(String imei) { + FilterDeviceKeyRequest filterDeviceKeyRequest = new FilterDeviceKeyRequest(); + filterDeviceKeyRequest.setImei(imei); + DeviceKeyEntity deviceKeyEntity = deviceKeyDao.findDeviceByImei(filterDeviceKeyRequest); + return deviceKeyEntity; + } + @Override public void insertDeviceKey(DeviceKeyEntity deviceKeyEntity) { deviceKeyDao.insertDeviceKey(deviceKeyEntity); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/basic/UdiCompanyService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/basic/UdiCompanyService.java new file mode 100644 index 0000000..aa517f1 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/basic/UdiCompanyService.java @@ -0,0 +1,28 @@ +package com.glxp.sale.admin.service.basic; + + +import com.glxp.sale.admin.entity.basic.UdiCompanyEntity; +import com.glxp.sale.admin.entity.udid.Contactlist; +import com.glxp.sale.admin.req.basic.UdiCompanyRequest; + +import java.util.List; + +public interface UdiCompanyService { + + List selectAllTyshxyh(); + + List selectContactBykey(String deviceRecordKey); + + List filterUdiCompany(UdiCompanyRequest udiCompanyRequest); + + boolean insertUdiCompany(UdiCompanyEntity udiCompanyEntity); + + boolean insertUdiCompanys(List udiCompanyEntities); + + boolean deleteById(String id); + + boolean deleteAll(List ids); + + boolean updateUdiCompany(UdiCompanyEntity udiCompanyEntity); + +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/basic/impl/UdiCompanyServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/basic/impl/UdiCompanyServiceImpl.java new file mode 100644 index 0000000..09f6c77 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/basic/impl/UdiCompanyServiceImpl.java @@ -0,0 +1,63 @@ +package com.glxp.sale.admin.service.basic.impl; + +import com.github.pagehelper.PageHelper; +import com.glxp.sale.admin.dao.basic.UdiCompanyDao; +import com.glxp.sale.admin.entity.basic.UdiCompanyEntity; +import com.glxp.sale.admin.entity.udid.Contactlist; +import com.glxp.sale.admin.req.basic.UdiCompanyRequest; +import com.glxp.sale.admin.service.basic.UdiCompanyService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +@Service +public class UdiCompanyServiceImpl implements UdiCompanyService { + + @Resource + UdiCompanyDao udiCompanyDao; + + @Override + public List selectAllTyshxyh() { + return udiCompanyDao.selectAllTyshxyh(); + } + + @Override + public List selectContactBykey(String deviceRecordKey) { + return udiCompanyDao.selectContactBykey(deviceRecordKey); + } + + @Override + public List filterUdiCompany(UdiCompanyRequest udiCompanyRequest) { + if (udiCompanyRequest.getPage() != null && udiCompanyRequest.getLimit() != null) { + int offset = (udiCompanyRequest.getPage() - 1) * udiCompanyRequest.getLimit(); + PageHelper.offsetPage(offset, udiCompanyRequest.getLimit()); + } + return udiCompanyDao.filterUdiCompany(udiCompanyRequest); + } + + @Override + public boolean insertUdiCompany(UdiCompanyEntity udiCompanyEntity) { + return udiCompanyDao.insertUdiCompany(udiCompanyEntity); + } + + @Override + public boolean insertUdiCompanys(List udiCompanyEntities) { + return udiCompanyDao.insertUdiCompanys(udiCompanyEntities); + } + + @Override + public boolean deleteById(String id) { + return udiCompanyDao.deleteById(id); + } + + @Override + public boolean deleteAll(List ids) { + return udiCompanyDao.deleteAll(ids); + } + + @Override + public boolean updateUdiCompany(UdiCompanyEntity udiCompanyEntity) { + return udiCompanyDao.updateUdiCompany(udiCompanyEntity); + } +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/receipt/ProductInfoService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/receipt/ProductInfoService.java index 1a09b84..b4ebc9e 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/receipt/ProductInfoService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/receipt/ProductInfoService.java @@ -1,41 +1,49 @@ package com.glxp.sale.admin.service.receipt; -import com.glxp.sale.admin.entity.inout.ErpDetailCodeEntity; -import com.glxp.sale.admin.entity.inout.OrderDetailEntity; + import com.glxp.sale.admin.entity.receipt.ProductInfoEntity; import com.glxp.sale.admin.req.receipt.ProductInfoFilterRequest; -import com.glxp.sale.admin.res.inout.ProductInfoResponse; import java.util.List; public interface ProductInfoService { - List filterList(ProductInfoFilterRequest productInfoFilterRequest); - List filterDrugList(ProductInfoFilterRequest productInfoFilterRequest); + //赋码用 + //获取产品名称通用名称 + List filterCpmctymc(ProductInfoFilterRequest productInfoFilterRequest); - List filterDrugListByUuid(ProductInfoFilterRequest productInfoFilterRequest); + List filterProductInfo(ProductInfoFilterRequest productInfoFilterRequest); - List filterUdiList(ProductInfoFilterRequest productInfoFilterRequest); + List filterUdiByTyshxydm(ProductInfoFilterRequest productInfoFilterRequest); - boolean insertProductInfo(ProductInfoEntity productInfoEntity); + List filterUdiByCreditNo(ProductInfoFilterRequest productInfoFilterRequest); - boolean updateProductInfo(ProductInfoEntity productInfoEntity); - boolean updateUseDy(ProductInfoEntity productInfoEntity); - boolean deleteById(String id); + List filterUdiByNewest(ProductInfoFilterRequest productInfoFilterRequest); - boolean deleteAll(List ids); + List findAllByUuid(ProductInfoFilterRequest productInfoFilterRequest); + + List filterUdi(ProductInfoFilterRequest productInfoFilterRequest); - ProductInfoEntity selectById(String id); + List selectByUuid(String uuid); - List findByCodes(List codes); + List syncDlUdi(ProductInfoFilterRequest productInfoFilterRequest); - List findNameCodeByGid(String goodsId); + List findAll(ProductInfoFilterRequest productInfoFilterRequest); - boolean isExit(String nameCode); + List selectByUpdateTime(String startDate, String endDate);//按更新时间查询 + + boolean insertProductInfo(ProductInfoEntity productInfoEntity); - ErpDetailCodeEntity getDetailCode(String code); + boolean insertProductInfos(List productInfoEntities); + + boolean updateProductByUuid(ProductInfoEntity productInfoEntity); + + boolean deleteById(String id); + + boolean deleteAll(List ids); + + boolean updateProductInfo(ProductInfoEntity productInfoEntity); - ErpDetailCodeEntity getDetailCodeNoBh(String code); } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/receipt/impl/ProductInfoServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/receipt/impl/ProductInfoServiceImpl.java index be18c2c..05eab7e 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/receipt/impl/ProductInfoServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/receipt/impl/ProductInfoServiceImpl.java @@ -2,11 +2,8 @@ package com.glxp.sale.admin.service.receipt.impl; import com.github.pagehelper.PageHelper; import com.glxp.sale.admin.dao.basic.ProductInfoDao; -import com.glxp.sale.admin.entity.inout.ErpDetailCodeEntity; -import com.glxp.sale.admin.entity.inout.OrderDetailEntity; import com.glxp.sale.admin.entity.receipt.ProductInfoEntity; import com.glxp.sale.admin.req.receipt.ProductInfoFilterRequest; -import com.glxp.sale.admin.res.inout.ProductInfoResponse; import com.glxp.sale.admin.service.receipt.ProductInfoService; import org.springframework.stereotype.Service; @@ -21,112 +18,136 @@ public class ProductInfoServiceImpl implements ProductInfoService { ProductInfoDao productInfoDao; @Override - public List filterList(ProductInfoFilterRequest productInfoFilterRequest) { + public List filterCpmctymc(ProductInfoFilterRequest productInfoFilterRequest) { + if (productInfoFilterRequest == null) { + return Collections.emptyList(); + } + int offset = (productInfoFilterRequest.getPage() - 1) * productInfoFilterRequest.getLimit(); + PageHelper.offsetPage(offset, productInfoFilterRequest.getLimit()); + List data = productInfoDao.filterCpmctymc(productInfoFilterRequest); + return data; + } + @Override + public List filterProductInfo(ProductInfoFilterRequest productInfoFilterRequest) { if (productInfoFilterRequest == null) { return Collections.emptyList(); } - if(productInfoFilterRequest.getPage()!=null){ + if (productInfoFilterRequest.getPage() != null && !productInfoFilterRequest.getPage().equals("")) { int offset = (productInfoFilterRequest.getPage() - 1) * productInfoFilterRequest.getLimit(); PageHelper.offsetPage(offset, productInfoFilterRequest.getLimit()); } - List data = productInfoDao.filterList(productInfoFilterRequest); - + List data = productInfoDao.filterProductInfo(productInfoFilterRequest); return data; } @Override - public List filterDrugList(ProductInfoFilterRequest productInfoFilterRequest) { - if (productInfoFilterRequest == null) { - return Collections.emptyList(); + public List filterUdiByTyshxydm(ProductInfoFilterRequest productInfoFilterRequest) { + + if (productInfoFilterRequest.getPage() != null && !productInfoFilterRequest.getPage().equals("")) { + int offset = (productInfoFilterRequest.getPage() - 1) * productInfoFilterRequest.getLimit(); + PageHelper.offsetPage(offset, productInfoFilterRequest.getLimit()); } - int offset = (productInfoFilterRequest.getPage() - 1) * productInfoFilterRequest.getLimit(); - PageHelper.offsetPage(offset, productInfoFilterRequest.getLimit()); - List data = productInfoDao.filterDrugList(productInfoFilterRequest); - return data; + return productInfoDao.filterUdiByTyshxydm(productInfoFilterRequest); + } @Override - public List filterDrugListByUuid(ProductInfoFilterRequest productInfoFilterRequest) { - if (productInfoFilterRequest == null) { - return Collections.emptyList(); + public List filterUdiByCreditNo(ProductInfoFilterRequest productInfoFilterRequest) { + if (productInfoFilterRequest.getPage() != null && !productInfoFilterRequest.getPage().equals("")) { + int offset = (productInfoFilterRequest.getPage() - 1) * productInfoFilterRequest.getLimit(); + PageHelper.offsetPage(offset, productInfoFilterRequest.getLimit()); } - int offset = (productInfoFilterRequest.getPage() - 1) * productInfoFilterRequest.getLimit(); - PageHelper.offsetPage(offset, productInfoFilterRequest.getLimit()); - List data = productInfoDao.filterDrugListByUuid(productInfoFilterRequest); - return data; + return productInfoDao.filterUdiByCreditNo(productInfoFilterRequest); } - @Override - public List filterUdiList(ProductInfoFilterRequest productInfoFilterRequest) { - if (productInfoFilterRequest == null) { - return Collections.emptyList(); + public List filterUdiByNewest(ProductInfoFilterRequest productInfoFilterRequest) { + if (productInfoFilterRequest.getPage() != null && !productInfoFilterRequest.getPage().equals("")) { + int offset = (productInfoFilterRequest.getPage() - 1) * productInfoFilterRequest.getLimit(); + PageHelper.offsetPage(offset, productInfoFilterRequest.getLimit()); } - int offset = (productInfoFilterRequest.getPage() - 1) * productInfoFilterRequest.getLimit(); - PageHelper.offsetPage(offset, productInfoFilterRequest.getLimit()); - List data = productInfoDao.filterUdiList(productInfoFilterRequest); - return data; + return productInfoDao.filterUdiByNewest(productInfoFilterRequest); } - @Override - public boolean insertProductInfo(ProductInfoEntity productInfoEntity) { - return productInfoDao.insertProductInfo(productInfoEntity); + public List findAllByUuid(ProductInfoFilterRequest productInfoFilterRequest) { + if (productInfoFilterRequest.getPage() != null && !productInfoFilterRequest.getPage().equals("")) { + int offset = (productInfoFilterRequest.getPage() - 1) * productInfoFilterRequest.getLimit(); + PageHelper.offsetPage(offset, productInfoFilterRequest.getLimit()); + } + List uuids = productInfoDao.filterUuidByCreditNo(productInfoFilterRequest); + if (uuids != null && uuids.size() > 0) + return productInfoDao.selectAllByUuid(uuids); + else + return null; } @Override - public boolean updateProductInfo(ProductInfoEntity productInfoEntity) { - return productInfoDao.updateProductInfo(productInfoEntity); + public List filterUdi(ProductInfoFilterRequest productInfoFilterRequest) { + if (productInfoFilterRequest == null) { + return Collections.emptyList(); + } + if (productInfoFilterRequest.getPage() != null) { + int offset = (productInfoFilterRequest.getPage() - 1) * productInfoFilterRequest.getLimit(); + PageHelper.offsetPage(offset, productInfoFilterRequest.getLimit()); + } + + List data = productInfoDao.filterUdi(productInfoFilterRequest); + return data; } @Override - public boolean updateUseDy(ProductInfoEntity productInfoEntity) { - return productInfoDao.updateUseDy(productInfoEntity); + public List selectByUuid(String uuid) { + List data = productInfoDao.selectByUuid(uuid); + return data; } @Override - public boolean deleteById(String id) { - return productInfoDao.deleteById(id); + public List syncDlUdi(ProductInfoFilterRequest productInfoFilterRequest) { + int offset = (productInfoFilterRequest.getPage() - 1) * productInfoFilterRequest.getLimit() + 1; + productInfoFilterRequest.setPage(offset); + return productInfoDao.syncDlUdi(productInfoFilterRequest); } @Override - public boolean deleteAll(List ids) { - return productInfoDao.deleteAll(ids); + public List findAll(ProductInfoFilterRequest productInfoFilterRequest) { + List data = productInfoDao.filterProductInfo(productInfoFilterRequest); + return data; } - @Override - public ProductInfoEntity selectById(String id) { - return productInfoDao.selectById(id); + public List selectByUpdateTime(String startDate, String endDate) { + return productInfoDao.selectByUpdateTime(startDate, endDate); } + @Override + public boolean insertProductInfo(ProductInfoEntity productInfoEntity) { + return productInfoDao.insertProductInfo(productInfoEntity); + } @Override - public List findByCodes(List codes) { - return productInfoDao.findByCodes(codes); + public boolean insertProductInfos(List productInfoEntities) { + return productInfoDao.insertProductInfos(productInfoEntities); } @Override - public List findNameCodeByGid(String goodsId) { - return productInfoDao.findNameCodeByGid(goodsId); + public boolean updateProductByUuid(ProductInfoEntity productInfoEntity) { + return productInfoDao.updateProductByUuid(productInfoEntity); } @Override - public boolean isExit(String nameCode) { - String name = productInfoDao.isExit(nameCode); - if (name == null) { - return false; - } else return true; + public boolean updateProductInfo(ProductInfoEntity productInfoEntity) { + return productInfoDao.updateProductInfo(productInfoEntity); } @Override - public ErpDetailCodeEntity getDetailCode(String code) { - return productInfoDao.getDetailCode(code); + public boolean deleteById(String id) { + return productInfoDao.deleteById(id); } @Override - public ErpDetailCodeEntity getDetailCodeNoBh(String code) { - return productInfoDao.getDetailCodeNoBh(code); + public boolean deleteAll(List ids) { + return productInfoDao.deleteAll(ids); } -} +} \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/ThrProductsAddService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/ThrProductsAddService.java new file mode 100644 index 0000000..e6097fe --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/ThrProductsAddService.java @@ -0,0 +1,26 @@ +package com.glxp.sale.admin.service.thrsys; + +import com.glxp.sale.admin.entity.thrsys.ThrProductsAddEntity; +import com.glxp.sale.admin.entity.thrsys.ThrProductsEntity; +import com.glxp.sale.admin.req.thrsys.FilterThrProductsRequest; + +import java.util.List; + +public interface ThrProductsAddService { + + List filterThrProductsRequest(FilterThrProductsRequest filterThrProductsRequest); + + List selectThrProducts(FilterThrProductsRequest filterThrProductsRequest); + + ThrProductsAddEntity selectById(String id); + + boolean insertThrProducts(ThrProductsAddEntity thrProductsEntity); + + boolean insertThrProductss(List thrProductsEntities); + + boolean updateThrProducts(ThrProductsAddEntity thrProductsEntity); + + boolean deleteById(String id); + + boolean deleteAll(); +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/impl/ThrProductsAddServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/impl/ThrProductsAddServiceImpl.java new file mode 100644 index 0000000..b99de31 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/impl/ThrProductsAddServiceImpl.java @@ -0,0 +1,76 @@ +package com.glxp.sale.admin.service.thrsys.impl; + +import com.github.pagehelper.PageHelper; +import com.glxp.sale.admin.dao.thrsys.ThrProductsAddDao; +import com.glxp.sale.admin.entity.thrsys.ThrProductsAddEntity; +import com.glxp.sale.admin.req.thrsys.FilterThrProductsRequest; +import com.glxp.sale.admin.service.thrsys.ThrProductsAddService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + +@Service +public class ThrProductsAddServiceImpl implements ThrProductsAddService { + + @Resource + ThrProductsAddDao thrProductsAddDao; + + + @Override + public List filterThrProductsRequest(FilterThrProductsRequest filterThrProductsRequest) { + if (filterThrProductsRequest == null) { + return Collections.emptyList(); + } + if (filterThrProductsRequest.getPage() != null) { + int offset = (filterThrProductsRequest.getPage() - 1) * filterThrProductsRequest.getLimit(); + PageHelper.offsetPage(offset, filterThrProductsRequest.getLimit()); + } + List data = thrProductsAddDao.filterThrProductsRequest(filterThrProductsRequest); + return data; + } + + @Override + public List selectThrProducts(FilterThrProductsRequest filterThrProductsRequest) { + if (filterThrProductsRequest == null) { + return Collections.emptyList(); + } + if (filterThrProductsRequest.getPage() != null) { + int offset = (filterThrProductsRequest.getPage() - 1) * filterThrProductsRequest.getLimit(); + PageHelper.offsetPage(offset, filterThrProductsRequest.getLimit()); + } + List data = thrProductsAddDao.selectThrProducts(filterThrProductsRequest); + return data; + } + + @Override + public ThrProductsAddEntity selectById(String id) { + return thrProductsAddDao.selectById(id); + } + + @Override + public boolean insertThrProducts(ThrProductsAddEntity thrProductsEntity) { + return thrProductsAddDao.insertThrProducts(thrProductsEntity); + } + + @Override + public boolean insertThrProductss(List thrProductsEntities) { + return thrProductsAddDao.insertThrProductss(thrProductsEntities); + } + + @Override + public boolean updateThrProducts(ThrProductsAddEntity thrProductsEntity) { + return thrProductsAddDao.updateThrProducts(thrProductsEntity); + } + + @Override + public boolean deleteById(String id) { + return thrProductsAddDao.deleteById(id); + } + + @Override + public boolean deleteAll() { + return thrProductsAddDao.deleteAll(); + } +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/thread/AsyncCompanyDlHelper.java b/api-admin/src/main/java/com/glxp/sale/admin/thread/AsyncCompanyDlHelper.java new file mode 100644 index 0000000..8c59b1d --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/thread/AsyncCompanyDlHelper.java @@ -0,0 +1,51 @@ +package com.glxp.sale.admin.thread; + +import com.glxp.sale.admin.dao.basic.ProductInfoDao; +import com.glxp.sale.admin.entity.basic.UdiCompanyEntity; +import com.glxp.sale.admin.service.basic.UdiCompanyService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +@Service +public class AsyncCompanyDlHelper { + @Resource + UdiCompanyService udiCompanyService; + @Resource + ProductInfoDao productInfoDao; + + @Value("${UDI_SERVER_URL}") + private String udiUrl; + + private static final Logger logger = LoggerFactory.getLogger(AsyncCompanyDlHelper.class); + + + @Async + public void asyncDiByTime(String updateTime) { + AsyncDiDlHelper asyncDiDlHelper = new AsyncDiDlHelper(); + int page = 1; + int limit = 300; + while (true) { + logger.info("更新时间:" + updateTime + "----" + page + "----" + limit); + List udiCompanyEntities = asyncDiDlHelper.dlCompanyByTime(udiUrl, page, limit, updateTime); + if (udiCompanyEntities != null && udiCompanyEntities.size() > 0) { + udiCompanyService.insertUdiCompanys(udiCompanyEntities); + if (udiCompanyEntities.size() < limit) { + break; + } else { + page++; + } + } else { + break; + } + } + logger.info("更新时间:" + updateTime + "----" + "下载结束"); + } + + +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/thread/AsyncCompanyDlTask.java b/api-admin/src/main/java/com/glxp/sale/admin/thread/AsyncCompanyDlTask.java new file mode 100644 index 0000000..6644374 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/thread/AsyncCompanyDlTask.java @@ -0,0 +1,57 @@ +package com.glxp.sale.admin.thread; + +import com.glxp.sale.admin.dao.info.ScheduledDao; +import com.glxp.sale.admin.entity.info.ScheduledEntity; +import com.glxp.sale.admin.req.udid.ScheduledRequest; +import com.glxp.sale.admin.util.DateUtil; +import com.glxp.sale.admin.util.RedisUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.scheduling.annotation.EnableScheduling; +import org.springframework.scheduling.annotation.SchedulingConfigurer; +import org.springframework.scheduling.config.ScheduledTaskRegistrar; +import org.springframework.scheduling.support.CronTrigger; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.util.Date; + +@Component +@EnableScheduling +public class AsyncCompanyDlTask implements SchedulingConfigurer { + + final Logger logger = LoggerFactory.getLogger(AsyncDiDlTask.class); + @Resource + AsyncCompanyDlHelper udiCompanyTask; + @Resource + RedisUtil redisUtil; + + @Resource + private ScheduledDao scheduledDao; + + @Override + public void configureTasks(ScheduledTaskRegistrar scheduledTaskRegistrar) { + scheduledTaskRegistrar.addTriggerTask(() -> process(), + triggerContext -> { + ScheduledRequest scheduledRequest = new ScheduledRequest(); + scheduledRequest.setCronName("syncCompany"); + ScheduledEntity scheduledEntity = scheduledDao.findScheduled(scheduledRequest); + String cron = scheduledEntity.getCron();//"0 55 5 * * ?"; + if (cron.isEmpty()) { + logger.error("cron is null"); + } + return new CronTrigger(cron).nextExecutionTime(triggerContext); + }); + } + + private void process() { + + String lastUpDiTime = (String) redisUtil.get("lastUpCompanyTime"); + if (lastUpDiTime == null) { + lastUpDiTime = DateUtil.getLastDayFormat(-10); + } + udiCompanyTask.asyncDiByTime(lastUpDiTime); + redisUtil.set("lastUpCompanyTime", DateUtil.formatDate(new Date())); + } + +} \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/sale/admin/thread/AsyncDiDlHelper.java b/api-admin/src/main/java/com/glxp/sale/admin/thread/AsyncDiDlHelper.java new file mode 100644 index 0000000..16e8c44 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/thread/AsyncDiDlHelper.java @@ -0,0 +1,48 @@ +package com.glxp.sale.admin.thread; + +import com.alibaba.fastjson.JSONObject; +import com.glxp.sale.admin.entity.basic.UdiCompanyEntity; +import com.glxp.sale.admin.entity.receipt.ProductInfoEntity; +import com.glxp.sale.admin.util.HttpClient; +import com.glxp.sale.common.res.BaseResponse; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class AsyncDiDlHelper { + + public List dlByTime(String udiUrl, int page, int limit, String updateTime) { + Map paramMap = new HashMap<>(16); + paramMap.put("page", page); + paramMap.put("limit", limit); + paramMap.put("updateTime", updateTime); + String response = HttpClient.mipsGet(udiUrl + "/udidl/udiwms/syncUdi", paramMap); + try { + BaseResponse> udiDlDeviceResponse = (BaseResponse>) JSONObject.parseObject(response, BaseResponse.class); + List udiInfoEntities = udiDlDeviceResponse.getData(); + return udiInfoEntities; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + + public List dlCompanyByTime(String udiUrl, int page, int limit, String updateTime) { + Map paramMap = new HashMap<>(16); + paramMap.put("page", page); + paramMap.put("limit", limit); + paramMap.put("updateTime", updateTime); + String response = HttpClient.mipsGet(udiUrl + "/udidl/udiwms/syncCompany", paramMap); + try { + BaseResponse> baseResponse = (BaseResponse>) JSONObject.parseObject(response, BaseResponse.class); + List udiCompanyEntities = baseResponse.getData(); + return udiCompanyEntities; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/thread/AsyncDiDlService.java b/api-admin/src/main/java/com/glxp/sale/admin/thread/AsyncDiDlService.java new file mode 100644 index 0000000..ee61f0d --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/thread/AsyncDiDlService.java @@ -0,0 +1,74 @@ +package com.glxp.sale.admin.thread; + +import com.alibaba.fastjson.JSONArray; +import com.glxp.sale.admin.entity.basic.UdiInfoImportLogEntity; +import com.glxp.sale.admin.entity.receipt.ProductInfoEntity; +import com.glxp.sale.admin.entity.thrsys.ThrImportLogEntity; +import com.glxp.sale.admin.service.basic.UdiInfoImportLogService; +import com.glxp.sale.admin.service.receipt.ProductInfoService; +import com.glxp.sale.admin.service.thrsys.ThrImportLogService; +import com.glxp.sale.admin.util.CustomUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +@Service +public class AsyncDiDlService { + + + @Value("${UDI_SERVER_URL}") + private String udiUrl; + + @Resource + ProductInfoService productInfoService; + @Resource + ThrImportLogService udiInfoImportLogService; + private static final Logger logger = LoggerFactory.getLogger(AsyncDiDlService.class); + + @Async + public void asyncDiByTime(String updateTime) { + AsyncDiDlHelper asyncDiDlHelper = new AsyncDiDlHelper(); + int page = 1; + int limit = 200; + while (true) { + logger.info("更新时间:" + updateTime + "----" + page + "----" + limit); + List productInfoEntityList = asyncDiDlHelper.dlByTime(udiUrl, page, limit, updateTime); + if (productInfoEntityList != null && productInfoEntityList.size() > 0) { + productInfoService.insertProductInfos(productInfoEntityList); + if (productInfoEntityList.size() < limit) { + break; + } else { + page++; + } + } else { + break; + } + } + logger.info("更新时间:" + updateTime + "----" + "下载结束"); + } + + @Async + public void importJsonData(String genKey, String laststr) { + ThrImportLogEntity udiInfoImportLogEntity = udiInfoImportLogService.selectByGenKey(genKey); + udiInfoImportLogEntity.setStatus(1); + udiInfoImportLogEntity.setFromType("2"); + udiInfoImportLogService.updateImportLog(udiInfoImportLogEntity); + List productInfoEntities = JSONArray.parseArray(laststr, ProductInfoEntity.class); + List> splitList = CustomUtil.splitList(productInfoEntities, 500); + for (List data : splitList) { + productInfoService.insertProductInfos(data); + } + udiInfoImportLogEntity.setStatus(3);//处理成功 + udiInfoImportLogService.updateImportLog(udiInfoImportLogEntity); + + } + + + + +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/thread/AsyncDiDlTask.java b/api-admin/src/main/java/com/glxp/sale/admin/thread/AsyncDiDlTask.java new file mode 100644 index 0000000..e830ba7 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/thread/AsyncDiDlTask.java @@ -0,0 +1,60 @@ +package com.glxp.sale.admin.thread; + +import com.glxp.sale.admin.dao.info.ScheduledDao; +import com.glxp.sale.admin.entity.info.ScheduledEntity; +import com.glxp.sale.admin.req.udid.ScheduledRequest; +import com.glxp.sale.admin.util.DateUtil; +import com.glxp.sale.admin.util.RedisUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.scheduling.annotation.EnableScheduling; +import org.springframework.scheduling.annotation.SchedulingConfigurer; +import org.springframework.scheduling.config.ScheduledTaskRegistrar; +import org.springframework.scheduling.support.CronTrigger; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.util.Date; + +@Component +@EnableScheduling +public class AsyncDiDlTask implements SchedulingConfigurer { + + final Logger logger = LoggerFactory.getLogger(AsyncDiDlTask.class); + @Resource + RedisUtil redisUtil; + @Resource + private ScheduledDao scheduledDao; + @Resource + AsyncDiDlService asyncDiDlService; + + @Override + public void configureTasks(ScheduledTaskRegistrar scheduledTaskRegistrar) { + scheduledTaskRegistrar.addTriggerTask(() -> process(), + triggerContext -> { + ScheduledRequest scheduledRequest = new ScheduledRequest(); + scheduledRequest.setCronName("syncDi"); + ScheduledEntity scheduledEntity = scheduledDao.findScheduled(scheduledRequest); + String cron = scheduledEntity.getCron();//"0 55 5 * * ?"; + if (cron.isEmpty()) { + logger.error("cron is null"); + } + return new CronTrigger(cron).nextExecutionTime(triggerContext); + }); + } + + private void process() { + String day = DateUtil.getLastDayFormat(-1); + asyncDiDlService.asyncDiByTime(day); + + + String lastUpDiTime = (String) redisUtil.get("lastDiUpTime"); + if (lastUpDiTime == null) { + lastUpDiTime = DateUtil.getLastDayFormat(-10); + } + asyncDiDlService.asyncDiByTime(lastUpDiTime); + redisUtil.set("lastDiUpTime", DateUtil.formatDate(new Date())); + } + + +} 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 a369e59..3bf449d 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 @@ -531,4 +531,13 @@ public class DateUtil extends org.apache.commons.lang3.time.DateUtils { } return null; } + public static String getLastDayFormat(int amount) { + SimpleDateFormat smdate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Calendar calendar = new GregorianCalendar(); + calendar.setTime(new Date()); + calendar.add(calendar.DATE, amount); + String formatDate = smdate.format(calendar.getTime()); + return formatDate; + } + } \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/info/DeviceKeyDao.xml b/api-admin/src/main/resources/mybatis/mapper/auth/DeviceKeyDao.xml similarity index 81% rename from api-admin/src/main/resources/mybatis/mapper/info/DeviceKeyDao.xml rename to api-admin/src/main/resources/mybatis/mapper/auth/DeviceKeyDao.xml index 7f3bfac..ead51f1 100644 --- a/api-admin/src/main/resources/mybatis/mapper/info/DeviceKeyDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/auth/DeviceKeyDao.xml @@ -1,7 +1,7 @@ - + + SELECT * FROM productinfo + + + AND ylqxzcrbarmc LIKE concat(#{ylqxzcrbarmc},'%') + + + AND cpmctymc LIKE concat(#{cpmctymc},'%') + + + AND nameCode LIKE concat(#{nameCode},'%') + + + AND uuid = #{uuid} + + + AND deviceRecordKey = #{deviceRecordKey} + + + AND ggxh LIKE concat(#{ggxh},'%') + + + AND tyshxydm = #{tyshxydm} + + + = DATE_FORMAT(#{updateTime}, '%Y-%m-%d %H:%i:%S') ]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + REPLACE + INTO productinfo + ( + id,nameCode,packRatio,packLevel,bhxjsl, + bhzxxsbzsl,zxxsbzbhsydysl,bhxjcpbm,bzcj,thirdProductNo,addType,deviceRecordKey,isUseDy,thirdProductName, + cpmctymc,cplb,flbm,ggxh,qxlb,tyshxydm,ylqxzcrbarmc,zczbhhzbapzbh,ylqxzcrbarywmc,uuid,sjcpbm,versionNumber + ,diType,scbssfbhph,scbssfbhxlh,scbssfbhscrq,scbssfbhsxrq, + ybbm,spmc,cphhhbh,cpms,cpbsbmtxmc,isNewest,updateTime + ) + values + ( + #{id}, + #{nameCode}, + #{packRatio}, + #{packLevel}, + #{bhxjsl}, + #{bhzxxsbzsl}, + #{zxxsbzbhsydysl}, + #{bhxjcpbm}, + #{bzcj}, + #{thirdProductNo}, + #{addType}, + #{deviceRecordKey}, + #{isUseDy}, + #{thirdProductName}, + #{cpmctymc}, + #{cplb}, + #{flbm}, + #{ggxh}, + #{qxlb}, + #{tyshxydm}, + #{ylqxzcrbarmc}, + #{zczbhhzbapzbh}, + #{ylqxzcrbarywmc}, + #{uuid}, + #{sjcpbm}, + #{versionNumber}, + #{diType}, + #{scbssfbhph}, + #{scbssfbhxlh}, + #{scbssfbhscrq}, + #{scbssfbhsxrq}, + #{ybbm}, + #{spmc}, + #{cphhhbh}, + #{cpms}, + #{cpbsbmtxmc}, + #{isNewest}, + #{updateTime} + ) + + + + + REPLACE INTO productinfo + ( + id,nameCode,packRatio,packLevel,bhxjsl, + bhzxxsbzsl,zxxsbzbhsydysl,bhxjcpbm,bzcj,thirdProductNo,addType,deviceRecordKey,isUseDy,thirdProductName, + cpmctymc,cplb,flbm,ggxh,qxlb,tyshxydm,ylqxzcrbarmc,zczbhhzbapzbh,ylqxzcrbarywmc,uuid,sjcpbm,versionNumber + ,diType,scbssfbhph,scbssfbhxlh,scbssfbhscrq,scbssfbhsxrq, + ybbm,spmc,cphhhbh,cpms,cpbsbmtxmc,isNewest,updateTime + ) values + + + + + ( + #{item.id}, + #{item.nameCode}, + #{item.packRatio}, + #{item.packLevel}, + #{item.bhxjsl}, + #{item.bhzxxsbzsl}, + #{item.zxxsbzbhsydysl}, + #{item.bhxjcpbm}, + #{item.bzcj}, + #{item.thirdProductNo}, + #{item.addType}, + #{item.deviceRecordKey}, + #{item.isUseDy}, + #{item.thirdProductName}, + #{item.cpmctymc}, + #{item.cplb}, + #{item.flbm}, + #{item.ggxh}, + #{item.qxlb}, + #{item.tyshxydm}, + #{item.ylqxzcrbarmc}, + #{item.zczbhhzbapzbh}, + #{item.ylqxzcrbarywmc}, + #{item.uuid}, + #{item.sjcpbm}, + #{item.versionNumber}, + #{item.diType}, + #{item.scbssfbhph}, + #{item.scbssfbhxlh}, + #{item.scbssfbhscrq}, + #{item.scbssfbhsxrq}, + #{item.ybbm}, + #{item.spmc}, + #{item.cphhhbh}, + #{item.cpms}, + #{item.cpbsbmtxmc}, + #{item.isNewest}, + #{item.updateTime} + ) + + + + + DELETE + FROM productinfo + WHERE thirdProductNo = #{id} + + + + DELETE FROM productinfo WHERE thirdProductNo in + + #{item} + + + + + UPDATE productinfo + + nameCode=#{nameCode}, + packRatio=#{packRatio}, + packLevel=#{packLevel}, + bhxjsl=#{bhxjsl}, + bhzxxsbzsl=#{bhzxxsbzsl}, + zxxsbzbhsydysl=#{zxxsbzbhsydysl}, + bhxjcpbm=#{bhxjcpbm}, + bzcj=#{bzcj}, + thirdProductNo=#{thirdProductNo}, + addType=#{addType}, + deviceRecordKey=#{deviceRecordKey}, + isUseDy=#{isUseDy}, + thirdProductName=#{thirdProductName}, + cpmctymc=#{cpmctymc}, + cplb=#{cplb}, + flbm=#{flbm}, + ggxh=#{ggxh}, + qxlb=#{qxlb}, + tyshxydm=#{tyshxydm}, + ylqxzcrbarmc=#{ylqxzcrbarmc}, + ylqxzcrbarywmc=#{ylqxzcrbarywmc}, + uuid=#{uuid}, + sjcpbm=#{sjcpbm}, + versionNumber=#{versionNumber}, + diType=#{diType}, + isNewest=#{isNewest}, + updateTime=#{updateTime}, + + + WHERE id = #{id} + + + + UPDATE productinfo + + scbssfbhph=#{scbssfbhph}, + scbssfbhxlh=#{scbssfbhxlh}, + scbssfbhscrq=#{scbssfbhscrq}, + scbssfbhsxrq=#{scbssfbhsxrq}, + ybbm=#{ybbm}, + spmc=#{spmc}, + cphhhbh=#{cphhhbh}, + cpms=#{cpms}, + cpbsbmtxmc=#{cpbsbmtxmc}, + isNewest=#{isNewest}, + updateTime=#{updateTime}, + + WHERE uuid = #{uuid} + + + + + + + diff --git a/api-admin/src/main/resources/mybatis/mapper/basic/UdiCompanyDao.xml b/api-admin/src/main/resources/mybatis/mapper/basic/UdiCompanyDao.xml new file mode 100644 index 0000000..f80bd46 --- /dev/null +++ b/api-admin/src/main/resources/mybatis/mapper/basic/UdiCompanyDao.xml @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + REPLACE + INTO udicompany + ( + id,tyshxydm,ylqxzcrbarmc,ylqxzcrbarywmc,qylxrdh, + qylxrcz,qylxryx + ) + values + ( + #{id}, + #{tyshxydm}, + #{ylqxzcrbarmc}, + #{ylqxzcrbarywmc}, + #{qylxrdh}, + #{qylxrcz}, + #{qylxryx} + ) + + + + replace INTO udicompany(id, + tyshxydm,ylqxzcrbarmc,ylqxzcrbarywmc,qylxrdh, + qylxrcz,qylxryx) + values + + + ( + #{item.id}, + #{item.tyshxydm}, + #{item.ylqxzcrbarmc}, + #{item.ylqxzcrbarywmc}, + #{item.qylxrdh}, + #{item.qylxrcz}, + #{item.qylxryx}) + + + + + DELETE + FROM udicompany + WHERE id = #{id} + + + + DELETE FROM udicompany WHERE id in + + #{item} + + + + + UPDATE udicompany + + tyshxydm=#{tyshxydm}, + ylqxzcrbarmc=#{ylqxzcrbarmc}, + ylqxzcrbarywmc=#{ylqxzcrbarywmc}, + qylxrdh=#{qylxrdh}, + qylxrcz=#{qylxrcz}, + qylxryx=#{qylxryx}, + + WHERE id = #{id} + + diff --git a/api-admin/src/main/resources/mybatis/mapper/thrsys/ThrProductsAddDao.xml b/api-admin/src/main/resources/mybatis/mapper/thrsys/ThrProductsAddDao.xml new file mode 100644 index 0000000..d62ff91 --- /dev/null +++ b/api-admin/src/main/resources/mybatis/mapper/thrsys/ThrProductsAddDao.xml @@ -0,0 +1,194 @@ + + + + + + + + + + + + + + + + + + replace + INTO thr_products_add + ( + code,name,measname,spec,registerNo,manufactory, + cplb,flbm,qxlb,ybbm,sptm,tyshxydm,zczbhhzbapzbh,ylqxzcrbarmc,ylqxzcrbarywmc,cpms, + thirdSysFk,updateTime,supName,checkStatus,customerId + ) + values + ( + #{code}, + #{name}, + #{measname}, + #{spec}, + #{registerNo}, + #{manufactory}, + #{cplb}, + #{flbm}, + #{qxlb}, + #{ybbm}, + #{sptm}, + #{tyshxydm}, + #{zczbhhzbapzbh}, + #{ylqxzcrbarmc}, + #{ylqxzcrbarywmc}, + #{cpms}, + #{thirdSysFk}, + #{updateTime}, + #{supName}, + #{checkStatus}, + #{customerId} + ) + + + + replace INTO thr_products_add + ( + code,name,measname,spec,registerNo,manufactory, + cplb,flbm,qxlb,ybbm,sptm,tyshxydm,zczbhhzbapzbh,ylqxzcrbarmc,ylqxzcrbarywmc,cpms, + thirdSysFk,updateTime,supName,checkStatus,customerId + ) + values + + + ( + #{item.code}, + #{item.name}, + #{item.measname}, + #{item.spec}, + #{item.registerNo}, + #{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.supName}, #{tem.checkStatus}, #{tem.customerId} + ) + + + + + DELETE + FROM thr_products_add + WHERE id = #{id} + + + + UPDATE thr_products_add + + code=#{code}, + name=#{name}, + measname=#{measname}, + spec=#{spec}, + registerNo=#{registerNo}, + cplb=#{cplb}, + flbm=#{flbm}, + qxlb=#{qxlb}, + ybbm=#{ybbm}, + sptm=#{sptm}, + tyshxydm=#{tyshxydm}, + zczbhhzbapzbh=#{zczbhhzbapzbh}, + ylqxzcrbarmc=#{ylqxzcrbarmc}, + ylqxzcrbarywmc=#{ylqxzcrbarywmc}, + manufactory=#{manufactory}, + cpms=#{cpms}, + thirdSysFk=#{thirdSysFk}, + updateTime=#{updateTime}, + supName=#{supName}, + checkStatus=#{checkStatus}, + customerId=#{customerId}, + + WHERE id = #{id} + + + + DELETE + FROM thr_products_add + + + \ No newline at end of file