diff --git a/src/main/java/com/glxp/api/constant/Constant.java b/src/main/java/com/glxp/api/constant/Constant.java index 14195e46d..e22166a49 100644 --- a/src/main/java/com/glxp/api/constant/Constant.java +++ b/src/main/java/com/glxp/api/constant/Constant.java @@ -285,5 +285,5 @@ public class Constant { public static final String ORDER_ACTION_SUP_INOUT = "supInout"; public static final String ORDER_ACTION_SUP_PREIN = "preInOrder"; - + public static final String SYNC_REMARK = "syncRemark"; } diff --git a/src/main/java/com/glxp/api/controller/auth/InvWarehouseController.java b/src/main/java/com/glxp/api/controller/auth/InvWarehouseController.java index dad64d2ad..0e109b79d 100644 --- a/src/main/java/com/glxp/api/controller/auth/InvWarehouseController.java +++ b/src/main/java/com/glxp/api/controller/auth/InvWarehouseController.java @@ -24,6 +24,8 @@ import com.glxp.api.res.basic.BasicBussinessTypeResponse; import com.glxp.api.service.auth.*; import com.glxp.api.service.basic.IBasicBussinessTypeService; import com.glxp.api.service.system.SystemParamConfigService; +import com.glxp.api.util.BeanCopyUtils; +import org.springframework.beans.BeanUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -33,6 +35,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import javax.validation.Valid; import java.util.*; +import java.util.stream.Collectors; @RestController public class InvWarehouseController extends BaseController { @@ -118,6 +121,38 @@ public class InvWarehouseController extends BaseController { return ResultVOUtils.success(list); } + + /** + * 前端查询自己关联仓库包含预验收,寄售库 + * + * @return + */ + @GetMapping("spms/inv/warehouse/findAllInvByUser") + public BaseResponse findAllInvByUser(FilterInvWarehouseRequest filterInvWarehouseRequest) { + Long userId = getUserId(); + List list = new ArrayList<>(); + if (null == userId) { + return ResultVOUtils.error(ResultEnum.LOGIN_VERIFY_FALL); + } + if (filterInvWarehouseRequest.getAdvanceType() == 2 || filterInvWarehouseRequest.getAdvanceType() == 3) { + FilterInvSubWarehouseRequest filterInvSubWarehouseRequest = new FilterInvSubWarehouseRequest(); + BeanUtils.copyProperties(filterInvWarehouseRequest, filterInvSubWarehouseRequest); + list = invWarehouseService.filterInvSubWarehouse(filterInvSubWarehouseRequest); + } else { + FilterInvSubWarehouseRequest filterInvSubWarehouseRequest = new FilterInvSubWarehouseRequest(); + filterInvSubWarehouseRequest.setFilterAdvanceType(1); + List preInList = invWarehouseService.filterInvSubWarehouse(filterInvSubWarehouseRequest); + filterInvWarehouseRequest.setUserId(userId); + List myList = invWarehouseService.findInvListByUser(filterInvWarehouseRequest); + List resultList = myList.stream().filter(invWarehouseEntity -> + preInList.stream().anyMatch(preIn -> !preIn.getCode().equals(invWarehouseEntity.getCode())) + ).collect(Collectors.toList()); + resultList.addAll(preInList); + return ResultVOUtils.success(list); + } + return ResultVOUtils.success(list); + } + /** * 获取往来仓库(除了自己) * @@ -267,13 +302,16 @@ public class InvWarehouseController extends BaseController { if (invWarehouseEntity.getId() == null) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); } + InvWarehouseEntity originEntity = invWarehouseService.findByInvSubByCode(invWarehouseEntity.getCode()); - Integer userCount = warehouseUserService.countUserBySubInvCode(invWarehouseEntity.getCode()); - if (userCount > 0) { - return ResultVOUtils.error(500, "修改失败,请先移除该仓库关联用户!"); + if (!originEntity.getParentId().equals(invWarehouseEntity.getParentId()) || (originEntity.getParentCode() != null && !originEntity.getParentCode().equals(invWarehouseEntity.getParentCode()))) { + Integer userCount = warehouseUserService.countUserBySubInvCode(invWarehouseEntity.getCode()); + if (userCount > 0) { + return ResultVOUtils.error(500, "修改部门或上级仓库时,请先移除该仓库关联用户!"); + } } // 先判断是否有相同名字的仓库 - boolean checkResult = invWarehouseService.checkDuplicateName(invWarehouseEntity.getParentId(), invWarehouseEntity.getName()); + boolean checkResult = invWarehouseService.updateCheckExit(invWarehouseEntity); if (checkResult) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "仓库名称重复!"); } diff --git a/src/main/java/com/glxp/api/controller/auth/SysUserController.java b/src/main/java/com/glxp/api/controller/auth/SysUserController.java index 53d6a7afa..948ff66a0 100644 --- a/src/main/java/com/glxp/api/controller/auth/SysUserController.java +++ b/src/main/java/com/glxp/api/controller/auth/SysUserController.java @@ -71,24 +71,24 @@ public class SysUserController extends BaseController { AuthAdminResponse authAdminResponse = new AuthAdminResponse(); BeanUtils.copyProperties(item, authAdminResponse); List roles = sysRoleService.selectRoleListByUserId(authAdminResponse.getId()); - List deptUserResponses = null; - if ("key".equals(filterAuthUserRequest.getKey())) { - deptUserResponses = deptUserService.selectByUserIdKey(authAdminResponse.getId()); - } else { + List deptUserResponses=null; + if("key".equals(filterAuthUserRequest.getKey())){ + deptUserResponses = deptUserService.selectByUserIdKey(authAdminResponse.getId()); + }else{ deptUserResponses = deptUserService.selectByUserId(authAdminResponse.getId()); } if (CollUtil.isNotEmpty(deptUserResponses)) { List depts = new ArrayList<>(); String deptName = ""; for (DeptUserResponse deptUserResponse : deptUserResponses) { - if (deptUserResponse.getDeptId() != 1) { + if(deptUserResponse.getDeptId()!=1){ depts.add(deptUserResponse.getDeptId()); deptName = deptName + "," + deptUserResponse.getDeptName(); } } - if (deptName.length() != 0) { + if(deptName.length()!=0){ authAdminResponse.setDeptName(deptName.substring(1)); - } else { + }else{ authAdminResponse.setDeptName(deptName); } authAdminResponse.setDepts(depts); @@ -190,9 +190,9 @@ public class SysUserController extends BaseController { } //默认插入第一部门 - List deptCodeList = authUserSaveRequest.getDepts(); - if (deptCodeList == null) { - deptCodeList = new ArrayList<>(); + List deptCodeList=authUserSaveRequest.getDepts(); + if(deptCodeList == null){ + deptCodeList=new ArrayList<>(); } deptCodeList.add(1L); authUserSaveRequest.setDepts(deptCodeList); @@ -261,7 +261,7 @@ public class SysUserController extends BaseController { return ResultVOUtils.error(ResultEnum.NOT_NETWORK); } // 修改角色 - // userService.insertUserAuth(authAdmin.getId(), authUserSaveRequest.getRoles()); + // userService.insertUserAuth(authAdmin.getId(), authUserSaveRequest.getRoles()); userService.updateAuthAdmin(authAdmin); @@ -270,9 +270,12 @@ public class SysUserController extends BaseController { FilterDeptUserReqeust filterDeptUserReqeust = new FilterDeptUserReqeust(); filterDeptUserReqeust.setUserId(authUserSaveRequest.getId()); List deptUserEntities = deptUserService.selectDeptUser(filterDeptUserReqeust); - if (deptUserEntities == null) { + if(deptUserEntities == null){ deptCodeList.add(1L); - authUserSaveRequest.setDepts(deptCodeList); + if (CollUtil.isEmpty(authUserSaveRequest.getDepts())) + authUserSaveRequest.setDepts(deptCodeList); + else + authUserSaveRequest.getDepts().addAll(deptCodeList); } else { Boolean checkDeptId = false; for (DeptUserEntity deptUserEntity : deptUserEntities) { @@ -284,7 +287,10 @@ public class SysUserController extends BaseController { } if (checkDeptId == false) { deptCodeList.add(1L); - authUserSaveRequest.setDepts(deptCodeList); + if (CollUtil.isEmpty(authUserSaveRequest.getDepts())) + authUserSaveRequest.setDepts(deptCodeList); + else + authUserSaveRequest.getDepts().addAll(deptCodeList); } } diff --git a/src/main/java/com/glxp/api/controller/basic/BasicBusTypeChangeController.java b/src/main/java/com/glxp/api/controller/basic/BasicBusTypeChangeController.java index 942b217fd..af9e37f55 100644 --- a/src/main/java/com/glxp/api/controller/basic/BasicBusTypeChangeController.java +++ b/src/main/java/com/glxp/api/controller/basic/BasicBusTypeChangeController.java @@ -66,7 +66,7 @@ public class BasicBusTypeChangeController { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } - boolean result = basicBusTypeChangeService.verifyExists(basicBusTypeChangeEntity); + boolean result = basicBusTypeChangeService.insertVerifyExists(basicBusTypeChangeEntity); if (result) { return ResultVOUtils.error(ResultEnum.DATA_REPEAT, "重复添加"); } diff --git a/src/main/java/com/glxp/api/controller/inout/ioCodeRelController.java b/src/main/java/com/glxp/api/controller/inout/ioCodeRelController.java index 2bf1ba6c5..fedc25c2e 100644 --- a/src/main/java/com/glxp/api/controller/inout/ioCodeRelController.java +++ b/src/main/java/com/glxp/api/controller/inout/ioCodeRelController.java @@ -57,6 +57,9 @@ public class ioCodeRelController { if (StrUtil.isNotEmpty(code)) { UdiEntity udiEntity = FilterUdiUtils.getGS1Udi(code); + if (udiEntity == null) { + return ResultVOUtils.error(500, "UDI码格式错误!"); + } UdiProductEntity udiProductEntity = udiProductService.findByNameCode(udiEntity.getUdi()); if (udiProductEntity.getPackLevel() != null) { if (Integer.valueOf(udiProductEntity.getPackLevel()) > 1) { diff --git a/src/main/java/com/glxp/api/controller/inv/InvPlaceController.java b/src/main/java/com/glxp/api/controller/inv/InvPlaceController.java index 2b7ed0884..d801f9bb6 100644 --- a/src/main/java/com/glxp/api/controller/inv/InvPlaceController.java +++ b/src/main/java/com/glxp/api/controller/inv/InvPlaceController.java @@ -1,5 +1,6 @@ package com.glxp.api.controller.inv; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageInfo; import com.glxp.api.common.enums.ResultEnum; @@ -51,8 +52,22 @@ public class InvPlaceController { if (null == bindInvSpaceRequest) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); } - invPlaceService.bindInvSpace(bindInvSpaceRequest); - return ResultVOUtils.success("绑定成功"); + return invPlaceService.bindInvSpace(bindInvSpaceRequest); + } + + + /** + * 更换货位接口 + * + * @param bindInvSpaceRequest + * @return + */ + @PostMapping("/spms/inv/product/changeInvSpace") + public BaseResponse changeInvSpace(@RequestBody @Valid BindInvSpaceRequest bindInvSpaceRequest) { + if (null == bindInvSpaceRequest) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + return invPlaceService.bindInvSpace(bindInvSpaceRequest); } /** @@ -78,6 +93,8 @@ public class InvPlaceController { @GetMapping("/spms/inv/product/getInvProductInfo") private BaseResponse getInvProductInfo(FilterInvPlaceRequest filterInvPlaceRequest) { List list = invPlaceService.getInvProductInfo(filterInvPlaceRequest); + if (CollUtil.isEmpty(list)) + return ResultVOUtils.error(500, "库存未找到产品信息!"); return ResultVOUtils.success(list); } diff --git a/src/main/java/com/glxp/api/controller/inv/InvProductController.java b/src/main/java/com/glxp/api/controller/inv/InvProductController.java index fed41b1d1..336b6ac5b 100644 --- a/src/main/java/com/glxp/api/controller/inv/InvProductController.java +++ b/src/main/java/com/glxp/api/controller/inv/InvProductController.java @@ -74,8 +74,14 @@ public class InvProductController extends BaseController { filterInvProductRequest.setInvCodes(invCodes); } } + List list; + if (StrUtil.isNotEmpty(filterInvProductRequest.getInvSpaceCode())) { + list = invProductService.findGroupBySpace(filterInvProductRequest); + } else { + list = invProductService.filterListProduct(filterInvProductRequest); + } + - List list = invProductService.filterListProduct(filterInvProductRequest); PageInfo pageInfo = new PageInfo<>(list); InvProductPageResponse pageResponse = new InvProductPageResponse(); pageResponse.setList(pageInfo.getList()); diff --git a/src/main/java/com/glxp/api/controller/sync/SpsSyncExportStatusController.java b/src/main/java/com/glxp/api/controller/sync/SpsSyncExportStatusController.java index 4202e677b..e4a420bef 100644 --- a/src/main/java/com/glxp/api/controller/sync/SpsSyncExportStatusController.java +++ b/src/main/java/com/glxp/api/controller/sync/SpsSyncExportStatusController.java @@ -6,6 +6,7 @@ import com.github.pagehelper.PageInfo; import com.glxp.api.annotation.AuthRuleAnnotation; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.entity.sync.BasicDownloadStatusEntity; import com.glxp.api.entity.sync.BasicExportStatusEntity; import com.glxp.api.entity.sync.BasicExportStatusTimeEntity; import com.glxp.api.http.sync.SpGetHttpClient; @@ -13,10 +14,13 @@ import com.glxp.api.req.sync.BasicExportStatusRequest; import com.glxp.api.req.sync.BasicExportTimeRequest; import com.glxp.api.req.system.DeleteRequest; import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.service.sync.BasicDownloadService; import com.glxp.api.service.sync.BasicExportService; import com.glxp.api.service.sync.BasicExportTimeService; +import com.glxp.api.util.BeanCopyUtils; import com.glxp.api.util.RedisUtil; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -41,6 +45,8 @@ public class SpsSyncExportStatusController { @Resource BasicExportService basicExportService; @Resource + BasicDownloadService basicDownloadService; + @Resource BasicExportTimeService basicExportTimeService; @Resource RedisUtil redisUtil; @@ -125,7 +131,14 @@ public class SpsSyncExportStatusController { if (StrUtil.isBlank(deleteRequest.getId())) { throw new RuntimeException("缺少唯一标识"); } - BasicExportStatusEntity info = basicExportService.getById(deleteRequest.getId()); + BasicExportStatusEntity info = new BasicExportStatusEntity(); + if (deleteRequest.getDlType() != null && deleteRequest.getDlType() == 1) { + info = basicExportService.getById(deleteRequest.getId()); + } else { + BasicDownloadStatusEntity basicDownloadStatusEntity = basicDownloadService.getById(deleteRequest.getId()); + BeanUtils.copyProperties(basicDownloadStatusEntity, info); + } + if (info == null) { throw new RuntimeException("数据不存在"); } diff --git a/src/main/java/com/glxp/api/dao/inv/InvPreInProductDetailDao.java b/src/main/java/com/glxp/api/dao/inv/InvPreInProductDetailDao.java index 9f75c43f3..042a9fecd 100644 --- a/src/main/java/com/glxp/api/dao/inv/InvPreInProductDetailDao.java +++ b/src/main/java/com/glxp/api/dao/inv/InvPreInProductDetailDao.java @@ -2,9 +2,15 @@ package com.glxp.api.dao.inv; import com.glxp.api.dao.BaseMapperPlus; import com.glxp.api.entity.inv.InvPreInProductDetailEntity; +import com.glxp.api.req.inv.FilterInvPlaceRequest; import com.glxp.api.req.inv.FilterInvPreProductDetailRequest; +import com.glxp.api.req.inv.FilterInvPreinProductRequest; import com.glxp.api.req.inv.FilterInvProductDetailRequest; +import com.glxp.api.res.inout.IoOrderResponse; +import com.glxp.api.res.inv.InvPlaceDetailResponse; +import com.glxp.api.res.inv.InvPreinProductResponse; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -22,6 +28,8 @@ public interface InvPreInProductDetailDao extends BaseMapperPlus filterPreProductDetailList(FilterInvPreProductDetailRequest filterInvPreProductDetailRequest); + List findGroupBySpace(FilterInvPreinProductRequest filterInvPreinProductRequest); + /** * 删除寄预验收库存详情 * @@ -29,4 +37,11 @@ public interface InvPreInProductDetailDao extends BaseMapperPlus getInvProductInfo(FilterInvPlaceRequest filterInvPlaceRequest); + + void batchBindSpace(@Param("ids") List ids, @Param("invSpaceCode") String invSpaceCode); + + List getInvPlaceOrderList(FilterInvPlaceRequest filterInvPlaceRequest); + } diff --git a/src/main/java/com/glxp/api/dao/inv/InvPreProductDao.java b/src/main/java/com/glxp/api/dao/inv/InvPreProductDao.java index 4893331a6..d97268869 100644 --- a/src/main/java/com/glxp/api/dao/inv/InvPreProductDao.java +++ b/src/main/java/com/glxp/api/dao/inv/InvPreProductDao.java @@ -2,8 +2,11 @@ package com.glxp.api.dao.inv; import com.glxp.api.dao.BaseMapperPlus; import com.glxp.api.entity.inv.InvPreProductEntity; +import com.glxp.api.req.inv.FilterInvPlaceRequest; import com.glxp.api.req.inv.FilterInvPreProductRequest; +import com.glxp.api.res.inv.InvPlaceDetailResponse; import com.glxp.api.res.inv.InvPreProductResponse; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -20,6 +23,8 @@ public interface InvPreProductDao extends BaseMapperPlus filterList(FilterInvPreProductRequest invPreProductRequest); + + /** * 查询寄售库存实体列表 * @@ -28,4 +33,5 @@ public interface InvPreProductDao extends BaseMapperPlus filterPreProductList(FilterInvPreProductRequest invPreProductRequest); -} \ No newline at end of file + +} diff --git a/src/main/java/com/glxp/api/dao/inv/InvPreProductDetailDao.java b/src/main/java/com/glxp/api/dao/inv/InvPreProductDetailDao.java index 500a45af9..3821caa7c 100644 --- a/src/main/java/com/glxp/api/dao/inv/InvPreProductDetailDao.java +++ b/src/main/java/com/glxp/api/dao/inv/InvPreProductDetailDao.java @@ -2,8 +2,14 @@ package com.glxp.api.dao.inv; import com.glxp.api.dao.BaseMapperPlus; import com.glxp.api.entity.inv.InvPreProductDetailEntity; +import com.glxp.api.req.inv.FilterInvPlaceRequest; import com.glxp.api.req.inv.FilterInvPreProductDetailRequest; +import com.glxp.api.req.inv.FilterInvPreinProductRequest; import com.glxp.api.req.inv.FilterInvProductDetailRequest; +import com.glxp.api.res.inout.IoOrderResponse; +import com.glxp.api.res.inv.InvPlaceDetailResponse; +import com.glxp.api.res.inv.InvPreinProductResponse; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -12,6 +18,9 @@ import java.util.List; */ public interface InvPreProductDetailDao extends BaseMapperPlus { + + List findGroupBySpace(FilterInvPreinProductRequest filterInvPreinProductRequest); + /** * 查询库存详情实体列表 * @@ -27,4 +36,11 @@ public interface InvPreProductDetailDao extends BaseMapperPlus getInvProductInfo(FilterInvPlaceRequest filterInvPlaceRequest); + + + void batchBindSpace(@Param("ids") List ids, @Param("invSpaceCode") String invSpaceCode); + + List getInvPlaceOrderList(FilterInvPlaceRequest filterInvPlaceRequest); +} diff --git a/src/main/java/com/glxp/api/dao/inv/InvPreinProductDao.java b/src/main/java/com/glxp/api/dao/inv/InvPreinProductDao.java index 9063aa7cf..785a06c56 100644 --- a/src/main/java/com/glxp/api/dao/inv/InvPreinProductDao.java +++ b/src/main/java/com/glxp/api/dao/inv/InvPreinProductDao.java @@ -5,6 +5,7 @@ import com.glxp.api.entity.inv.InvPreinProductEntity; import com.glxp.api.req.inv.FilterInvPreinProductRequest; import com.glxp.api.res.inv.InvPreinProductResponse; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -22,6 +23,8 @@ public interface InvPreinProductDao extends BaseMapperPlus filterList(FilterInvPreinProductRequest invPreProductRequest); + void batchBindSpace(@Param("ids") List ids, @Param("invSpaceCode") String invSpaceCode); + /** * 查询寄售库存实体列表 * diff --git a/src/main/java/com/glxp/api/dao/inv/InvProductDetailDao.java b/src/main/java/com/glxp/api/dao/inv/InvProductDetailDao.java index 7035fca6d..56ed96199 100644 --- a/src/main/java/com/glxp/api/dao/inv/InvProductDetailDao.java +++ b/src/main/java/com/glxp/api/dao/inv/InvProductDetailDao.java @@ -3,10 +3,14 @@ package com.glxp.api.dao.inv; import com.glxp.api.dao.BaseMapperPlus; import com.glxp.api.entity.inv.InvProductDetailEntity; import com.glxp.api.req.inv.FilterInvPlaceRequest; +import com.glxp.api.req.inv.FilterInvPreinProductRequest; import com.glxp.api.req.inv.FilterInvProductDetailRequest; +import com.glxp.api.req.inv.FilterInvProductRequest; import com.glxp.api.res.inout.IoOrderResponse; import com.glxp.api.res.inv.BindInvSpaceRequest; import com.glxp.api.res.inv.InvPlaceDetailResponse; +import com.glxp.api.res.inv.InvPreinProductResponse; +import com.glxp.api.res.inv.InvProductResponse; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -23,6 +27,9 @@ public interface InvProductDetailDao extends BaseMapperPlus filterInvProductDetailList(FilterInvProductDetailRequest filterInvProductDetailRequest); + + List findGroupBySpace(FilterInvProductRequest filterInvProductRequest); + /** * 删除库存详情 * diff --git a/src/main/java/com/glxp/api/entity/sync/BasicExportStatusEntity.java b/src/main/java/com/glxp/api/entity/sync/BasicExportStatusEntity.java index 5c633ac01..8bab4ea74 100644 --- a/src/main/java/com/glxp/api/entity/sync/BasicExportStatusEntity.java +++ b/src/main/java/com/glxp/api/entity/sync/BasicExportStatusEntity.java @@ -34,7 +34,7 @@ public class BasicExportStatusEntity { private Date endTime; private String remark; @TableField(value = "receiveStatus") - private Integer receiveStatus; + private String receiveStatus; @TableField(value = "cacheFilePath") private String cacheFilePath; diff --git a/src/main/java/com/glxp/api/entity/system/SyncDataBustypeEntity.java b/src/main/java/com/glxp/api/entity/system/SyncDataBustypeEntity.java index d93d1384b..5da370044 100644 --- a/src/main/java/com/glxp/api/entity/system/SyncDataBustypeEntity.java +++ b/src/main/java/com/glxp/api/entity/system/SyncDataBustypeEntity.java @@ -13,7 +13,7 @@ import lombok.Data; @TableName(value = "sync_data_bustypes") public class SyncDataBustypeEntity { @TableId(value = "id", type = IdType.AUTO) - private Integer id; + private Long id; @TableField(value = "`action`") private String action; @TableField(value = "`name`") diff --git a/src/main/java/com/glxp/api/http/sync/SpGetHttpClient.java b/src/main/java/com/glxp/api/http/sync/SpGetHttpClient.java index 070e99c07..bb7994724 100644 --- a/src/main/java/com/glxp/api/http/sync/SpGetHttpClient.java +++ b/src/main/java/com/glxp/api/http/sync/SpGetHttpClient.java @@ -214,10 +214,10 @@ public class SpGetHttpClient { } - public BaseResponse> getBasicStatus(String type) { + public BaseResponse> getBasicStatus(String type,String status) { Map paramMap = new HashMap<>(16); paramMap.put("type", type); - paramMap.put("status", "1"); + paramMap.put("status", status); String response = okHttpCli.doGet(getIpUrl() + "/spssync/basic/udiinfo/getStatus", paramMap, buildHeader()); try { BaseResponse> data = diff --git a/src/main/java/com/glxp/api/req/auth/FilterInvSubWarehouseRequest.java b/src/main/java/com/glxp/api/req/auth/FilterInvSubWarehouseRequest.java index 85c6ecc76..19ae792ac 100644 --- a/src/main/java/com/glxp/api/req/auth/FilterInvSubWarehouseRequest.java +++ b/src/main/java/com/glxp/api/req/auth/FilterInvSubWarehouseRequest.java @@ -20,4 +20,5 @@ public class FilterInvSubWarehouseRequest extends ListPageRequest { public String thirdId4; private String key; + private Integer filterAdvanceType; } diff --git a/src/main/java/com/glxp/api/req/auth/FilterInvWarehouseRequest.java b/src/main/java/com/glxp/api/req/auth/FilterInvWarehouseRequest.java index e030b08d6..59d24541b 100644 --- a/src/main/java/com/glxp/api/req/auth/FilterInvWarehouseRequest.java +++ b/src/main/java/com/glxp/api/req/auth/FilterInvWarehouseRequest.java @@ -14,6 +14,7 @@ public class FilterInvWarehouseRequest extends ListPageRequest { private String code; private String name; private String deptCode; + // 1:入账库,2:预验收库,3:寄售库 private Integer advanceType; private Boolean isDefault; private Date updateTime; diff --git a/src/main/java/com/glxp/api/req/inv/FilterInvPreinProductRequest.java b/src/main/java/com/glxp/api/req/inv/FilterInvPreinProductRequest.java index 99109c4de..6def0ab36 100644 --- a/src/main/java/com/glxp/api/req/inv/FilterInvPreinProductRequest.java +++ b/src/main/java/com/glxp/api/req/inv/FilterInvPreinProductRequest.java @@ -88,6 +88,11 @@ public class FilterInvPreinProductRequest extends ListPageRequest { */ private String invCode; + + // 货位编码 + private String spaceCode; + + /** * 仓库数组 */ diff --git a/src/main/java/com/glxp/api/req/system/DeleteRequest.java b/src/main/java/com/glxp/api/req/system/DeleteRequest.java index 005102efb..ddad45de9 100644 --- a/src/main/java/com/glxp/api/req/system/DeleteRequest.java +++ b/src/main/java/com/glxp/api/req/system/DeleteRequest.java @@ -11,4 +11,5 @@ public class DeleteRequest { List ids; String billNo; List billNos; + Integer dlType; //1:同步任务,2:下载记录 } diff --git a/src/main/java/com/glxp/api/res/inv/BindInvSpaceRequest.java b/src/main/java/com/glxp/api/res/inv/BindInvSpaceRequest.java index 6a9fbd4d7..77ce9bedb 100644 --- a/src/main/java/com/glxp/api/res/inv/BindInvSpaceRequest.java +++ b/src/main/java/com/glxp/api/res/inv/BindInvSpaceRequest.java @@ -50,4 +50,7 @@ public class BindInvSpaceRequest { */ private String orderId; + + private String changeSpaceCode; + } diff --git a/src/main/java/com/glxp/api/res/inv/InvPreProductDetailResponse.java b/src/main/java/com/glxp/api/res/inv/InvPreProductDetailResponse.java index 0e55b36e2..a1535ad1d 100644 --- a/src/main/java/com/glxp/api/res/inv/InvPreProductDetailResponse.java +++ b/src/main/java/com/glxp/api/res/inv/InvPreProductDetailResponse.java @@ -127,4 +127,6 @@ public class InvPreProductDetailResponse { */ private String orderTime; + private String invSpaceName; + } diff --git a/src/main/java/com/glxp/api/res/inv/InvProductDetailResponse.java b/src/main/java/com/glxp/api/res/inv/InvProductDetailResponse.java index 92d8e96c9..d2d5a1732 100644 --- a/src/main/java/com/glxp/api/res/inv/InvProductDetailResponse.java +++ b/src/main/java/com/glxp/api/res/inv/InvProductDetailResponse.java @@ -126,4 +126,7 @@ public class InvProductDetailResponse { * 单据日期 */ private String orderTime; + + + private String invSpaceName; } diff --git a/src/main/java/com/glxp/api/res/inv/InvProductResponse.java b/src/main/java/com/glxp/api/res/inv/InvProductResponse.java index 968c39f27..6ef64b4e4 100644 --- a/src/main/java/com/glxp/api/res/inv/InvProductResponse.java +++ b/src/main/java/com/glxp/api/res/inv/InvProductResponse.java @@ -95,6 +95,9 @@ public class InvProductResponse { */ private String invName; + // 货位名称 + private String spaceName; + /** * 部门编码 */ diff --git a/src/main/java/com/glxp/api/res/sync/BaseSyncResponse.java b/src/main/java/com/glxp/api/res/sync/BaseSyncResponse.java index b28aeec75..177dd98bb 100644 --- a/src/main/java/com/glxp/api/res/sync/BaseSyncResponse.java +++ b/src/main/java/com/glxp/api/res/sync/BaseSyncResponse.java @@ -13,4 +13,5 @@ public class BaseSyncResponse { private String updateTime; private String type; private String idDatas; + private String syncRemark; } diff --git a/src/main/java/com/glxp/api/res/system/SystemPDFTemplateRelevanceResponse.java b/src/main/java/com/glxp/api/res/system/SystemPDFTemplateRelevanceResponse.java index 484ecc917..dd89f248b 100644 --- a/src/main/java/com/glxp/api/res/system/SystemPDFTemplateRelevanceResponse.java +++ b/src/main/java/com/glxp/api/res/system/SystemPDFTemplateRelevanceResponse.java @@ -2,6 +2,8 @@ package com.glxp.api.res.system; import lombok.Data; +import java.util.Date; + @Data public class SystemPDFTemplateRelevanceResponse { @@ -22,5 +24,6 @@ public class SystemPDFTemplateRelevanceResponse { private String remark2; private String remark3; private int printType; + private Date updateTime; } diff --git a/src/main/java/com/glxp/api/service/auth/InvSpaceService.java b/src/main/java/com/glxp/api/service/auth/InvSpaceService.java index 2f2ba8bc4..1c62fcda1 100644 --- a/src/main/java/com/glxp/api/service/auth/InvSpaceService.java +++ b/src/main/java/com/glxp/api/service/auth/InvSpaceService.java @@ -18,6 +18,8 @@ public interface InvSpaceService extends IService { */ List filterList(FilterInvSpaceRequest filterInvSpaceRequest); + InvSpace findByCode(String invCode, String spaceCode); + /** * 添加货位 * diff --git a/src/main/java/com/glxp/api/service/auth/InvWarehouseService.java b/src/main/java/com/glxp/api/service/auth/InvWarehouseService.java index f57e0fb80..f56ac300b 100644 --- a/src/main/java/com/glxp/api/service/auth/InvWarehouseService.java +++ b/src/main/java/com/glxp/api/service/auth/InvWarehouseService.java @@ -13,7 +13,7 @@ import java.util.List; public interface InvWarehouseService extends IService { - InvWarehouseEntity getByWareId( String id); + InvWarehouseEntity getByWareId(String id); List getByWarePcode(@Param("parentCode") String parentCode); @@ -21,7 +21,6 @@ public interface InvWarehouseService extends IService { InvWarehouseEntity selectByThrCode(String code, String thirdSys); - List filterInvSubWarehouse(FilterInvSubWarehouseRequest filterInvSubWarehouseRequest); List filterGroupInvSub(FilterInvWarehouseRequest filterInvSubWarehouseRequest); @@ -42,6 +41,8 @@ public interface InvWarehouseService extends IService { public boolean checkDuplicateName(String parentId, String name); + boolean updateCheckExit(InvWarehouseEntity invWarehouseEntity); + /** * 根据分库编码,查询分库名称 * diff --git a/src/main/java/com/glxp/api/service/auth/impl/InvSpaceServiceImpl.java b/src/main/java/com/glxp/api/service/auth/impl/InvSpaceServiceImpl.java index 280f5e102..e8926ded0 100644 --- a/src/main/java/com/glxp/api/service/auth/impl/InvSpaceServiceImpl.java +++ b/src/main/java/com/glxp/api/service/auth/impl/InvSpaceServiceImpl.java @@ -3,6 +3,7 @@ package com.glxp.api.service.auth.impl; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.pagehelper.PageHelper; import com.glxp.api.common.enums.ResultEnum; @@ -45,6 +46,17 @@ public class InvSpaceServiceImpl extends ServiceImpl impl return invSpaceDao.filterList(filterInvSpaceRequest); } + @Override + public InvSpace findByCode(String invCode, String spaceCode) { + if (StrUtil.isEmpty(invCode) || StrUtil.isEmpty(spaceCode)) + return null; + List invSpaces = invSpaceDao.selectList(new QueryWrapper() + .eq("invWarehouseCode", invCode).eq("code", spaceCode).last("limit 1")); + if (CollUtil.isNotEmpty(invSpaces)) + return invSpaces.get(0); + return null; + } + @Override public BaseResponse addSpace(InvSpace invSpace) { BaseResponse verifyResult = verifySpaceParams(invSpace); @@ -57,7 +69,7 @@ public class InvSpaceServiceImpl extends ServiceImpl impl } //获取当前仓库下的最大货位编码 - String maxSpaceCode = invSpaceDao.getMaxSpaceCode(invSpace.getInvWarehouseCode()); + String maxSpaceCode = invSpaceDao.getMaxSpaceCode(null); if (StrUtil.isBlank(maxSpaceCode)) { maxSpaceCode = "0000"; } diff --git a/src/main/java/com/glxp/api/service/auth/impl/InvWarehouseServiceImpl.java b/src/main/java/com/glxp/api/service/auth/impl/InvWarehouseServiceImpl.java index 1f7d1b0c1..1003b58cd 100644 --- a/src/main/java/com/glxp/api/service/auth/impl/InvWarehouseServiceImpl.java +++ b/src/main/java/com/glxp/api/service/auth/impl/InvWarehouseServiceImpl.java @@ -149,6 +149,12 @@ public class InvWarehouseServiceImpl extends ServiceImpl().eq("parentId", invWarehouseEntity.getParentId()) + .eq("name", invWarehouseEntity.getName()).ne("id", invWarehouseEntity.getId())); + } + @Override public String getSubInvName(String subInvCode) { if (StrUtil.isBlank(subInvCode)) { diff --git a/src/main/java/com/glxp/api/service/basic/IBasicBusTypeChangeService.java b/src/main/java/com/glxp/api/service/basic/IBasicBusTypeChangeService.java index 887e373b4..99287ecbc 100644 --- a/src/main/java/com/glxp/api/service/basic/IBasicBusTypeChangeService.java +++ b/src/main/java/com/glxp/api/service/basic/IBasicBusTypeChangeService.java @@ -56,4 +56,8 @@ public interface IBasicBusTypeChangeService extends IService findByLastTime(Date lastUpdateTime); + + boolean insertVerifyExists(BasicBusTypeChangeEntity basicBusTypeChangeEntity); + + } diff --git a/src/main/java/com/glxp/api/service/basic/impl/BasicBusTypeChangeServiceImpl.java b/src/main/java/com/glxp/api/service/basic/impl/BasicBusTypeChangeServiceImpl.java index 72dfa7b1a..716fe8b10 100644 --- a/src/main/java/com/glxp/api/service/basic/impl/BasicBusTypeChangeServiceImpl.java +++ b/src/main/java/com/glxp/api/service/basic/impl/BasicBusTypeChangeServiceImpl.java @@ -22,7 +22,7 @@ import java.util.List; @Slf4j @Service @Transactional(rollbackFor = Exception.class) -public class BasicBusTypeChangeServiceImpl extends ServiceImpl implements IBasicBusTypeChangeService { +public class BasicBusTypeChangeServiceImpl extends ServiceImpl implements IBasicBusTypeChangeService { @Resource private CustomerService customerService; @@ -64,23 +64,21 @@ public class BasicBusTypeChangeServiceImpl extends ServiceImpl wrapper = new QueryWrapper<>(); + wrapper.eq("originAction", basicBusTypeChangeEntity.getOriginAction()) + .eq("targetAction", basicBusTypeChangeEntity.getTargetAction()) + .eq("originName", basicBusTypeChangeEntity.getOriginName()).ne("id", basicBusTypeChangeEntity.getId()); + return basicBusTypeChangeDao.exists(wrapper); + } + + + @Override + public boolean insertVerifyExists(BasicBusTypeChangeEntity basicBusTypeChangeEntity) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("originAction", basicBusTypeChangeEntity.getOriginAction()) .eq("targetAction", basicBusTypeChangeEntity.getTargetAction()) .eq("originName", basicBusTypeChangeEntity.getOriginName()); - List list = basicBusTypeChangeDao.selectList(wrapper); - if (CollUtil.isNotEmpty(list)) { - if (null != basicBusTypeChangeEntity.getId()) { - for (BasicBusTypeChangeEntity busTypeChangeEntity : list) { - if (busTypeChangeEntity.getId() != basicBusTypeChangeEntity.getId()) { - return true; - } - } - } else { - return true; - } - } - return false; + return basicBusTypeChangeDao.exists(wrapper); } @Override diff --git a/src/main/java/com/glxp/api/service/inout/IoChangeInoutService.java b/src/main/java/com/glxp/api/service/inout/IoChangeInoutService.java index f2814fc82..1a0fef4e1 100644 --- a/src/main/java/com/glxp/api/service/inout/IoChangeInoutService.java +++ b/src/main/java/com/glxp/api/service/inout/IoChangeInoutService.java @@ -197,15 +197,15 @@ public class IoChangeInoutService { outOrder.setFromCorp(corpName); outOrder.setFromInvCode(null); outOrder.setFromDeptCode(null); - } else if (bussinessChangeTypeEntity.getCreateType() == 3) { //寄售、预验收补单 - outOrder.setCustomerId(null); - outOrder.setFromCorp(null); + } else if (bussinessChangeTypeEntity.getCreateType() == 3) { //预验收转入库单模式 + outOrder.setCustomerId(corpName); + outOrder.setFromCorp(corpName); InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByInvSubByCode(Constant.INV_PRE_IN_CODE); outOrder.setFromInvCode(invWarehouseEntity.getCode()); outOrder.setFromDeptCode(invWarehouseEntity.getParentId()); - } else if (bussinessChangeTypeEntity.getCreateType() == 4) { - outOrder.setCustomerId(null); - outOrder.setFromCorp(null); + } else if (bussinessChangeTypeEntity.getCreateType() == 4) { //寄售转入库单模式 + outOrder.setCustomerId(corpName); + outOrder.setFromCorp(corpName); InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByInvSubByCode(Constant.INV_PRE_CODE); outOrder.setFromInvCode(invWarehouseEntity.getCode()); outOrder.setFromDeptCode(invWarehouseEntity.getParentId()); diff --git a/src/main/java/com/glxp/api/service/inv/InvPlaceService.java b/src/main/java/com/glxp/api/service/inv/InvPlaceService.java index 69d922cba..e7009dcf7 100644 --- a/src/main/java/com/glxp/api/service/inv/InvPlaceService.java +++ b/src/main/java/com/glxp/api/service/inv/InvPlaceService.java @@ -1,6 +1,7 @@ package com.glxp.api.service.inv; import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.entity.auth.InvSpace; import com.glxp.api.req.inv.FilterInvPlaceRequest; import com.glxp.api.res.inout.IoOrderResponse; import com.glxp.api.res.inv.BindInvSpaceRequest; @@ -26,7 +27,16 @@ public interface InvPlaceService { * * @param bindInvSpaceRequest */ - void bindInvSpace(BindInvSpaceRequest bindInvSpaceRequest); + BaseResponse bindInvSpace(BindInvSpaceRequest bindInvSpaceRequest); + + + /** + * 更换货位 + * + * @param bindInvSpaceRequest + */ + BaseResponse changeInvSpace(BindInvSpaceRequest bindInvSpaceRequest); + /** * 校验库存详情绑定货位信息 diff --git a/src/main/java/com/glxp/api/service/inv/InvProductService.java b/src/main/java/com/glxp/api/service/inv/InvProductService.java index 7c137d80c..28b39e092 100644 --- a/src/main/java/com/glxp/api/service/inv/InvProductService.java +++ b/src/main/java/com/glxp/api/service/inv/InvProductService.java @@ -33,6 +33,8 @@ public interface InvProductService { */ List filterListProduct(FilterInvProductRequest filterInvProductRequest); + List findGroupBySpace(FilterInvProductRequest filterInvProductRequest); + /** * 根据ID查询库存 * diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvInnerOrderPrintServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvInnerOrderPrintServiceImpl.java index 3152c3cd7..54b53f645 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/InvInnerOrderPrintServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/InvInnerOrderPrintServiceImpl.java @@ -1,5 +1,6 @@ package com.glxp.api.service.inv.impl; +import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; @@ -92,6 +93,8 @@ public class InvInnerOrderPrintServiceImpl implements InvInnerOrderPrintService invInnerOrderPrintDao.delete(ew); List innerOrderDetailEntityList = innerOrderDetailService.selectOrderList(orderIdFk); + if (CollUtil.isEmpty(innerOrderDetailEntityList)) + return false; for (InnerOrderDetailEntity obj : innerOrderDetailEntityList) { InvInnerOrderPrintEntity innerOrderPrintEntity = new InvInnerOrderPrintEntity(); diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvPlaceServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvPlaceServiceImpl.java index 58ea2a9b4..a6e7cad05 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/InvPlaceServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/InvPlaceServiceImpl.java @@ -7,9 +7,16 @@ import com.github.pagehelper.PageHelper; import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.constant.ConstantStatus; import com.glxp.api.dao.auth.InvSpaceDao; import com.glxp.api.dao.auth.InvWarehouseDao; +import com.glxp.api.dao.inv.InvPreInProductDetailDao; +import com.glxp.api.dao.inv.InvPreProductDetailDao; import com.glxp.api.dao.inv.InvProductDetailDao; +import com.glxp.api.entity.auth.InvSpace; +import com.glxp.api.entity.auth.InvWarehouseEntity; +import com.glxp.api.entity.inv.InvPreInProductDetailEntity; +import com.glxp.api.entity.inv.InvPreProductDetailEntity; import com.glxp.api.entity.inv.InvProductDetailEntity; import com.glxp.api.req.inv.AddInvPlaceOrderRequest; import com.glxp.api.req.inv.FilterInvPlaceRequest; @@ -18,11 +25,14 @@ import com.glxp.api.res.inv.BindInvSpaceRequest; import com.glxp.api.res.inv.InvPlaceDetailResponse; import com.glxp.api.service.inv.InvPlaceOrderService; import com.glxp.api.service.inv.InvPlaceService; +import com.glxp.api.util.BeanCopyUtils; +import io.swagger.models.auth.In; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.stream.Collectors; @@ -35,6 +45,10 @@ public class InvPlaceServiceImpl implements InvPlaceService { @Resource private InvProductDetailDao invProductDetailDao; @Resource + private InvPreProductDetailDao invPreProductDetailDao; + @Resource + private InvPreInProductDetailDao invPreInProductDetailDao; + @Resource private InvWarehouseDao invWarehouseDao; @Resource private InvSpaceDao invSpaceDao; @@ -52,20 +66,62 @@ public class InvPlaceServiceImpl implements InvPlaceService { return invProductDetailDao.selectPlaceDetailList(filterInvPlaceRequest); } + @Override - public void bindInvSpace(BindInvSpaceRequest bindInvSpaceRequest) { + public BaseResponse bindInvSpace(BindInvSpaceRequest bindInvSpaceRequest) { //查询仓库的部门ID String deptCode = invWarehouseDao.selectParentIdByCode(bindInvSpaceRequest.getInvCode()); - List list = invProductDetailDao.selectList(new QueryWrapper() - .select("id", "code", "relId", "batchNo") - .eq("deptCode", deptCode) - .eq("invCode", bindInvSpaceRequest.getInvCode()) - .in("code", bindInvSpaceRequest.getCodeArray()) - ); + InvWarehouseEntity invWarehouseEntity = invWarehouseDao.filterGroupInvSubAndcode(bindInvSpaceRequest.getInvCode()); + + List list = new ArrayList<>(); + if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_PREIN) { + List invPreInProductDetailEntities = invPreInProductDetailDao.selectList(new QueryWrapper() + .select("id", "code", "relId", "batchNo") + .eq("deptCode", deptCode) + .eq("invCode", bindInvSpaceRequest.getInvCode()) + .in("code", bindInvSpaceRequest.getCodeArray()) + ); + for (InvPreInProductDetailEntity invPreInProductDetailEntity : invPreInProductDetailEntities) { + InvProductDetailEntity invProductDetailEntity = new InvProductDetailEntity(); + BeanCopyUtils.copy(invPreInProductDetailEntity, invProductDetailEntity); + list.add(invProductDetailEntity); + } + } else if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_ADVANCE) { + + List invPreProductDetailEntities = invPreProductDetailDao.selectList(new QueryWrapper() + .select("id", "code", "relId", "batchNo") + .eq("deptCode", deptCode) + .eq("invCode", bindInvSpaceRequest.getInvCode()) + .in("code", bindInvSpaceRequest.getCodeArray()) + ); + for (InvPreProductDetailEntity invPreInProductDetailEntity : invPreProductDetailEntities) { + InvProductDetailEntity invProductDetailEntity = new InvProductDetailEntity(); + BeanCopyUtils.copy(invPreInProductDetailEntity, invProductDetailEntity); + list.add(invProductDetailEntity); + } + + } else { + list = invProductDetailDao.selectList(new QueryWrapper() + .select("id", "code", "relId", "batchNo") + .eq("deptCode", deptCode) + .eq("invCode", bindInvSpaceRequest.getInvCode()) + .in("code", bindInvSpaceRequest.getCodeArray()) + ); + } + if (CollUtil.isNotEmpty(list)) { List ids = list.stream().map(InvProductDetailEntity::getId).collect(Collectors.toList()); log.info("本次绑定货位的库存详情数量为:{} 条", ids.size()); - invProductDetailDao.batchBindSpace(ids, bindInvSpaceRequest.getInvSpaceCode()); + + + if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_PREIN) { + invPreInProductDetailDao.batchBindSpace(ids, bindInvSpaceRequest.getInvSpaceCode()); + } else if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_ADVANCE) { + invPreProductDetailDao.batchBindSpace(ids, bindInvSpaceRequest.getInvSpaceCode()); + } else { + invProductDetailDao.batchBindSpace(ids, bindInvSpaceRequest.getInvSpaceCode()); + } + //添加物资上架记录 AddInvPlaceOrderRequest addInvPlaceOrderRequest = new AddInvPlaceOrderRequest(); @@ -75,8 +131,83 @@ public class InvPlaceServiceImpl implements InvPlaceService { addInvPlaceOrderRequest.setInvCode(bindInvSpaceRequest.getInvCode()); addInvPlaceOrderRequest.setInvSpaceCode(bindInvSpaceRequest.getInvSpaceCode()); invPlaceOrderService.addInvPlaceOrder(addInvPlaceOrderRequest); + return ResultVOUtils.success("绑定成功!本次绑定货位的库存详情数量为:" + ids.size() + "条"); } else { log.info("绑定货位列表查询无数据"); + return ResultVOUtils.error(500, "绑定货位列表查询无数据"); + } + } + + @Override + public BaseResponse changeInvSpace(BindInvSpaceRequest bindInvSpaceRequest) { + //查询仓库的部门ID + String deptCode = invWarehouseDao.selectParentIdByCode(bindInvSpaceRequest.getInvCode()); + InvWarehouseEntity invWarehouseEntity = invWarehouseDao.filterGroupInvSubAndcode(bindInvSpaceRequest.getInvCode()); + + List list = new ArrayList<>(); + if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_PREIN) { + List invPreInProductDetailEntities = invPreInProductDetailDao.selectList(new QueryWrapper() + .select("id", "code", "relId", "batchNo") + .eq("deptCode", deptCode) + .eq("invCode", bindInvSpaceRequest.getInvCode()) + .eq("invSpaceCode", bindInvSpaceRequest.getInvSpaceCode()) + .in("code", bindInvSpaceRequest.getCodeArray()) + ); + for (InvPreInProductDetailEntity invPreInProductDetailEntity : invPreInProductDetailEntities) { + InvProductDetailEntity invProductDetailEntity = new InvProductDetailEntity(); + BeanCopyUtils.copy(invPreInProductDetailEntity, invProductDetailEntity); + list.add(invProductDetailEntity); + } + } else if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_ADVANCE) { + + List invPreProductDetailEntities = invPreProductDetailDao.selectList(new QueryWrapper() + .select("id", "code", "relId", "batchNo") + .eq("deptCode", deptCode) + .eq("invCode", bindInvSpaceRequest.getInvCode()) + .eq("invSpaceCode", bindInvSpaceRequest.getInvSpaceCode()) + .in("code", bindInvSpaceRequest.getCodeArray()) + ); + for (InvPreProductDetailEntity invPreInProductDetailEntity : invPreProductDetailEntities) { + InvProductDetailEntity invProductDetailEntity = new InvProductDetailEntity(); + BeanCopyUtils.copy(invPreInProductDetailEntity, invProductDetailEntity); + list.add(invProductDetailEntity); + } + + } else { + list = invProductDetailDao.selectList(new QueryWrapper() + .select("id", "code", "relId", "batchNo") + .eq("deptCode", deptCode) + .eq("invCode", bindInvSpaceRequest.getInvCode()) + .eq("invSpaceCode", bindInvSpaceRequest.getInvSpaceCode()) + .in("code", bindInvSpaceRequest.getCodeArray()) + ); + } + + if (CollUtil.isNotEmpty(list)) { + List ids = list.stream().map(InvProductDetailEntity::getId).collect(Collectors.toList()); + log.info("本次更换货位的库存详情数量为:{} 条", ids.size()); + + if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_PREIN) { + invPreInProductDetailDao.batchBindSpace(ids, bindInvSpaceRequest.getChangeSpaceCode()); + } else if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_ADVANCE) { + invPreProductDetailDao.batchBindSpace(ids, bindInvSpaceRequest.getChangeSpaceCode()); + } else { + invProductDetailDao.batchBindSpace(ids, bindInvSpaceRequest.getChangeSpaceCode()); + } + + + //添加物资上架记录 + AddInvPlaceOrderRequest addInvPlaceOrderRequest = new AddInvPlaceOrderRequest(); + addInvPlaceOrderRequest.setType(bindInvSpaceRequest.getType()); + addInvPlaceOrderRequest.setOrderId(bindInvSpaceRequest.getOrderId()); + addInvPlaceOrderRequest.setCodeList(list); + addInvPlaceOrderRequest.setInvCode(bindInvSpaceRequest.getInvCode()); + addInvPlaceOrderRequest.setInvSpaceCode(bindInvSpaceRequest.getInvSpaceCode()); + invPlaceOrderService.addInvPlaceOrder(addInvPlaceOrderRequest); + return ResultVOUtils.success("绑定成功!本次绑定货位的库存详情数量为:" + ids.size() + "条"); + } else { + log.info("绑定货位列表查询无数据"); + return ResultVOUtils.error(500, "绑定货位列表查询无数据"); } } @@ -99,7 +230,15 @@ public class InvPlaceServiceImpl implements InvPlaceService { @Override public List getInvProductInfo(FilterInvPlaceRequest filterInvPlaceRequest) { - return invProductDetailDao.getInvProductInfo(filterInvPlaceRequest); + + InvWarehouseEntity invWarehouseEntity = invWarehouseDao.selectOne(new QueryWrapper().eq("code", filterInvPlaceRequest.getInvCode())); + if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_PREIN) { + return invPreInProductDetailDao.getInvProductInfo(filterInvPlaceRequest); + } else if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_ADVANCE) { + return invPreProductDetailDao.getInvProductInfo(filterInvPlaceRequest); + } else + return invProductDetailDao.getInvProductInfo(filterInvPlaceRequest); + } @Override @@ -110,6 +249,16 @@ public class InvPlaceServiceImpl implements InvPlaceService { if (null != filterInvPlaceRequest.getPage() && null != filterInvPlaceRequest.getLimit()) { PageHelper.offsetPage((filterInvPlaceRequest.getPage() - 1) * filterInvPlaceRequest.getLimit(), filterInvPlaceRequest.getLimit()); } - return invProductDetailDao.getInvPlaceOrderList(filterInvPlaceRequest); + + + InvWarehouseEntity invWarehouseEntity = invWarehouseDao.selectOne(new QueryWrapper().eq("code", filterInvPlaceRequest.getInvCode())); + if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_PREIN) { + return invPreInProductDetailDao.getInvPlaceOrderList(filterInvPlaceRequest); + } else if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_ADVANCE) { + return invPreProductDetailDao.getInvPlaceOrderList(filterInvPlaceRequest); + } else + return invProductDetailDao.getInvPlaceOrderList(filterInvPlaceRequest); + + } } diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvPreInProductDetailServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvPreInProductDetailServiceImpl.java index e1f3a27ce..bd1d23824 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/InvPreInProductDetailServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/InvPreInProductDetailServiceImpl.java @@ -11,6 +11,7 @@ import com.glxp.api.dao.basic.UdiProductDao; import com.glxp.api.dao.inout.IoOrderDao; import com.glxp.api.dao.inv.InvPreInProductDetailDao; import com.glxp.api.dao.inv.InvPreProductDetailDao; +import com.glxp.api.entity.auth.InvSpace; import com.glxp.api.entity.basic.BasicBussinessTypeEntity; import com.glxp.api.entity.inout.IoOrderEntity; import com.glxp.api.entity.inv.InvPreInProductDetailEntity; @@ -18,6 +19,7 @@ import com.glxp.api.entity.inv.InvPreinDetailEntity; import com.glxp.api.req.inv.FilterInvPreProductDetailRequest; import com.glxp.api.req.inv.FilterInvProductDetailRequest; import com.glxp.api.res.inv.InvPreProductDetailResponse; +import com.glxp.api.service.auth.InvSpaceService; import com.glxp.api.service.inv.InvPreProductDetailService; import com.glxp.api.service.inv.InvPreinProductDetailService; import com.glxp.api.util.DateUtil; @@ -115,6 +117,9 @@ public class InvPreInProductDetailServiceImpl implements InvPreinProductDetailSe return invPreInProductDetailDao.filterPreProductDetailList(invPreProductDetailRequest); } + @Resource + InvSpaceService invSpaceService; + @Override public void setOrderInfo(InvPreProductDetailResponse response) { //查询DI层级,根据DI层级设置数量取值 @@ -139,6 +144,11 @@ public class InvPreInProductDetailServiceImpl implements InvPreinProductDetailSe response.setInCount(response.getCount()); } } + InvSpace invSpace = invSpaceService.findByCode(response.getInvCode(), response.getInvSpaceCode()); + if (invSpace != null) + response.setInvSpaceName(invSpace.getName()); + + //设置单据类型名称 BasicBussinessTypeEntity busType = bussinessTypeDao.selectOne(new QueryWrapper().select("name").eq("action", response.getAction())); response.setActionName(busType.getName()); diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvPreProductDetailServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvPreProductDetailServiceImpl.java index c2c055afe..5e40e3af8 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/InvPreProductDetailServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/InvPreProductDetailServiceImpl.java @@ -10,6 +10,7 @@ import com.glxp.api.dao.basic.BasicBussinessTypeDao; import com.glxp.api.dao.basic.UdiProductDao; import com.glxp.api.dao.inout.IoOrderDao; import com.glxp.api.dao.inv.InvPreProductDetailDao; +import com.glxp.api.entity.auth.InvSpace; import com.glxp.api.entity.basic.BasicBussinessTypeEntity; import com.glxp.api.entity.inout.IoOrderEntity; import com.glxp.api.entity.inv.InvPreInProductDetailEntity; @@ -19,6 +20,7 @@ import com.glxp.api.req.inv.FilterInvPreProductDetailRequest; import com.glxp.api.req.inv.FilterInvProductDetailRequest; import com.glxp.api.req.system.DeleteRequest; import com.glxp.api.res.inv.InvPreProductDetailResponse; +import com.glxp.api.service.auth.InvSpaceService; import com.glxp.api.service.inv.InvPreProductDetailService; import com.glxp.api.util.DateUtil; import lombok.extern.slf4j.Slf4j; @@ -109,6 +111,10 @@ public class InvPreProductDetailServiceImpl implements InvPreProductDetailServic return invPreProductDetailDao.filterPreProductDetailList(invPreProductDetailRequest); } + + @Resource + InvSpaceService invSpaceService; + @Override public void setOrderInfo(InvPreProductDetailResponse response) { //查询DI层级,根据DI层级设置数量取值 @@ -133,6 +139,11 @@ public class InvPreProductDetailServiceImpl implements InvPreProductDetailServic response.setInCount(response.getCount()); } } + + InvSpace invSpace = invSpaceService.findByCode(response.getInvCode(), response.getInvSpaceCode()); + if (invSpace != null) + response.setInvSpaceName(invSpace.getName()); + //设置单据类型名称 BasicBussinessTypeEntity busType = bussinessTypeDao.selectOne(new QueryWrapper().select("name").eq("action", response.getAction())); response.setActionName(busType.getName()); diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvProductDetailServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvProductDetailServiceImpl.java index 4913cf77e..27fe31273 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/InvProductDetailServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/InvProductDetailServiceImpl.java @@ -5,15 +5,18 @@ import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.pagehelper.PageHelper; import com.glxp.api.constant.ConstantType; +import com.glxp.api.dao.auth.InvSpaceDao; import com.glxp.api.dao.basic.BasicBussinessTypeDao; import com.glxp.api.dao.basic.UdiProductDao; import com.glxp.api.dao.inout.IoOrderDao; import com.glxp.api.dao.inv.InvProductDetailDao; +import com.glxp.api.entity.auth.InvSpace; import com.glxp.api.entity.basic.BasicBussinessTypeEntity; import com.glxp.api.entity.inout.IoOrderEntity; import com.glxp.api.entity.inv.InvProductDetailEntity; import com.glxp.api.req.inv.FilterInvProductDetailRequest; import com.glxp.api.res.inv.InvProductDetailResponse; +import com.glxp.api.service.auth.InvSpaceService; import com.glxp.api.service.inv.InvProductDetailService; import com.glxp.api.util.DateUtil; import org.springframework.stereotype.Service; @@ -124,6 +127,9 @@ public class InvProductDetailServiceImpl implements InvProductDetailService { return invProductDetailDao.deleteInvProductDetail(detailRequest); } + @Resource + InvSpaceService invSpaceService; + @Override public void setOrderInfo(InvProductDetailResponse response) { //查询DI层级,根据DI层级设置数量取值 @@ -148,6 +154,9 @@ public class InvProductDetailServiceImpl implements InvProductDetailService { response.setInCount(response.getCount()); } } + InvSpace invSpace = invSpaceService.findByCode(response.getInvCode(), response.getInvSpaceCode()); + if (invSpace != null) + response.setInvSpaceName(invSpace.getName()); //设置单据类型名称 BasicBussinessTypeEntity busType = bussinessTypeDao.selectOne(new QueryWrapper().select("name").eq("action", response.getAction())); diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvProductServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvProductServiceImpl.java index 87da4e0ac..fa8704a8b 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/InvProductServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/InvProductServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.pagehelper.PageHelper; import com.glxp.api.dao.inv.InvProductDao; +import com.glxp.api.dao.inv.InvProductDetailDao; import com.glxp.api.entity.inv.InvProductEntity; import com.glxp.api.req.inv.FilterInvProductRequest; import com.glxp.api.res.inv.InvProductResponse; @@ -21,6 +22,8 @@ public class InvProductServiceImpl implements InvProductService { @Resource InvProductDao invProductDao; + @Resource + InvProductDetailDao invProductDetailDao; @Override public int insert(InvProductEntity invProductEntity) { @@ -67,6 +70,18 @@ public class InvProductServiceImpl implements InvProductService { return invProductDao.filterList(filterInvProductRequest); } + @Override + public List findGroupBySpace(FilterInvProductRequest filterInvProductRequest) { + if (null == filterInvProductRequest) { + return Collections.emptyList(); + } + if (null != filterInvProductRequest.getPage() && null != filterInvProductRequest.getLimit()) { + PageHelper.offsetPage((filterInvProductRequest.getPage() - 1) * filterInvProductRequest.getLimit(), filterInvProductRequest.getLimit()); + } + return invProductDetailDao.findGroupBySpace(filterInvProductRequest); + + } + @Override public InvProductEntity findById(String id) { return invProductDao.selectById(id); diff --git a/src/main/java/com/glxp/api/service/sync/HeartService.java b/src/main/java/com/glxp/api/service/sync/HeartService.java index b1d8cec05..71964b10c 100644 --- a/src/main/java/com/glxp/api/service/sync/HeartService.java +++ b/src/main/java/com/glxp/api/service/sync/HeartService.java @@ -160,6 +160,14 @@ public class HeartService { logs = logs + "单据条码信息:" + spsSyncOrderResponse.getCodeEntities().size() + "条\n"; basicExportStatusEntity1.setRemark(logs); basicExportStatusEntity1.setUpdateTime(new Date()); + try { + String fileFullPath = writeFile(filePrefix, NEW_ALL_ORDER, JsonUtils.toJsonString(spsSyncOrderResponse)); + basicExportStatusEntity1.setCacheFilePath(fileFullPath); + } catch (IOException e) { + throw new RuntimeException(e); + } + + basicExportService.updateExportStatus(basicExportStatusEntity1); return ResultVOUtils.success(); } @@ -273,6 +281,7 @@ public class HeartService { * @return */ public SpsSyncBasicDataResponse getBasicData(SyncDataSetEntity info, String taskId, Date now, Date syncTime) { + StringBuffer remark = new StringBuffer(); SpsSyncBasicDataResponse dataResponse = null; Map syncTimeMap = new WeakHashMap<>(3); syncTimeMap.put("isNew", true); @@ -293,6 +302,7 @@ public class HeartService { if (CollectionUtil.isNotEmpty(hospTypeList)) { dataResponse = new SpsSyncBasicDataResponse(); dataResponse.setHospTypeList(hospTypeList); + remark.append("物资字典分类信息:").append(hospTypeList.size()).append("条\n"); } List udiRelevanceList = udiRelevanceDao.selectList(Wrappers.lambdaQuery(UdiRelevanceEntity.class) .le((boolean) map.get("isNew"), UdiRelevanceEntity::getUpdateTime, now) @@ -304,6 +314,7 @@ public class HeartService { dataResponse = new SpsSyncBasicDataResponse(); } dataResponse.setUdiRelevanceList(udiRelevanceList); + remark.append("物资字典主表信息:").append(udiRelevanceList.size()).append("条\n"); } List productsList = basicProductsDao.selectList(Wrappers.lambdaQuery(BasicProductsEntity.class) .le((boolean) map.get("isNew"), BasicProductsEntity::getUpdateTime, now) @@ -315,6 +326,7 @@ public class HeartService { dataResponse = new SpsSyncBasicDataResponse(); } dataResponse.setProductsList(productsList); + remark.append("物资字典字表信息:").append(udiRelevanceList.size()).append("条\n"); } List relevanceList = relevanceDao.selectList(Wrappers.lambdaQuery(CompanyProductRelevanceEntity.class) .le((boolean) map.get("isNew"), CompanyProductRelevanceEntity::getUpdateTime, now) @@ -326,6 +338,7 @@ public class HeartService { dataResponse = new SpsSyncBasicDataResponse(); } dataResponse.setRelevanceList(relevanceList); + remark.append("供应商物资字典信息:").append(relevanceList.size()).append("条\n"); } } //确认有开启往来单位字典同步 @@ -346,6 +359,7 @@ public class HeartService { dataResponse = new SpsSyncBasicDataResponse(); } dataResponse.setCorpList(corpList); + remark.append("往来单位信息:").append(corpList.size()).append("条\n"); } } @@ -367,6 +381,7 @@ public class HeartService { dataResponse = new SpsSyncBasicDataResponse(); } dataResponse.setSupCertList(supCertList); + remark.append("资质证书信息:").append(supCertList.size()).append("条\n"); } List supCertSetList = supCertSetDao.selectList(Wrappers.lambdaQuery(SupCertSetEntity.class) .le((boolean) map.get("isNew"), SupCertSetEntity::getUpdateTime, now) @@ -378,6 +393,7 @@ public class HeartService { dataResponse = new SpsSyncBasicDataResponse(); } dataResponse.setSupCertSetList(supCertSetList); + remark.append("资质证书要求设置信息:").append(supCertSetList.size()).append("条\n"); } List supCompanyList = supCompanyDao.selectList(Wrappers.lambdaQuery(SupCompanyEntity.class) .le((boolean) map.get("isNew"), SupCompanyEntity::getUpdateTime, now) @@ -389,6 +405,7 @@ public class HeartService { dataResponse = new SpsSyncBasicDataResponse(); } dataResponse.setSupCompanyList(supCompanyList); + remark.append("供应商资质信息:").append(supCompanyList.size()).append("条\n"); } List supManufacturerList = supManufacturerDao.selectList(Wrappers.lambdaQuery(SupManufacturerEntity.class) .le((boolean) map.get("isNew"), SupManufacturerEntity::getUpdateTime, now) @@ -400,6 +417,7 @@ public class HeartService { dataResponse = new SpsSyncBasicDataResponse(); } dataResponse.setSupManufacturerList(supManufacturerList); + remark.append("生产企业资质信息:").append(supManufacturerList.size()).append("条\n"); } List supProductList = supProductDao.selectList(Wrappers.lambdaQuery(SupProductEntity.class) .le((boolean) map.get("isNew"), SupProductEntity::getUpdateTime, now) @@ -411,12 +429,14 @@ public class HeartService { dataResponse = new SpsSyncBasicDataResponse(); } dataResponse.setSupProductList(supProductList); + remark.append("配送产品资质信息:").append(supProductList.size()).append("条\n"); } } if (dataResponse != null) { dataResponse.setTaskId(taskId); dataResponse.setType(BasicExportTypeEnum.BASIC_DATA.getRemark()); + dataResponse.setSyncRemark(remark.toString()); } return dataResponse; @@ -432,7 +452,7 @@ public class HeartService { * @return */ public SpsSyncOtherDataResponse getOtherData(SyncDataSetEntity info, String taskId, Date now, Date syncTime) { - + StringBuffer remark = new StringBuffer(); SpsSyncOtherDataResponse dataResponse = null; Map syncTimeMap = new WeakHashMap<>(3); syncTimeMap.put("isNew", true); @@ -453,6 +473,7 @@ public class HeartService { if (CollectionUtil.isNotEmpty(ioCodeLostList)) { dataResponse = new SpsSyncOtherDataResponse(); dataResponse.setIoCodeLostList(ioCodeLostList); + remark.append("UDI码补齐信息:").append(ioCodeLostList.size()).append("条\n"); } } //确认有开启udi关联关系同步 @@ -473,11 +494,13 @@ public class HeartService { dataResponse = new SpsSyncOtherDataResponse(); } dataResponse.setIoCodeRelList(ioCodeRelList); + remark.append("UDI码关联关系:").append(ioCodeRelList.size()).append("条\n"); } } if (dataResponse != null) { dataResponse.setTaskId(taskId); dataResponse.setType(BasicExportTypeEnum.OTHER_DATA.getRemark()); + dataResponse.setSyncRemark(remark.toString()); } return dataResponse; @@ -522,9 +545,10 @@ public class HeartService { Map syncTimeMap = new WeakHashMap<>(3); syncTimeMap.put("isNew", true); syncTimeMap.put("oldDate", syncTime); + StringBuffer remark = new StringBuffer(); - //确认有开启业务单据类型同步 - if (needExec(info.getTypeBus())) { + //确认有开启扫码单据类型同步 + if (needExec(info.getTypeScan())) { Map map; if (syncTime == null) { map = basicExportStatusTimeInfo(now, BasicExportStatusTimeEnum.BASIC_BUSSINESS_TYPE); @@ -539,11 +563,11 @@ public class HeartService { if (CollectionUtil.isNotEmpty(bussinessTypeEntities)) { dataResponse = new SpsSyncBusResponse(); dataResponse.setBussinessTypeEntities(bussinessTypeEntities); + remark.append("扫码单据类型信息:").append(bussinessTypeEntities.size()).append("条\n"); } } - - //确认有开启扫码单据类型同步 - if (needExec(info.getTypeScan())) { + //确认有开启业务单据类型同步 + if (needExec(info.getTypeBus())) { Map map; if (syncTime == null) { map = basicExportStatusTimeInfo(now, BasicExportStatusTimeEnum.BASIC_BUSTYPE_CHANGE); @@ -560,6 +584,7 @@ public class HeartService { dataResponse = new SpsSyncBusResponse(); } dataResponse.setBusTypeChangeEntities(busTypeChangeList); + remark.append("业务单据类型:").append(busTypeChangeList.size()).append("条\n"); } } @@ -581,12 +606,14 @@ public class HeartService { dataResponse = new SpsSyncBusResponse(); } dataResponse.setThrBusTypeOriginEntities(thrBusTypeOriginEntities); + remark.append("第三方单据类型信息:").append(thrBusTypeOriginEntities.size()).append("条\n"); } } if (dataResponse != null) { dataResponse.setTaskId(taskId); dataResponse.setType(BasicExportTypeEnum.DOCUMENT_TYPE_DATA.getRemark()); + dataResponse.setSyncRemark(remark.toString()); } return dataResponse; @@ -614,7 +641,7 @@ public class HeartService { Map syncTimeMap = new WeakHashMap<>(3); syncTimeMap.put("isNew", true); syncTimeMap.put("oldDate", syncTime); - + StringBuffer remark = new StringBuffer(); //确认有开启部门信息同步 if (needExec(info.getBasicDept())) { Map map; @@ -631,6 +658,7 @@ public class HeartService { if (CollectionUtil.isNotEmpty(deptEntityList)) { dataResponse = new SpsSyncDataResponse(); dataResponse.setDeptEntityList(deptEntityList); + remark.append("部门信息:").append(deptEntityList.size()).append("条\n"); } List deptUserEntityList = deptUserService.list(Wrappers.lambdaQuery(DeptUserEntity.class) .le((boolean) map.get("isNew"), DeptUserEntity::getUpdateTime, now) @@ -642,6 +670,7 @@ public class HeartService { dataResponse = new SpsSyncDataResponse(); } dataResponse.setDeptUserEntities(deptUserEntityList); + remark.append("部门用户信息:").append(deptEntityList.size()).append("条\n"); } } @@ -662,6 +691,7 @@ public class HeartService { if (dataResponse == null) { dataResponse = new SpsSyncDataResponse(); } + remark.append("仓库字典信息:").append(warehouseEntityList.size()).append("条\n"); dataResponse.setInvWarehouseEntities(warehouseEntityList); } List warehouseUserEntities = warehouseUserService.list(Wrappers.lambdaQuery(WarehouseUserEntity.class) @@ -673,6 +703,7 @@ public class HeartService { if (dataResponse == null) { dataResponse = new SpsSyncDataResponse(); } + remark.append("仓库用户信息:").append(warehouseUserEntities.size()).append("条\n"); dataResponse.setWarehouseUserEntities(warehouseUserEntities); } List warehouseBussinessTypeEntities = warehouseBussinessTypeService.list(Wrappers.lambdaQuery(WarehouseBussinessTypeEntity.class) @@ -685,6 +716,7 @@ public class HeartService { dataResponse = new SpsSyncDataResponse(); } dataResponse.setWarehouseBussinessTypeEntities(warehouseBussinessTypeEntities); + remark.append("仓库单据类型信息:").append(warehouseBussinessTypeEntities.size()).append("条\n"); } List invSpaceList = invSpaceService.list(Wrappers.lambdaQuery(InvSpace.class) .le((boolean) map.get("isNew"), InvSpace::getUpdateTime, now) @@ -696,6 +728,7 @@ public class HeartService { dataResponse = new SpsSyncDataResponse(); } dataResponse.setInvSpaces(invSpaceList); + remark.append("货位信息:").append(invSpaceList.size()).append("条\n"); } } @@ -717,6 +750,7 @@ public class HeartService { dataResponse = new SpsSyncDataResponse(); } dataResponse.setAuthAdminList(adminList); + remark.append("系统用户信息:").append(adminList.size()).append("条\n"); } List busUserEntities = invBusUserService.list(Wrappers.lambdaQuery(InvBusUserEntity.class) .le((boolean) map.get("isNew"), InvBusUserEntity::getUpdateTime, now) @@ -728,12 +762,14 @@ public class HeartService { dataResponse = new SpsSyncDataResponse(); } dataResponse.setInvBusUserEntities(busUserEntities); + remark.append("用户关联单据信息:").append(busUserEntities.size()).append("条\n"); } } if (dataResponse != null) { dataResponse.setTaskId(taskId); dataResponse.setType(BasicExportTypeEnum.USER_DATA.getRemark()); + dataResponse.setSyncRemark(remark.toString()); } return dataResponse; } @@ -756,7 +792,7 @@ public class HeartService { Map syncTimeMap = new WeakHashMap<>(3); syncTimeMap.put("isNew", true); syncTimeMap.put("oldDate", syncTime); - + StringBuffer remark = new StringBuffer(); //确认有开启第三方部门信息同步 if (needExec(info.getBasicThirdInv())) { Map map; @@ -773,6 +809,7 @@ public class HeartService { if (CollectionUtil.isNotEmpty(deptEntityList)) { dataResponse = new SpsSyncThrDataResponse(); dataResponse.setDeptEntities(deptEntityList); + remark.append("第三方部门信息:").append(deptEntityList.size()).append("条\n"); } } @@ -794,6 +831,7 @@ public class HeartService { dataResponse = new SpsSyncThrDataResponse(); } dataResponse.setInvWarehouseEntities(warehouseEntityList); + remark.append("第三方仓库信息:").append(warehouseEntityList.size()).append("条\n"); } } @@ -815,6 +853,7 @@ public class HeartService { dataResponse = new SpsSyncThrDataResponse(); } dataResponse.setProductsEntityList(productsEntityList); + remark.append("第三方产品信息:").append(productsEntityList.size()).append("条\n"); } } @@ -836,12 +875,14 @@ public class HeartService { dataResponse = new SpsSyncThrDataResponse(); } dataResponse.setCorpEntities(corpEntities); + remark.append("第三方往来信息:").append(corpEntities.size()).append("条\n"); } } if (dataResponse != null) { dataResponse.setTaskId(taskId); dataResponse.setType(BasicExportTypeEnum.THIRD_DATA.getRemark()); + dataResponse.setSyncRemark(remark.toString()); } return dataResponse; } @@ -871,6 +912,7 @@ public class HeartService { Map syncTimeMap = new WeakHashMap<>(3); syncTimeMap.put("isNew", true); syncTimeMap.put("oldDate", syncTime); + StringBuffer remark = new StringBuffer(); if (needExec(info.getSystemConfig())) { Map map; if (syncTime == null) { @@ -886,6 +928,7 @@ public class HeartService { if (CollectionUtil.isNotEmpty(systemParamConfigEntities)) { dataResponse = new SpsSyncSysSettingResponse(); dataResponse.setSystemParamConfigEntities(systemParamConfigEntities); + remark.append("运行参数设置信息:").append(systemParamConfigEntities.size()).append("条\n"); } } if (needExec(info.getEntrustAction())) { @@ -905,6 +948,7 @@ public class HeartService { dataResponse = new SpsSyncSysSettingResponse(); } dataResponse.setEntrustReceEntities(entrustReceEntities); + remark.append("委托验收设置信息:").append(entrustReceEntities.size()).append("条\n"); } } if (needExec(info.getPrintConfig())) { @@ -924,6 +968,7 @@ public class HeartService { dataResponse = new SpsSyncSysSettingResponse(); } dataResponse.setSystemPDFModuleEntities(systemPDFModuleEntities); + remark.append("系统模板模块信息:").append(systemPDFModuleEntities.size()).append("条\n"); } List systemPDFTemplateEntities = systemPDFTemplateService.list(Wrappers.lambdaQuery(SystemPDFTemplateEntity.class) @@ -936,6 +981,7 @@ public class HeartService { dataResponse = new SpsSyncSysSettingResponse(); } dataResponse.setSystemPDFTemplateEntities(systemPDFTemplateEntities); + remark.append("模板信息:").append(systemPDFTemplateEntities.size()).append("条\n"); } List sysPdfTemplateRelevanceCodeEntities = systemPDFTemplateRelevanceCodeService.list(Wrappers.lambdaQuery(SysPdfTemplateRelevanceCodeEntity.class) @@ -948,6 +994,7 @@ public class HeartService { dataResponse = new SpsSyncSysSettingResponse(); } dataResponse.setSysPdfTemplateRelevanceCodeEntities(sysPdfTemplateRelevanceCodeEntities); + remark.append("扫码单据关联模板信息:").append(sysPdfTemplateRelevanceCodeEntities.size()).append("条\n"); } List sysPdfTemplateRelevanceBizEntities = systemPDFTemplateRelevanceBizService.list(Wrappers.lambdaQuery(SysPdfTemplateRelevanceBizEntity.class) @@ -960,6 +1007,7 @@ public class HeartService { dataResponse = new SpsSyncSysSettingResponse(); } dataResponse.setSysPdfTemplateRelevanceBizEntities(sysPdfTemplateRelevanceBizEntities); + remark.append("业务单据关联模板信息:").append(sysPdfTemplateRelevanceBizEntities.size()).append("条\n"); } List sysPdfTemplateRelevanceLabelEntities = systemPDFTemplateRelevanceLabelService.list(Wrappers.lambdaQuery(SysPdfTemplateRelevanceLabelEntity.class) @@ -972,6 +1020,7 @@ public class HeartService { dataResponse = new SpsSyncSysSettingResponse(); } dataResponse.setSysPdfTemplateRelevanceLabelEntities(sysPdfTemplateRelevanceLabelEntities); + remark.append("标签关联模板信息:").append(sysPdfTemplateRelevanceLabelEntities.size()).append("条\n"); } List sysPdfTemplateRelevanceStatemenEntities = systemPDFTemplateRelevanceStatemenService.list(Wrappers.lambdaQuery(SysPdfTemplateRelevanceStatemenEntity.class) @@ -984,6 +1033,7 @@ public class HeartService { dataResponse = new SpsSyncSysSettingResponse(); } dataResponse.setSysPdfTemplateRelevanceStatemenEntities(sysPdfTemplateRelevanceStatemenEntities); + remark.append("报表关联模板信息:").append(sysPdfTemplateRelevanceStatemenEntities.size()).append("条\n"); } } @@ -1002,6 +1052,7 @@ public class HeartService { if (CollectionUtil.isNotEmpty(basicBusTypePreEntities)) { dataResponse = new SpsSyncSysSettingResponse(); dataResponse.setBasicBusTypePreEntities(basicBusTypePreEntities); + remark.append("出入库单自动补单设置信息:").append(basicBusTypePreEntities.size()).append("条\n"); } } if (needExec(info.getBusChangeConfig())) { @@ -1019,12 +1070,14 @@ public class HeartService { if (CollectionUtil.isNotEmpty(basicBusTypeChangeEntities)) { dataResponse = new SpsSyncSysSettingResponse(); dataResponse.setBasicBusTypeChangeEntities(basicBusTypeChangeEntities); + remark.append("业务单自动补单设置信息:").append(basicBusTypeChangeEntities.size()).append("条\n"); } } if (dataResponse != null) { dataResponse.setTaskId(taskId); dataResponse.setType(BasicExportTypeEnum.SYS_SET_DATA.getRemark()); + dataResponse.setSyncRemark(remark.toString()); if (CollUtil.isNotEmpty(dataResponse.getSystemPDFTemplateEntities())) { // List> list = new ArrayList<>(spsSyncSysSettingResponse.getSystemPDFTemplateEntities().size() * 2); List list = new ArrayList<>(); @@ -1068,6 +1121,9 @@ public class HeartService { if (baseResponse.getCode() != 20000) { status = StatusEnum.FAILED.getCode(); } + + + BaseSyncResponse baseSyncResponse = (BaseSyncResponse) data; BasicExportStatusEntity exportStatus = BasicExportStatusEntity.builder() .id(taskId) .status(status) @@ -1076,9 +1132,9 @@ public class HeartService { .startTime(new Date()) .endTime(new Date()) .updateTime(new Date()) - .receiveStatus(status) + .receiveStatus(status + "") .scheduleType(BasicProcessStatus.SCHEDULE_NORMAL) - .remark(baseResponse.getMessage()) + .remark(baseSyncResponse.getSyncRemark()) .build(); try { String fileFullPath = writeFile(filePrefix, exportType.getRemark(), JsonUtils.toJsonString(data)); @@ -1284,7 +1340,7 @@ public class HeartService { //下载最近更新扫码单据--上级服务 @Transactional(propagation = Propagation.NESTED) public void dlAllOrder() { - BaseResponse> baseResponse = spGetHttp.getBasicStatus(NEW_ALL_ORDER + ""); + BaseResponse> baseResponse = spGetHttp.getBasicStatus(NEW_ALL_ORDER + "", "3"); List pageSimpleResponse = baseResponse != null ? baseResponse.getData() : new ArrayList<>(); if (pageSimpleResponse != null) { List basicExportStatusEntities = pageSimpleResponse; @@ -1304,9 +1360,9 @@ public class HeartService { basicDownloadStatusEntity.setIdDatas(ConstantStatus.SYNC_DOWNLOAD_SCAN_ORDER); basicDownloadStatusEntity.setStatus(ConstantStatus.SYNC_STATUS_WAIT); //下载中 basicDownloadStatusEntity.setType(NEW_ALL_ORDER); + basicDownloadStatusEntity.setRemark(syncDataResponse.getSyncRemark()); basicDownloadStatusEntity.setScheduleType(1); basicDownloadService.insertDownloadStatus(basicDownloadStatusEntity); - StringBuffer remark = new StringBuffer(); if (CollUtil.isNotEmpty(syncDataResponse.getOrderEntities())) { try { @@ -1314,6 +1370,7 @@ public class HeartService { for (IoOrderEntity orderEntity : orderEntities) { orderEntity.setUpdateTime(null); orderEntity.setFromType(ConstantStatus.FROM_UDISP); + orderEntity.setProcessStatus(ConstantStatus.ORDER_DEAL_POST); orderEntity.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); IoOrderEntity temp = orderService.findByBillNo(orderEntity.getBillNo()); if (temp == null) { @@ -1329,29 +1386,15 @@ public class HeartService { } } - String logs = ""; - if (CollUtil.isNotEmpty(syncDataResponse.getOrderEntities())) - logs = logs + "单据:" + syncDataResponse.getOrderEntities().size() + "条\n"; - if (CollUtil.isNotEmpty(syncDataResponse.getOrderDetailBizEntities())) - logs = logs + "业务详情:" + syncDataResponse.getOrderDetailBizEntities().size() + "条\n"; - if (CollUtil.isNotEmpty(syncDataResponse.getOrderDetailCodeEntities())) - logs = logs + "单据扫码详情:" + syncDataResponse.getOrderDetailCodeEntities().size() + "条\n"; - if (CollUtil.isNotEmpty(syncDataResponse.getOrderDetailResultEntities())) - logs = logs + "单据结果详情:" + syncDataResponse.getOrderDetailResultEntities().size() + "条\n"; - if (CollUtil.isNotEmpty(syncDataResponse.getCodeEntities())) - logs = logs + "单据条码信息:" + syncDataResponse.getCodeEntities().size() + "条\n"; - remark.append(logs); } catch (Exception e) { e.printStackTrace(); } } - spGetHttp.postBasicStatus(basicExportStatusEntity.getId()); - + spGetHttp.finishTask(basicExportStatusEntity.getId()); basicDownloadStatusEntity.setUpdateTime(new Date()); basicDownloadStatusEntity.setEndTime(new Date()); - basicDownloadStatusEntity.setRemark(remark.toString()); basicDownloadStatusEntity.setStatus(StatusEnum.SUCCESS.getCode()); basicDownloadService.updateDownloadStatus(basicDownloadStatusEntity); @@ -1365,7 +1408,7 @@ public class HeartService { // 下载最近更新国家库数据-上级服务 @Transactional(propagation = Propagation.NESTED) public void dlAllDiProducts() { - BaseResponse> baseResponse = spGetHttp.getBasicStatus(NEW_ALL_UDIS); + BaseResponse> baseResponse = spGetHttp.getBasicStatus(NEW_ALL_UDIS, "3"); List pageSimpleResponse = baseResponse.getData(); if (pageSimpleResponse != null) { List basicExportStatusEntities = pageSimpleResponse; @@ -1414,11 +1457,17 @@ public class HeartService { remark.append("产品信息:").append(spSyncUdiResponse.getProductInfoEntityList().size()).append("条\n"); } batchSession.close(); - spGetHttp.postBasicStatus(basicExportStatusEntity.getId()); - +// spGetHttp.postBasicStatus(basicExportStatusEntity.getId()); + spGetHttp.finishTask(basicExportStatusEntity.getId()); basicDownloadStatusEntity.setUpdateTime(new Date()); basicDownloadStatusEntity.setEndTime(new Date()); basicDownloadStatusEntity.setRemark(remark.toString()); + try { + String fileFullPath = writeFile(filePrefix, NEW_ALL_UDIS, JSONUtil.toJsonStr(response.getData())); + basicDownloadStatusEntity.setCacheFilePath(fileFullPath); + } catch (IOException e) { + throw new RuntimeException(e); + } basicDownloadStatusEntity.setStatus(StatusEnum.SUCCESS.getCode()); basicDownloadService.updateDownloadStatus(basicDownloadStatusEntity); } @@ -1476,6 +1525,8 @@ public class HeartService { String taskId = bean.getTaskId(); if (StrUtil.isNotBlank(taskId)) { //插入下载记录 + cn.hutool.json.JSONObject jsonObject = JSONUtil.parseObj(bean.getFileContent()); + String remark = jsonObject.getStr(Constant.SYNC_REMARK); BasicDownloadStatusEntity basicDownloadStatusEntity = new BasicDownloadStatusEntity(); basicDownloadStatusEntity.setId(CustomUtil.getId()); basicDownloadStatusEntity.setTaskId(taskId); @@ -1483,6 +1534,7 @@ public class HeartService { basicDownloadStatusEntity.setUpdateTime(new Date()); basicDownloadStatusEntity.setEndTime(new Date()); basicDownloadStatusEntity.setIdDatas(exportType.getKey()); + basicDownloadStatusEntity.setRemark(remark); basicDownloadStatusEntity.setStatus(StatusEnum.SUCCESS.getCode()); //下载完成 basicDownloadStatusEntity.setType(exportType.getRemark()); basicDownloadStatusEntity.setScheduleType(1); @@ -1781,6 +1833,7 @@ public class HeartService { List orderInvoiceEntities = syncDataResponse.getOrderInvoiceEntities(); for (IoOrderInvoiceEntity orderInvoiceEntity : orderInvoiceEntities) { if (orderInvoiceEntity.getOrderIdFk().equals(orderEntity.getBillNo())) { + orderInvoiceEntity.setId(null); orderInvoiceService.insertInvoice(orderInvoiceEntity); } } diff --git a/src/main/java/com/glxp/api/task/SyncHeartTask.java b/src/main/java/com/glxp/api/task/SyncHeartTask.java index 6c80753f5..3c288962a 100644 --- a/src/main/java/com/glxp/api/task/SyncHeartTask.java +++ b/src/main/java/com/glxp/api/task/SyncHeartTask.java @@ -86,7 +86,7 @@ public class SyncHeartTask implements SchedulingConfigurer { //定时上传最近更新单据数据至上游轮询时间 - long timeInterval2 = syncDataSetEntity.getOrderSyncTime() * 60 * 1000L; + long timeInterval2 = syncDataSetEntity.getOrderSyncTime() * 6 * 1000L; long curTime2 = System.currentTimeMillis(); Long lastTime2 = (Long) redisUtil.get("SPS_SYNC_UPLOAD_ORDER"); if (lastTime2 == null) { diff --git a/src/main/java/com/glxp/api/upload/DownloadController.java b/src/main/java/com/glxp/api/upload/DownloadController.java index 22eaa5ce9..8608eaa3d 100644 --- a/src/main/java/com/glxp/api/upload/DownloadController.java +++ b/src/main/java/com/glxp/api/upload/DownloadController.java @@ -90,10 +90,10 @@ public class DownloadController { } } } + @GetMapping(value = "/udiwms/donwload/printFile") public void printFile(HttpServletResponse response, @RequestParam String fileName) throws IOException { - - String url="D:\\udi\\udiwms\\udiwmsfile\\pdf\\template\\"+fileName; + String url = filePath + "pdf/template/" + fileName; OutputStream os = null; try { FileInputStream input = new FileInputStream(new File(url)); diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index a4c7e80ec..80e18f1ee 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,6 +1,6 @@ spring: profiles: - active: test + active: dev jmx: enabled: false servlet: diff --git a/src/main/resources/mybatis/mapper/auth/DeptUserDao.xml b/src/main/resources/mybatis/mapper/auth/DeptUserDao.xml index db3b063fa..22132969c 100644 --- a/src/main/resources/mybatis/mapper/auth/DeptUserDao.xml +++ b/src/main/resources/mybatis/mapper/auth/DeptUserDao.xml @@ -98,8 +98,8 @@ - - insert INTO auth_dept_user + + replace INTO auth_dept_user (deptId, userId) values AND a.advanceType = #{advanceType} + + AND (a.advanceType = 2 or advanceType = 3) + AND a.parentId = #{parentId} @@ -38,11 +41,11 @@ a4.name thirdName4 from auth_warehouse - LEFT JOIN thr_inv_warehouse a on a.code = auth_warehouse.thirdId - LEFT JOIN thr_inv_warehouse a1 on a1.code = auth_warehouse.thirdId1 - LEFT JOIN thr_inv_warehouse a2 on a2.code = auth_warehouse.thirdId2 - LEFT JOIN thr_inv_warehouse a3 on a3.code = auth_warehouse.thirdId3 - LEFT JOIN thr_inv_warehouse a4 on a4.code = auth_warehouse.thirdId4 + LEFT JOIN thr_inv_warehouse a on a.code = auth_warehouse.thirdId + LEFT JOIN thr_inv_warehouse a1 on a1.code = auth_warehouse.thirdId1 + LEFT JOIN thr_inv_warehouse a2 on a2.code = auth_warehouse.thirdId2 + LEFT JOIN thr_inv_warehouse a3 on a3.code = auth_warehouse.thirdId3 + LEFT JOIN thr_inv_warehouse a4 on a4.code = auth_warehouse.thirdId4 AND auth_warehouse.code = #{code} @@ -57,13 +60,13 @@ limit 1 - select * FROM auth_warehouse WHERE id = #{id} - select * FROM auth_warehouse WHERE parentCode = #{parentCode} @@ -73,9 +76,9 @@ @@ -322,9 +329,9 @@ resultType="com.glxp.api.entity.auth.InvWarehouseEntity"> select auth_warehouse.*, auth_dept.`name` AS warehouseName from auth_warehouse - INNER JOIN - auth_dept - on auth_warehouse.parentId = auth_dept.code + INNER JOIN + auth_dept + on auth_warehouse.parentId = auth_dept.code AND auth_dept.pcode = #{subordinateCode} @@ -348,8 +355,8 @@ b.name parentName, a.parentCode from auth_warehouse a - left join auth_dept b on a.parentId = b.code - left join auth_warehouse_user c on a.code = c.code + left join auth_dept b on a.parentId = b.code + left join auth_warehouse_user c on a.code = c.code AND c.userId = #{userId} @@ -371,8 +378,8 @@ auth_warehouse.parentCode, auth_dept.name warehouseName from auth_warehouse - inner join auth_dept on auth_warehouse.parentId = auth_dept.code - LEFT join auth_warehouse_user on auth_warehouse.code = auth_warehouse_user.code + inner join auth_dept on auth_warehouse.parentId = auth_dept.code + LEFT join auth_warehouse_user on auth_warehouse.code = auth_warehouse_user.code AND auth_warehouse_user.userId = #{userId} @@ -408,12 +415,18 @@ - with recursive table_a as ( - select * from auth_warehouse ta where parentCode = #{pcode} - union all - select tb.* from auth_warehouse tb inner join table_a on table_a.code = tb.parentCode - ) - select * from table_a + select * + from auth_warehouse ta + where parentCode = #{pcode} + union all + select tb.* + from auth_warehouse tb + inner join table_a on table_a.code = tb.parentCode + ) + select * + from table_a diff --git a/src/main/resources/mybatis/mapper/auth/SysRoleMenuMapper.xml b/src/main/resources/mybatis/mapper/auth/SysRoleMenuMapper.xml index dccd92d55..e51e077ba 100644 --- a/src/main/resources/mybatis/mapper/auth/SysRoleMenuMapper.xml +++ b/src/main/resources/mybatis/mapper/auth/SysRoleMenuMapper.xml @@ -3,7 +3,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - @@ -15,10 +14,10 @@ SELECT * FROM auth_role_menu - + and role_id = #{roleId} - + and menu_id = #{menuId} @@ -34,27 +33,21 @@ > delete from auth_role_menu - where role_id in + where role_id in #{item} - - insert INTO auth_role_menu - ( - role_id,menu_id - ) - values + replace INTO auth_role_menu + (role_id, menu_id) + values - ( - #{item.roleId}, - #{item.menuId} - ) + (#{item.roleId}, + #{item.menuId}) - diff --git a/src/main/resources/mybatis/mapper/basic/ProductInfoDao.xml b/src/main/resources/mybatis/mapper/basic/ProductInfoDao.xml index f1d68927e..e67ccd237 100644 --- a/src/main/resources/mybatis/mapper/basic/ProductInfoDao.xml +++ b/src/main/resources/mybatis/mapper/basic/ProductInfoDao.xml @@ -2,19 +2,19 @@ - - select * from productinfo + select * + from productinfo AND tyshxydm = #{tyshxydm} - AND cpmctymc LIKE concat(#{cpmctymc},'%') + AND cpmctymc LIKE concat(#{cpmctymc}, '%') - AND nameCode LIKE concat(#{nameCode},'%') + AND nameCode LIKE concat(#{nameCode}, '%') AND uuid = #{uuid} - - = DATE_FORMAT(#{updateTime}, '%Y-%m-%d %H:%i:%S') ]]> + + = DATE_FORMAT(#{updateTime}, '%Y-%m-%d %H:%i:%S') + ]]> GROUP BY cpmctymc @@ -94,23 +99,26 @@ - select * from productinfo where - uuid in ( + select * + from productinfo where + uuid in ( #{item} @@ -137,27 +146,27 @@ - - SELECT * FROM productinfo + SELECT * + FROM productinfo AND tyshxydm = #{tyshxydm} - AND cpmctymc LIKE concat(#{cpmctymc},'%') + AND cpmctymc LIKE concat(#{cpmctymc}, '%') - AND nameCode LIKE concat(#{nameCode},'%') + AND nameCode LIKE concat(#{nameCode}, '%') AND uuid = #{uuid} @@ -191,72 +200,73 @@ @@ -368,24 +378,23 @@ - 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,cplx,hchzsb -,sfwblztlcp,cgzmraqxgxx,sfbjwycxsy,zdcfsycs,sfwwjbz,syqsfxyjxmj,qtxxdwzlj,mjfs - ) - 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}, - #{cplx}, - #{hchzsb}, - #{sfwblztlcp}, - #{cgzmraqxgxx}, - #{sfbjwycxsy}, - #{zdcfsycs}, - #{sfwwjbz}, - #{syqsfxyjxmj}, - #{qtxxdwzlj}, - #{mjfs} - ) + 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, cplx, hchzsb + , sfwblztlcp, cgzmraqxgxx, sfbjwycxsy, zdcfsycs, sfwwjbz, syqsfxyjxmj, qtxxdwzlj, mjfs) + 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}, + #{cplx}, + #{hchzsb}, + #{sfwblztlcp}, + #{cgzmraqxgxx}, + #{sfbjwycxsy}, + #{zdcfsycs}, + #{sfwwjbz}, + #{syqsfxyjxmj}, + #{qtxxdwzlj}, + #{mjfs}) 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,cplx,hchzsb - ,sfwblztlcp,cgzmraqxgxx,sfbjwycxsy,zdcfsycs,sfwwjbz,syqsfxyjxmj,qtxxdwzlj,mjfs - ) 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, cplx, hchzsb + , sfwblztlcp, cgzmraqxgxx, sfbjwycxsy, zdcfsycs, sfwwjbz, syqsfxyjxmj, qtxxdwzlj, mjfs) 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},#{item.cplx},#{item.hchzsb},#{item.sfwblztlcp},#{item.cgzmraqxgxx},#{item.sfbjwycxsy},#{item.zdcfsycs} - ,#{item.sfwwjbz},#{item.syqsfxyjxmj},#{item.qtxxdwzlj},#{item.mjfs} - ) + (#{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}, #{item.cplx}, #{item.hchzsb}, #{item.sfwblztlcp}, #{item.cgzmraqxgxx}, + #{item.sfbjwycxsy}, #{item.zdcfsycs} + , #{item.sfwwjbz}, #{item.syqsfxyjxmj}, #{item.qtxxdwzlj}, #{item.mjfs}) @@ -534,7 +539,8 @@ - DELETE FROM productinfo WHERE thirdProductNo in + DELETE + FROM productinfo WHERE thirdProductNo in #{item} @@ -543,44 +549,117 @@ 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}, - cplx=#{cplx}, - hchzsb=#{hchzsb}, - sfwblztlcp=#{sfwblztlcp}, - cgzmraqxgxx=#{cgzmraqxgxx}, - sfbjwycxsy=#{sfbjwycxsy}, - zdcfsycs=#{zdcfsycs}, - sfwwjbz=#{sfwwjbz}, - syqsfxyjxmj=#{syqsfxyjxmj}, - - qtxxdwzlj=#{qtxxdwzlj}, - mjfs=#{mjfs}, + + 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}, + + + cplx=#{cplx}, + + + hchzsb=#{hchzsb}, + + + sfwblztlcp=#{sfwblztlcp}, + + + cgzmraqxgxx=#{cgzmraqxgxx}, + + + sfbjwycxsy=#{sfbjwycxsy}, + + + zdcfsycs=#{zdcfsycs}, + + + sfwwjbz=#{sfwwjbz}, + + + syqsfxyjxmj=#{syqsfxyjxmj}, + + + qtxxdwzlj=#{qtxxdwzlj}, + + + mjfs=#{mjfs}, + WHERE id = #{id} @@ -588,29 +667,69 @@ UPDATE productinfo - scbssfbhph=#{scbssfbhph}, - scbssfbhxlh=#{scbssfbhxlh}, - scbssfbhscrq=#{scbssfbhscrq}, - scbssfbhsxrq=#{scbssfbhsxrq}, - ybbm=#{ybbm}, - spmc=#{spmc}, - cphhhbh=#{cphhhbh}, - cpms=#{cpms}, - cpbsbmtxmc=#{cpbsbmtxmc}, - isNewest=#{isNewest}, - updateTime=#{updateTime}, - cplx=#{cplx}, - hchzsb=#{hchzsb}, - - sfwblztlcp=#{sfwblztlcp}, - cgzmraqxgxx=#{cgzmraqxgxx}, - sfbjwycxsy=#{sfbjwycxsy}, - zdcfsycs=#{zdcfsycs}, - sfwwjbz=#{sfwwjbz}, - syqsfxyjxmj=#{syqsfxyjxmj}, - - qtxxdwzlj=#{qtxxdwzlj}, - mjfs=#{mjfs}, + + scbssfbhph=#{scbssfbhph}, + + + scbssfbhxlh=#{scbssfbhxlh}, + + + scbssfbhscrq=#{scbssfbhscrq}, + + + scbssfbhsxrq=#{scbssfbhsxrq}, + + + ybbm=#{ybbm}, + + + spmc=#{spmc}, + + + cphhhbh=#{cphhhbh}, + + + cpms=#{cpms}, + + + cpbsbmtxmc=#{cpbsbmtxmc}, + + + isNewest=#{isNewest}, + + + updateTime=#{updateTime}, + + + cplx=#{cplx}, + + + hchzsb=#{hchzsb}, + + + sfwblztlcp=#{sfwblztlcp}, + + + cgzmraqxgxx=#{cgzmraqxgxx}, + + + sfbjwycxsy=#{sfbjwycxsy}, + + + zdcfsycs=#{zdcfsycs}, + + + sfwwjbz=#{sfwwjbz}, + + + syqsfxyjxmj=#{syqsfxyjxmj}, + + + qtxxdwzlj=#{qtxxdwzlj}, + + + mjfs=#{mjfs}, + WHERE uuid = #{uuid} @@ -620,7 +739,8 @@ + + delete from inv_prein_product_detail @@ -74,49 +155,70 @@ - - - + select ipd.code, + ipd.relId, + ipd.batchNo, + ipd.serialNo, + ipd.invSpaceCode, + ipd.invCode, + bp.cpmctymc productName, + bp.ggxh, + bp.measname, + bp.zczbhhzbapzbh, + bp.manufactory, + (select name from auth_space s where s.code = ipd.invSpaceCode) invSpaceName, + (select name from basic_corp bc where bc.erpId = ipd.supId) supName + from inv_prein_product_detail ipd + left join basic_udirel bu on bu.id = ipd.relId + left join basic_products bp on bp.uuid = bu.uuid - - AND code = #{code} - - - AND mainAction = #{mainAction} - - - AND action = #{action} - - - and supId = #{supId} + + AND ipd.invCode = #{invCode} - - AND relId = #{relId} + + AND ipd.invSpaceCode = #{invSpaceCode} - - AND nameCode like concat('%', #{nameCode}, '%') + + AND ipd.code = #{code} - AND orderId = #{orderId} - - - AND deptCode = #{deptCode} + AND ipd.orderId = #{orderId} + + group by ipd.id + + + + update inv_prein_product_detail + set invSpaceCode = #{invSpaceCode} + where id in + + #{item} + + + + + diff --git a/src/main/resources/mybatis/mapper/inv/InvPreProductDao.xml b/src/main/resources/mybatis/mapper/inv/InvPreProductDao.xml index 7958b1a06..6dcb9fe21 100644 --- a/src/main/resources/mybatis/mapper/inv/InvPreProductDao.xml +++ b/src/main/resources/mybatis/mapper/inv/InvPreProductDao.xml @@ -3,32 +3,32 @@ select ipp.* from inv_pre_product ipp - inner join basic_udirel on ipp.relIdFk = basic_udirel.id - inner join basic_products bp on basic_udirel.uuid = bp.uuid - left join basic_corp on ipp.supId = basic_corp.erpId - left join auth_dept on auth_dept.code = ipp.deptCode - left join auth_warehouse on auth_warehouse.code = ipp.invCode + inner join basic_udirel on ipp.relIdFk = basic_udirel.id + inner join basic_products bp on basic_udirel.uuid = bp.uuid + left join basic_corp on ipp.supId = basic_corp.erpId + left join auth_dept on auth_dept.code = ipp.deptCode + left join auth_warehouse on auth_warehouse.code = ipp.invCode bp.diType = 1 diff --git a/src/main/resources/mybatis/mapper/inv/InvPreProductDetailDao.xml b/src/main/resources/mybatis/mapper/inv/InvPreProductDetailDao.xml index 1dc755be7..8f5b04a9f 100644 --- a/src/main/resources/mybatis/mapper/inv/InvPreProductDetailDao.xml +++ b/src/main/resources/mybatis/mapper/inv/InvPreProductDetailDao.xml @@ -1,6 +1,86 @@ + + + select ipd.code, + ipd.relId, + ipd.batchNo, + ipd.serialNo, + ipd.invSpaceCode, + ipd.invCode, + bp.cpmctymc productName, + bp.ggxh, + bp.measname, + bp.zczbhhzbapzbh, + bp.manufactory, + (select name from auth_space s where s.code = ipd.invSpaceCode) invSpaceName, + (select name from basic_corp bc where bc.erpId = ipd.supId) supName + from inv_pre_product_detail ipd + left join basic_udirel bu on bu.id = ipd.relId + left join basic_products bp on bp.uuid = bu.uuid + + + AND ipd.invCode = #{invCode} + + + AND ipd.invSpaceCode = #{invSpaceCode} + + + AND ipd.code = #{code} + + + AND ipd.orderId = #{orderId} + + + group by ipd.id + + + + update inv_pre_product_detail + set invSpaceCode = #{invSpaceCode} + where id in + + #{item} + + + + + diff --git a/src/main/resources/mybatis/mapper/inv/InvPreinProductDao.xml b/src/main/resources/mybatis/mapper/inv/InvPreinProductDao.xml index 9633c6fcc..45109277a 100644 --- a/src/main/resources/mybatis/mapper/inv/InvPreinProductDao.xml +++ b/src/main/resources/mybatis/mapper/inv/InvPreinProductDao.xml @@ -134,4 +134,5 @@ + diff --git a/src/main/resources/mybatis/mapper/inv/invProductDao.xml b/src/main/resources/mybatis/mapper/inv/invProductDao.xml index f4807a093..708fd49b3 100644 --- a/src/main/resources/mybatis/mapper/inv/invProductDao.xml +++ b/src/main/resources/mybatis/mapper/inv/invProductDao.xml @@ -6,34 +6,34 @@ select bp.cpmctymc, - bp.nameCode, - bp.ylqxzcrbarmc, - bp.zczbhhzbapzbh, - bc.name supName, - bp.ggxh, - aw.name invName, - ip.batchNo, - ip.relIdFk, - ip.productionDate, - ip.expireDate, - ip.customerId, - ip.supId, - sum(ip.inCount) inCount, - sum(ip.outCount) outCount, - sum(ip.reCount) reCount + bp.nameCode, + bp.ylqxzcrbarmc, + bp.zczbhhzbapzbh, + bc.name supName, + bp.ggxh, + aw.name invName, + ip.batchNo, + ip.relIdFk, + ip.productionDate, + ip.expireDate, + ip.customerId, + ip.supId, + sum(ip.inCount) inCount, + sum(ip.outCount) outCount, + sum(ip.reCount) reCount from inv_product ip - inner join basic_udirel bu on ip.relIdFk = bu.id - inner join basic_products bp on bu.uuid = bp.uuid - left join basic_corp bc on ip.supId = bc.erpId - left join auth_warehouse aw on aw.code = ip.invCode + inner join basic_udirel bu on ip.relIdFk = bu.id + inner join basic_products bp on bu.uuid = bp.uuid + left join basic_corp bc on ip.supId = bc.erpId + left join auth_warehouse aw on aw.code = ip.invCode bp.diType = 1 @@ -150,13 +150,13 @@ select ip.* from inv_product ip - left join inv_product_detail ipd on ip.relIdFk = ipd.relId - and ifnull(ip.batchNo, 'empty') = ifnull(ipd.batchNo, 'empty') - and ip.deptCode = ipd.deptCode - and ip.invCode = ipd.invCode + left join inv_product_detail ipd on ip.relIdFk = ipd.relId + and ifnull(ip.batchNo, 'empty') = ifnull(ipd.batchNo, 'empty') + and ip.deptCode = ipd.deptCode + and ip.invCode = ipd.invCode AND ip.relIdFk = #{relId} @@ -208,22 +208,22 @@ select ip.relIdFk, - ip.deptCode, - ip.invCode, - ipd.invSpaceCode, - ip.batchNo, - ip.productionDate, - ip.expireDate, - ip.supId, - ip.inCount, - ip.outCount, - ip.reCount + ip.deptCode, + ip.invCode, + ipd.invSpaceCode, + ip.batchNo, + ip.productionDate, + ip.expireDate, + ip.supId, + ip.inCount, + ip.outCount, + ip.reCount from inv_product ip - left join inv_product_detail ipd - on ip.relIdFk = ipd.relId and ifnull(ip.batchNo, 'empty') = ifnull(ipd.batchNo, 'empty') + left join inv_product_detail ipd + on ip.relIdFk = ipd.relId and ifnull(ip.batchNo, 'empty') = ifnull(ipd.batchNo, 'empty') AND ip.invCode = #{invCode} @@ -276,10 +276,10 @@ select ip.id, - ip.nameCode, - bp.cpmctymc, - ip.relIdFk, - bp.ggxh, - ip.batchNo, - ip.productionDate, - ip.expireDate, - bp.ylqxzcrbarmc, - bp.zczbhhzbapzbh, - sum(ip.inCount) as inCount, - sum(ip.outCount) as outCount, - sum(ip.reCount) as reCount, - ip.customerId, - basic_corp.name supName, - ip.supId, - auth_dept.name deptName, - auth_warehouse.name invName, - ip.deptCode, - ip.invCode + ip.nameCode, + bp.cpmctymc, + ip.relIdFk, + bp.ggxh, + ip.batchNo, + ip.productionDate, + ip.expireDate, + bp.ylqxzcrbarmc, + bp.zczbhhzbapzbh, + sum(ip.inCount) as inCount, + sum(ip.outCount) as outCount, + sum(ip.reCount) as reCount, + ip.customerId, + basic_corp.name supName, + ip.supId, + auth_dept.name deptName, + auth_warehouse.name invName, + ip.deptCode, + ip.invCode from inv_product ip - inner join basic_udirel on ip.relIdFk = basic_udirel.id - inner join basic_products bp on basic_udirel.uuid = bp.uuid - left join basic_corp on ip.supId = basic_corp.erpId - left join auth_dept on auth_dept.code = ip.deptCode - left join auth_warehouse on auth_warehouse.code = ip.invCode - left join inv_product_detail ipd on ip.invCode = ipd.invCode and ip.relIdFk = ipd.relId and - ifnull(ip.batchNo, 'empty') = ifnull(ipd.batchNo, 'empty') + inner join basic_udirel on ip.relIdFk = basic_udirel.id + inner join basic_products bp on basic_udirel.uuid = bp.uuid + left join basic_corp on ip.supId = basic_corp.erpId + left join auth_dept on auth_dept.code = ip.deptCode + left join auth_warehouse on auth_warehouse.code = ip.invCode + left join inv_product_detail ipd on ip.invCode = ipd.invCode and ip.relIdFk = ipd.relId and + ifnull(ip.batchNo, 'empty') = ifnull(ipd.batchNo, 'empty') bp.diType = 1 diff --git a/src/main/resources/mybatis/mapper/inv/invProductDetailDao.xml b/src/main/resources/mybatis/mapper/inv/invProductDetailDao.xml index 4a7ee4e18..af68d03ce 100644 --- a/src/main/resources/mybatis/mapper/inv/invProductDetailDao.xml +++ b/src/main/resources/mybatis/mapper/inv/invProductDetailDao.xml @@ -3,6 +3,86 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + + - select * from basic_export_status + select * + from basic_export_status - AND id LIKE concat('%',#{id},'%') + AND id LIKE concat('%', #{id}, '%') - + and status = #{status} - + and `type` = #{type} - + and idDatas = #{idDatas} - + and scheduleType = #{scheduleType} - and #{syncTime} >= startTime and #{syncTime} <= endTime + and #{syncTime} >= startTime + and #{syncTime} <= endTime order by updateTime desc @@ -33,32 +34,50 @@ replace - INTO basic_export_status(id,idDatas,status,type,updateTime,scheduleType,startTime,endTime,remark,cacheFilePath) - values( - #{id}, - #{idDatas}, - #{status}, - #{type}, - #{updateTime}, - #{scheduleType}, - #{startTime}, - #{endTime}, - #{remark}, - #{cacheFilePath} - ) + INTO basic_export_status(id, idDatas, status, type, updateTime, scheduleType, startTime, endTime, + remark, cacheFilePath) + values (#{id}, + #{idDatas}, + #{status}, + #{type}, + #{updateTime}, + #{scheduleType}, + #{startTime}, + #{endTime}, + #{remark}, + #{cacheFilePath}) UPDATE basic_export_status - idDatas=#{idDatas}, - status=#{status}, - type=#{type}, - updateTime=#{updateTime}, - scheduleType=#{scheduleType}, - startTime=#{startTime}, - endTime=#{endTime}, - remark=#{remark}, + + idDatas=#{idDatas}, + + + status=#{status}, + + + type=#{type}, + + + updateTime=#{updateTime}, + + + scheduleType=#{scheduleType}, + + + startTime=#{startTime}, + + + endTime=#{endTime}, + + + remark=#{remark}, + + + cacheFilePath=#{cacheFilePath}, + WHERE id = #{id} @@ -69,11 +88,14 @@ - Delete From basic_export_status - where date(startTime) <= date(DATE_SUB(NOW(),INTERVAL 30 day)) + Delete + From basic_export_status + where date(startTime) <= date(DATE_SUB(NOW(), INTERVAL 30 day)) - delete from basic_export_status where date_format(#{date}, '%Y-%m-%d') >= date_format(startTime, '%Y-%m-%d') + delete + from basic_export_status + where date_format(#{date}, '%Y-%m-%d') >= date_format(startTime, '%Y-%m-%d') diff --git a/src/main/resources/mybatis/mapper/system/SyncDataChangeBustypesDao.xml b/src/main/resources/mybatis/mapper/system/SyncDataChangeBustypesDao.xml index d701a9daf..5d2c2fad8 100644 --- a/src/main/resources/mybatis/mapper/system/SyncDataChangeBustypesDao.xml +++ b/src/main/resources/mybatis/mapper/system/SyncDataChangeBustypesDao.xml @@ -1,17 +1,17 @@ - - - - - - - - - - - - id, `action`, `name`, outChange, orderStatus - - \ No newline at end of file + + + + + + + + + + + + id, `action`, `name`, outChange, orderStatus + + diff --git a/src/main/resources/schemas/schema_v2.1.sql b/src/main/resources/schemas/schema_v2.1.sql index f8d5d1483..7096027c8 100644 --- a/src/main/resources/schemas/schema_v2.1.sql +++ b/src/main/resources/schemas/schema_v2.1.sql @@ -389,3 +389,5 @@ CALL Pro_Temp_ColumnWork('auth_dept_user', 'userId', 'bigint', 2); CALL Pro_Temp_ColumnWork('auth_dept_user', 'deptId', 'bigint', 2); CALL Pro_Temp_ColumnWork('basic_bustype_pre', 'Id', 'bigint', 2); CALL Pro_Temp_ColumnWork('basic_export_status', 'remark', 'varchar(2048)', 2); +CALL Pro_Temp_ColumnWork('sup_cert', 'filePath', 'text', 2); +CALL Pro_Temp_ColumnWork('sync_data_bustypes', 'id', 'bigint', 2);