diff --git a/src/main/java/com/glxp/api/constant/Constant.java b/src/main/java/com/glxp/api/constant/Constant.java index 38179c86a..9c62c7459 100644 --- a/src/main/java/com/glxp/api/constant/Constant.java +++ b/src/main/java/com/glxp/api/constant/Constant.java @@ -6,6 +6,8 @@ public class Constant { public static final String INV_PRE_IN_CODE = "1000001";//默认预验收仓库号 public static final String INV_PRE_CODE = "1000002";//默认寄售仓库号 + + public static String MUTI = "MUTI"; public static final String SERIAL_CACHE_PREFIX = "serial_"; @@ -227,13 +229,15 @@ public class Constant { */ public static final String ORDER_STATUS_CHECK_SUCCESS = "checkSuccess"; - public static final String ORDER_STATUS_WAIT_AUDITED = "waitAudited"; - /** * 单据-已审核标识 */ public static final String ORDER_STATUS_AUDITED = "audited"; + /** + * 待审核 + */ + public static final String ORDER_STATUS_WAIT_AUDITED = "waitAudited"; /** * 单据-供应商已审核 @@ -258,14 +262,17 @@ public class Constant { * 发票登记界面: supInvoice * 出入库明细账 norDetail * 寄售出入库明细账 preDetail + * 预验收出入库明细账 preInDetail */ public static final String ORDER_ACTION_NOR_DETAIL = "norDetail"; public static final String ORDER_ACTION_PRE_DETAIL = "preDetail"; + public static final String ORDER_ACTION_PREIN_DETAIL = "preInDetail"; public static final String ORDER_ACTION_SUP_DELIVERY = "supDelivery"; public static final String ORDER_ACTION_SUP_INVOICE = "supInvoice"; public static final String ORDER_ACTION_SUP_DELAUDIT = "supDelAudit"; public static final String ORDER_ACTION_SUP_INOUT = "supInout"; public static final String ORDER_ACTION_SUP_PREIN = "preInOrder"; + } diff --git a/src/main/java/com/glxp/api/controller/basic/BasicProductSetController.java b/src/main/java/com/glxp/api/controller/basic/BasicProductSetController.java new file mode 100644 index 000000000..ca3e9f6cc --- /dev/null +++ b/src/main/java/com/glxp/api/controller/basic/BasicProductSetController.java @@ -0,0 +1,48 @@ +package com.glxp.api.controller.basic; + +import com.github.pagehelper.PageInfo; +import com.glxp.api.annotation.AuthRuleAnnotation; +import com.glxp.api.annotation.Log; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.constant.BusinessType; +import com.glxp.api.entity.basic.BasicProductSetEntity; +import com.glxp.api.req.basic.FilterBasicProductSetrequest; +import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.service.basic.BasicProductSetService; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; + +@RestController +public class BasicProductSetController { + + @Resource + BasicProductSetService basicProductSetService; + + + @AuthRuleAnnotation("") + @GetMapping("/spms/basicProduct/setup/filter") + public BaseResponse filterSetUps(FilterBasicProductSetrequest filterBasicProductSetrequest) { + List basicProductSetEntities = basicProductSetService.filterSetup(filterBasicProductSetrequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(basicProductSetEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(basicProductSetEntities); + return ResultVOUtils.success(pageSimpleResponse); + } + + @AuthRuleAnnotation("") + @PostMapping("/spms/basicProduct/setup/modify") + @Log(title = "单据管理", businessType = BusinessType.UPDATE) + public BaseResponse modifySetup(@RequestBody BasicProductSetEntity basicProductSetEntity) { + basicProductSetService.updateSetup(basicProductSetEntity); + return ResultVOUtils.success("修改成功"); + } + +} diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderReviewController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderReviewController.java index 8cd2a7cd6..b5743ac3f 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderReviewController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderReviewController.java @@ -30,6 +30,7 @@ import com.glxp.api.res.inout.IoOrderDetailResultResponse; import com.glxp.api.res.inout.IoOrderResponse; import com.glxp.api.res.sync.SpsSyncOrderResponse; import com.glxp.api.service.auth.AuthAdminService; +import com.glxp.api.service.auth.InvBusUserService; import com.glxp.api.service.basic.EntrustReceService; import com.glxp.api.service.basic.IBasicBussinessTypeService; import com.glxp.api.service.inout.*; @@ -48,6 +49,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import java.awt.*; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -435,6 +437,11 @@ public class IoOrderReviewController extends BaseController { if (StrUtil.isEmpty(reviewSpmsRequest.getBillNo())) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); } + Long userId = getUserId(); + String errMsg = checkReviewAuth(billNo, userId + ""); + if (StrUtil.isNotEmpty(errMsg)) { + return ResultVOUtils.error(500, errMsg); + } AcceptOrderResponse acceptOrderEntity = new AcceptOrderResponse(); acceptOrderEntity.setBillNo(billNo); List datas = (List) redisUtil.get(ConstantStatus.REDIS_BILLNO + billNo); @@ -456,7 +463,7 @@ public class IoOrderReviewController extends BaseController { acceptOrderEntity.setExitAccept(false); } else { //获取自助平台待审核单据,并插入到数据库 - BaseResponse baseResponse = spGetHttp.getReviewOrder(reviewSpmsRequest); + BaseResponse baseResponse = spGetHttp.getReviewOrder(reviewSpmsRequest, userId + ""); if (baseResponse.getCode() == 20000) { SpsSyncOrderResponse spsSyncOrderResponse = baseResponse.getData(); List orderEntities = spsSyncOrderResponse.getOrderEntities(); @@ -490,5 +497,26 @@ public class IoOrderReviewController extends BaseController { return ResultVOUtils.success(acceptOrderEntity); } + @Resource + InvBusUserService invBusUserService; + + //校验用户是否验收权限 + private String checkReviewAuth(String orderId, String userId) { + IoOrderEntity orderEntity = orderService.findByBillNo(orderId); + if (orderEntity.getStatus() != ConstantStatus.ORDER_STATUS_CHECK_REW || orderEntity.getStatus() != ConstantStatus.ORDER_STATUS_CHECK_SUCCESS) { + return "单据非未验收状态,无法审核!"; + } + if (!invBusUserService.exitBus(userId, orderEntity.getAction())) { + EntrustReceEntity entrustReceEntity = entrustReceService.findByUnique(orderEntity.getAction(), Long.parseLong(userId)); + if (entrustReceEntity == null) { + return "无验收权限!"; + } + } else { + return "无验收权限!"; + } + + + return null; + } } diff --git a/src/main/java/com/glxp/api/dao/basic/BasicBussinessTypeDao.java b/src/main/java/com/glxp/api/dao/basic/BasicBussinessTypeDao.java index f4512f5da..3aec53d70 100644 --- a/src/main/java/com/glxp/api/dao/basic/BasicBussinessTypeDao.java +++ b/src/main/java/com/glxp/api/dao/basic/BasicBussinessTypeDao.java @@ -17,7 +17,6 @@ public interface BasicBussinessTypeDao extends BaseMapperPlus filterList(FilterBussinessTypeRequest filterBussinessTypeRequest); 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 24cab3b51..e678b5b39 100644 --- a/src/main/java/com/glxp/api/http/sync/SpGetHttpClient.java +++ b/src/main/java/com/glxp/api/http/sync/SpGetHttpClient.java @@ -1,5 +1,8 @@ package com.glxp.api.http.sync; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.convert.Convert; +import cn.hutool.core.util.ArrayUtil; import cn.hutool.json.JSONUtil; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.TypeReference; @@ -10,6 +13,7 @@ import com.glxp.api.entity.basic.ProductInfoEntity; import com.glxp.api.entity.sync.BasicExportStatusEntity; import com.glxp.api.entity.sync.IOOrderStatusEntity; import com.glxp.api.entity.system.SyncDataSetEntity; +import com.glxp.api.idc.service.FileService; import com.glxp.api.req.basic.ProductInfoFilterRequest; import com.glxp.api.req.inout.ReviewFinishRequest; import com.glxp.api.req.inout.ReviewSpmsRequest; @@ -106,9 +110,12 @@ public class SpGetHttpClient { //获取自助平台验收单据---直连接口 - public BaseResponse getReviewOrder(ReviewSpmsRequest reviewSpmsRequest) { + public BaseResponse getReviewOrder(ReviewSpmsRequest reviewSpmsRequest, String userId) { String json = JSONUtil.toJsonStr(reviewSpmsRequest); - String result = okHttpCli.doPostJson(getIpUrl() + "/directToSpms" + "/udiwms/order/getReviews", json, buildHeader()); + List header = (List) Convert.toList(buildHeader()); + header.add("ADMIN_ID"); + header.add(userId); + String result = okHttpCli.doPostJson(getIpUrl() + "/directToSpms" + "/udiwms/order/getReviews", json, Convert.toStrArray(header)); BaseResponse response = JSONObject.parseObject(result, new TypeReference>() { }); @@ -372,12 +379,17 @@ public class SpGetHttpClient { * @param fileNameList * @return */ - public BaseResponse postTemplateFile(List> fileNameList) { - String json = JSONUtil.toJsonStr(fileNameList); - String result = okHttpCli.doPostJson(getIpUrl() + "/spssync/file/download", json, buildHeader()); - BaseResponse response = - JSONObject.parseObject(result, new TypeReference>() { - }); - return response; + @Resource + FileService fileService; + + public BaseResponse postTemplateFile(List fileNameList) { + return fileService.upload(fileNameList); + +// String json = JSONUtil.toJsonStr(fileNameList); +// String result = okHttpCli.doPostJson(getIpUrl() + "/spssync/file/download", json, buildHeader()); +// BaseResponse response = +// JSONObject.parseObject(result, new TypeReference>() { +// }); +// return response; } } diff --git a/src/main/java/com/glxp/api/req/basic/BussinessTypeSaveRequest.java b/src/main/java/com/glxp/api/req/basic/BussinessTypeSaveRequest.java index fa44a124d..4d5f753f6 100644 --- a/src/main/java/com/glxp/api/req/basic/BussinessTypeSaveRequest.java +++ b/src/main/java/com/glxp/api/req/basic/BussinessTypeSaveRequest.java @@ -301,7 +301,6 @@ public class BussinessTypeSaveRequest { private String preInBackAction; private Integer backPreinType; private Integer sortNum; - private String checkPreInOrders; private Boolean advancePreIn; diff --git a/src/main/java/com/glxp/api/res/basic/BasicBussinessTypeResponse.java b/src/main/java/com/glxp/api/res/basic/BasicBussinessTypeResponse.java index 93d2e9199..1e6785904 100644 --- a/src/main/java/com/glxp/api/res/basic/BasicBussinessTypeResponse.java +++ b/src/main/java/com/glxp/api/res/basic/BasicBussinessTypeResponse.java @@ -149,7 +149,6 @@ public class BasicBussinessTypeResponse { private Integer checkCertExpire; private String preInBackAction; private Integer backPreinType; - private String checkPreInOrders; private Boolean advancePreIn; private Integer sortNum; } diff --git a/src/main/java/com/glxp/api/service/auth/InvBusUserService.java b/src/main/java/com/glxp/api/service/auth/InvBusUserService.java index 05b82be2b..a4b36c819 100644 --- a/src/main/java/com/glxp/api/service/auth/InvBusUserService.java +++ b/src/main/java/com/glxp/api/service/auth/InvBusUserService.java @@ -5,6 +5,7 @@ import com.glxp.api.entity.auth.InvBusUserEntity; import com.glxp.api.entity.auth.WarehouseBussinessTypeEntity; import com.glxp.api.req.auth.FilterInvBusUserRequest; import com.glxp.api.res.auth.InvBusUserResponse; + import java.util.List; public interface InvBusUserService { @@ -24,6 +25,9 @@ public interface InvBusUserService { boolean deleteById(String id); boolean deleteByUnion(String userId, String subInvCode); - boolean deleteByscAction( String subInvCode, List selectedCodes); + + boolean deleteByscAction(String subInvCode, List selectedCodes); + + boolean exitBus(String userId, String action); } diff --git a/src/main/java/com/glxp/api/service/auth/impl/InvBusUserServiceImpl.java b/src/main/java/com/glxp/api/service/auth/impl/InvBusUserServiceImpl.java index b4c43889f..f04a7dd8d 100644 --- a/src/main/java/com/glxp/api/service/auth/impl/InvBusUserServiceImpl.java +++ b/src/main/java/com/glxp/api/service/auth/impl/InvBusUserServiceImpl.java @@ -1,6 +1,7 @@ package com.glxp.api.service.auth.impl; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.pagehelper.PageHelper; import com.glxp.api.dao.auth.InvBusUserDao; import com.glxp.api.entity.auth.InvBusUserEntity; @@ -98,10 +99,15 @@ public class InvBusUserServiceImpl implements InvBusUserService { } @Override - public boolean deleteByscAction(String subInvCode,List selectedCodes) { + public boolean deleteByscAction(String subInvCode, List selectedCodes) { if (CollectionUtils.isEmpty(selectedCodes) || StrUtil.isEmpty(subInvCode)) { return false; } - return invBusUserDao.deleteByscAction(subInvCode,selectedCodes); + return invBusUserDao.deleteByscAction(subInvCode, selectedCodes); + } + + @Override + public boolean exitBus(String userId, String action) { + return invBusUserDao.exists(new QueryWrapper().eq("userId", userId).eq("action", action)); } } diff --git a/src/main/java/com/glxp/api/service/basic/impl/BasicBussinessTypeServiceImpl.java b/src/main/java/com/glxp/api/service/basic/impl/BasicBussinessTypeServiceImpl.java index 717fa7ecf..ce7ce6176 100644 --- a/src/main/java/com/glxp/api/service/basic/impl/BasicBussinessTypeServiceImpl.java +++ b/src/main/java/com/glxp/api/service/basic/impl/BasicBussinessTypeServiceImpl.java @@ -210,13 +210,17 @@ public class BasicBussinessTypeServiceImpl extends ServiceImpl() - .eq("actionType", 1).eq("inStock", true)); + .eq("actionType", 1).eq("inStock", true).eq("enable", true)); break; case Constant.ORDER_ACTION_PRE_DETAIL: bussinessTypeEntities = basicBussinessTypeDao.selectList(new QueryWrapper() .eq("actionType", 3).eq("inStock", true).eq("enable", true)); break; + case Constant.ORDER_ACTION_PREIN_DETAIL: + bussinessTypeEntities = basicBussinessTypeDao.selectList(new QueryWrapper() + .eq("actionType", 2).eq("inStock", true).eq("enable", true)); + break; case Constant.ORDER_ACTION_SUP_DELIVERY: //允许送货单直接入库变更库存,则不判断送货单是否入库 String deliveryInstock = systemParamConfigService.selectValueByParamKey("deliveryInstock"); @@ -248,10 +252,10 @@ public class BasicBussinessTypeServiceImpl extends ServiceImpl() .gt("spUse", 0).eq("enable", true)); break; - case Constant.ORDER_ACTION_SUP_PREIN: bussinessTypeEntities = basicBussinessTypeDao.selectList(new QueryWrapper() .gt("spUse", 0).eq("enable", true).eq("corpType", ConstantStatus.CORP_TYPE_OUT).eq("actionType", 2)); + default: break; } diff --git a/src/main/java/com/glxp/api/service/inv/impl/InnerOrderServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InnerOrderServiceImpl.java index 5a0c2bf72..797567e49 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/InnerOrderServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/InnerOrderServiceImpl.java @@ -29,7 +29,10 @@ public class InnerOrderServiceImpl implements InnerOrderService { InnerOrderRequest innerOrderRequest = new InnerOrderRequest(); innerOrderRequest.setRecordKey(recordKey); List data = innerOrderDao.queryPageList(innerOrderRequest); - return data.get(0); + if(data!=null && data.size()>0){ + return data.get(0); + } + return new InnerOrderEntity(); } @Override 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 d727b2415..ef908a01b 100644 --- a/src/main/java/com/glxp/api/service/sync/HeartService.java +++ b/src/main/java/com/glxp/api/service/sync/HeartService.java @@ -1343,16 +1343,10 @@ public class HeartService { //若模板记录不为空,则将模板文件同步过去 String uploadFileLog = ""; if (CollUtil.isNotEmpty(spsSyncSysSettingResponse.getSystemPDFTemplateEntities())) { - List> list = new ArrayList<>(spsSyncSysSettingResponse.getSystemPDFTemplateEntities().size() * 2); +// List> list = new ArrayList<>(spsSyncSysSettingResponse.getSystemPDFTemplateEntities().size() * 2); + List list = new ArrayList<>(); spsSyncSysSettingResponse.getSystemPDFTemplateEntities().forEach(systemPDFTemplateEntity -> { - //分切文件并封装参数 - Map pathFileMap = new HashMap<>(1); - pathFileMap.put("fileName", StrUtil.split(systemPDFTemplateEntity.getPath(), "template/").get(1)); - list.add(pathFileMap); - - Map jrxmlPathFileMap = new HashMap<>(1); - jrxmlPathFileMap.put("fileName", StrUtil.split(systemPDFTemplateEntity.getJrxmlPath(), "template/").get(1)); - list.add(jrxmlPathFileMap); + list.add(systemPDFTemplateEntity.getPath()); }); BaseResponse response = spGetHttp.postTemplateFile(list); diff --git a/src/main/resources/mybatis/mapper/basic/BasicBussinessTypeDao.xml b/src/main/resources/mybatis/mapper/basic/BasicBussinessTypeDao.xml index 6823e196c..26cb25018 100644 --- a/src/main/resources/mybatis/mapper/basic/BasicBussinessTypeDao.xml +++ b/src/main/resources/mybatis/mapper/basic/BasicBussinessTypeDao.xml @@ -12,7 +12,6 @@ AND bu.action like concat('%', #{action}, '%') - AND bu.inStock = #{inStock} @@ -34,6 +33,9 @@ AND bu.secCheckEnable = #{secCheckEnable} + + AND bu.actionType = #{actionType} + AND bu.busType = #{busType} @@ -70,7 +72,8 @@ vailGroupBuy, busType, inStock, actionType, thrCheckEnable, thrCheckWebNew, thrCheckPdaUn, thrCheckPdaEd, thrCheckUdims, thrCheckPc, thrCheckSp, thrCheckChange, thrCheckBalance, thrCheckCopy, fillCodeRel, checkVailDate, - checkExpire, checkCertExpire, preInBackAction, backPreinType, sortNum) + checkExpire, checkCertExpire, preInBackAction, backPreinType, + sortNum) values (#{mainAction}, #{action}, #{name}, #{enable}, #{remark}, #{thirdSysFk}, #{genUnit}, #{innerOrder}, #{secCheckEnable}, #{checkEnable}, #{checkUdims}, #{checkPdaEd}, #{checkPdaUn}, #{checkPc}, #{checkWebNew}, #{checkSp}, #{checkChange}, #{secCheckUdims}, #{secCheckPdaEd}, #{secCheckPdaUn}, @@ -82,7 +85,8 @@ #{vailGroupBuy}, #{busType}, #{inStock}, #{actionType}, #{thrCheckEnable}, #{thrCheckWebNew}, #{thrCheckPdaUn}, #{thrCheckPdaEd}, #{thrCheckUdims}, #{thrCheckPc}, #{thrCheckSp}, #{thrCheckChange}, #{thrCheckBalance}, #{thrCheckCopy}, #{fillCodeRel}, #{checkVailDate}, - #{checkExpire}, #{checkCertExpire}, #{preInBackAction}, #{backPreinType}, #{sortNum}) + #{checkExpire}, #{checkCertExpire}, #{preInBackAction}, #{backPreinType}, + #{sortNum})