فهرست منبع

仓单品种设置-->交收仓库管理

xie.kaifeng 1 سال پیش
والد
کامیت
427746c7b7

+ 8 - 0
mtp3-century/src/main/java/com/muchinfo/mtp3century/configuration/RabbitConfig.java

@@ -62,6 +62,10 @@ public class RabbitConfig {
     }
     }
 
 
     @Bean
     @Bean
+    public Queue warehouseQueue() {
+        return new Queue("warehouseQueue");
+    }
+    @Bean
     Binding bindingBankQueue() {
     Binding bindingBankQueue() {
         return BindingBuilder.bind(bankQueue()).to(exchange()).with("bank_rsp");
         return BindingBuilder.bind(bankQueue()).to(exchange()).with("bank_rsp");
     }
     }
@@ -90,4 +94,8 @@ public class RabbitConfig {
     Binding bindingOrderQueue() {
     Binding bindingOrderQueue() {
         return BindingBuilder.bind(orderQueue()).to(exchange()).with("order_rsp");
         return BindingBuilder.bind(orderQueue()).to(exchange()).with("order_rsp");
     }
     }
+    @Bean
+    Binding bindingWarehouseQueue() {
+        return BindingBuilder.bind(warehouseQueue()).to(exchange()).with("wr_response");
+    }
 }
 }

+ 28 - 0
mtp3-century/src/main/java/com/muchinfo/mtp3century/controller/WarehouseController.java

@@ -101,4 +101,32 @@ public class WarehouseController {
     public PageResult<WarehouseReceiptResult> receiptquery(WarehouseReceiptParam param, HttpServletRequest request) {
     public PageResult<WarehouseReceiptResult> receiptquery(WarehouseReceiptParam param, HttpServletRequest request) {
         return iWarehouseService.receiptquery(param, request);
         return iWarehouseService.receiptquery(param, request);
     }
     }
+
+    @RequestMapping(method = RequestMethod.POST, value = "/receiptadd")
+    @ApiOperation("仓储仓单管理--> 交收仓库管理 --> 新增、修改")
+    @ApiResponse(code = 200, message = "成功", response = PageResult.class)
+    public AjaxResult receiptadd(@RequestBody WarehouseReceiptAddParam param, HttpServletRequest request) {
+        return iWarehouseService.dealreceipt(param, request);
+    }
+
+    @RequestMapping(method = RequestMethod.GET, value = "/receiptDetail")
+    @ApiOperation("仓储仓单管理--> 交收仓库管理 --> 详情")
+    @ApiResponse(code = 200, message = "成功", response = AjaxResult.class)
+    public AjaxResult<WarehouseReceiptDetailResult> receiptDetail(Long warehouseid,Integer isaudit, HttpServletRequest request) {
+        return iWarehouseService.receiptDetail(warehouseid,isaudit, request);
+    }
+
+    @RequestMapping(method = RequestMethod.POST, value = "/receiptaudit")
+    @ApiOperation("仓储仓单管理--> 交收仓库管理 --> 审核")
+    @ApiResponse(code = 200, message = "成功", response = AjaxResult.class)
+    public AjaxResult receiptaudit(@RequestBody WarehouseReceiptAuditParam param, HttpServletRequest request) {
+        return iWarehouseService.receiptaudit(param, request);
+    }
+
+    @RequestMapping(method = RequestMethod.GET, value = "/receiptlogff")
+    @ApiOperation("仓储仓单管理--> 交收仓库管理 --> 注销")
+    @ApiResponse(code = 200, message = "成功", response = AjaxResult.class)
+    public AjaxResult receiptlogff(Long autoid, HttpServletRequest request) {
+        return iWarehouseService.receiptlogff(autoid, request);
+    }
 }
 }

+ 415 - 0
mtp3-century/src/main/java/com/muchinfo/mtp3century/listener/WarehouseQueueListener.java

@@ -0,0 +1,415 @@
+package com.muchinfo.mtp3century.listener;
+
+import com.muchinfo.mtp.proto.WarehouseInputMI1.ContractForceRsp;
+import com.muchinfo.mtp.proto.WarehouseReceiptMI1.*;
+import com.muchinfo.mtp.proto.WarehouseReceiptMI2;
+import com.muchinfo.mtp.proto.WarehouseReceiptMI2.GetWRFactorTypeIDRsp;
+import com.muchinfo.mtp.proto.WarehouseReceiptMI2.WRCreditApplyAuditRsp;
+import com.muchinfo.mtp3common.enumtype.FunCodeConstants;
+import com.muchinfo.mtp3common.utils.PropertyUtils;
+import com.muchinfo.mtp3common.utils.SerialNumberUtils;
+import com.muchinfo.mtp3common.vo.Calculator;
+import com.muchinfo.mtp3common.vo.ProtoHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.amqp.core.Message;
+import org.springframework.amqp.core.MessageListener;
+import org.springframework.amqp.rabbit.annotation.RabbitListener;
+import org.springframework.stereotype.Component;
+
+@Component
+@RabbitListener(queues = "warehouseQueue")
+public class WarehouseQueueListener implements MessageListener {
+	private final static Logger logger = LoggerFactory.getLogger(WarehouseQueueListener.class) ;
+	
+	@Override
+	public void onMessage(Message message) {
+		logger.debug("GET MESSAGE---------------WarehouseQueueListener---------------------");
+		byte[] msgBody = message.getBody();
+		int serverId = ProtoHelper.getServerIdForNTAS(msgBody);
+		int funCode = ProtoHelper.getFunCodeForNTAS(msgBody);
+		if (serverId != PropertyUtils.serverId) {
+			logger.debug("非本服务器消息-------------------------{}-----------", funCode);
+			return;
+		}
+		try {
+			byte[] body = ProtoHelper.getProtoForNTAS(msgBody);
+			switch (funCode) {
+				//仓单注册审核
+				case FunCodeConstants.FunCode_Trade_ReceiptRegisterSuccessRsp: {
+					ReceiptRegisterSuccessRsp rsp = ReceiptRegisterSuccessRsp.parseFrom(body);
+					logger.debug("收到响应:{}", rsp.toString());
+					Long uuid = rsp.getCommon().getTradeID();
+					SerialNumberUtils.putMessageMap(uuid, rsp);
+					Calculator c = SerialNumberUtils.lockMap.get(uuid);
+					if (c != null) {
+						c.start();
+					}
+					break;
+				}
+				// 仓单转定单申请回应(ReceiptToHoldApplyRsp)
+				case FunCodeConstants.FunCode_Trade_ReceiptToHoldApplyRsp: {
+					ReceiptToHoldApplyRsp rsp = ReceiptToHoldApplyRsp.parseFrom(body);
+					logger.debug("收到响应:{}", rsp.toString());
+					Long uuid = rsp.getRelatedOrderID();
+					SerialNumberUtils.putMessageMap(uuid, rsp);
+					Calculator c = SerialNumberUtils.lockMap.get(uuid);
+					if (c != null) {
+						c.start();
+					}
+					break;
+				}
+				// 定单转仓单申请回应(HoldToReceiptApplyRsp)
+				case FunCodeConstants.FunCode_Trade_HoldToReceiptApplyRsp: {
+					HoldToReceiptApplyRsp rsp = HoldToReceiptApplyRsp.parseFrom(body);
+					logger.debug("收到响应:{}", rsp.toString());
+					Long uuid = rsp.getRelatedOrderID();
+					SerialNumberUtils.putMessageMap(uuid, rsp);
+					Calculator c = SerialNumberUtils.lockMap.get(uuid);
+					if (c != null) {
+						c.start();
+					}
+					break;
+				}
+				// 仓单转定单审核回应(ReceiptToHoldVerifyRsp)
+				case FunCodeConstants.FunCode_Trade_ReceiptToHoldVerifyRsp: {
+					ReceiptToHoldVerifyRsp rsp = ReceiptToHoldVerifyRsp.parseFrom(body);
+					logger.debug("收到响应:{}", rsp.toString());
+					Long uuid = rsp.getRelatedOrderID();
+					SerialNumberUtils.putMessageMap(uuid, rsp);
+					Calculator c = SerialNumberUtils.lockMap.get(uuid);
+					if (c != null) {
+						c.start();
+					}
+					break;
+				}
+				// 定单转仓单审核回应(HoldToReceiptVerifyRsp)
+				case FunCodeConstants.FunCode_Trade_HoldToReceiptVerifyRsp: {
+					HoldToReceiptVerifyRsp rsp = HoldToReceiptVerifyRsp.parseFrom(body);
+					logger.debug("收到响应:{}", rsp.toString());
+					Long uuid = rsp.getRelatedOrderID();
+					SerialNumberUtils.putMessageMap(uuid, rsp);
+					Calculator c = SerialNumberUtils.lockMap.get(uuid);
+					if (c != null) {
+						c.start();
+					}
+					break;
+				}
+				// 提货申请回应(LadingApplyRsp)
+				case FunCodeConstants.FunCode_Trade_LadingApplyRsp: {
+					LadingApplyRsp rsp = LadingApplyRsp.parseFrom(body);
+					logger.debug("收到响应:{}", rsp.toString());
+					Long uuid = rsp.getCommon().getRelatedOrderID();
+					SerialNumberUtils.putMessageMap(uuid, rsp);
+					Calculator c = SerialNumberUtils.lockMap.get(uuid);
+					if (c != null) {
+						c.start();
+					}
+					break;
+				}
+				// 提货审核回应(LadingVerifyRsp)
+				case FunCodeConstants.FunCode_Trade_LadingVerifyRsp: {
+					LadingVerifyRsp rsp = LadingVerifyRsp.parseFrom(body);
+					logger.debug("收到响应:{}", rsp.toString());
+					Long uuid = rsp.getCommon().getTradeID();
+					SerialNumberUtils.putMessageMap(uuid, rsp);
+					Calculator c = SerialNumberUtils.lockMap.get(uuid);
+					if (c != null) {
+						c.start();
+					}
+					break;
+				}
+				// 提货删除回应(LadingCancelRsp)
+				case FunCodeConstants.FunCode_Trade_LadingCancelRsp: {
+					LadingCancelRsp rsp = LadingCancelRsp.parseFrom(body);
+					logger.debug("收到响应:{}", rsp.toString());
+					Long uuid = rsp.getCommon().getTradeID();
+					SerialNumberUtils.putMessageMap(uuid, rsp);
+					Calculator c = SerialNumberUtils.lockMap.get(uuid);
+					if (c != null) {
+						c.start();
+					}
+					break;
+				}
+				case FunCodeConstants.FunCode_Trade_HoldToReceiptDelistRsp: {    //退市转出 响应
+					HoldToReceiptDelistRsp holderRsp = HoldToReceiptDelistRsp.parseFrom(body);
+					logger.debug("HoldToReceiptDelistRsp={}", holderRsp.toString());
+					Long uuid = Long.valueOf(holderRsp.getHeader().getUUID());
+					SerialNumberUtils.endCalculator(uuid, holderRsp);
+					break;
+				}
+				case FunCodeConstants.FunCode_Trade_FreightConfirmRsp: {
+					//运费确认
+					FreightConfirmRsp rsp = FreightConfirmRsp.parseFrom(body);
+					logger.warn("FreightConfirmRsp={}", rsp.toString());
+					Long uuid = Long.valueOf(rsp.getHeader().getUUID());
+					SerialNumberUtils.putMessageMap(uuid, rsp);
+					Calculator c = SerialNumberUtils.lockMap.get(uuid);
+					if (c != null) {
+						c.start();
+					}
+					break;
+				}
+				case FunCodeConstants.FunCode_Trade_FreightRejectRsp: {
+					//运费拒绝
+					FreightRejectRsp rsp = FreightRejectRsp.parseFrom(body);
+					logger.warn("FreightRejectRsp={}", rsp.toString());
+					Long uuid = Long.valueOf(rsp.getHeader().getUUID());
+					SerialNumberUtils.putMessageMap(uuid, rsp);
+					Calculator c = SerialNumberUtils.lockMap.get(uuid);
+					if (c != null) {
+						c.start();
+					}
+					break;
+				}
+				case FunCodeConstants.FunCode_Trade_ReceiveConfirmRsp: {
+					//收货确认
+					ReceiveConfirmRsp rsp = ReceiveConfirmRsp.parseFrom(body);
+					logger.warn("ReceiveConfirmRsp={}", rsp.toString());
+					Long uuid = Long.valueOf(rsp.getHeader().getUUID());
+					SerialNumberUtils.putMessageMap(uuid, rsp);
+					Calculator c = SerialNumberUtils.lockMap.get(uuid);
+					if (c != null) {
+						c.start();
+					}
+					break;
+				}
+				case FunCodeConstants.FunCode_Trade_RetransmitDistributeRsp: {
+					//重新发布
+					RetransmitDistributeRsp rsp = RetransmitDistributeRsp.parseFrom(body);
+					logger.warn("RetransmitDistributeRsp={}", rsp.toString());
+					Long uuid = Long.valueOf(rsp.getHeader().getUUID());
+					SerialNumberUtils.putMessageMap(uuid, rsp);
+					Calculator c = SerialNumberUtils.lockMap.get(uuid);
+					if (c != null) {
+						c.start();
+					}
+					break;
+				}
+
+				case FunCodeConstants.FunCode_Trade_ContractForceRsp: {
+					//提货计划审核通过响应
+					ContractForceRsp rsp = ContractForceRsp.parseFrom(body);
+					logger.warn("FunCode_Trade_ContractForceRsp={}", rsp.toString());
+					Long uuid = Long.valueOf(rsp.getHeader().getUUID());
+					SerialNumberUtils.putMessageMap(uuid, rsp);
+					Calculator c = SerialNumberUtils.lockMap.get(uuid);
+					if (c != null) {
+						c.start();
+					}
+					break;
+				}
+				case FunCodeConstants.FunCode_Trade_ReceiptInApplyRegisterRsp: {
+					//入库注册复审通过响应
+					ReceiptInApplyRegisterRsp rsp = ReceiptInApplyRegisterRsp.parseFrom(body);
+					logger.warn("ReceiptInApplyRegisterRsp={}", rsp.toString());
+					Long uuid = Long.valueOf(rsp.getHeader().getUUID());
+					SerialNumberUtils.putMessageMap(uuid, rsp);
+					Calculator c = SerialNumberUtils.lockMap.get(uuid);
+					if (c != null) {
+						c.start();
+					}
+					break;
+				}
+				case FunCodeConstants.FunCode_Trade_ReceiptOutApplyLogoutRsp: {
+					//出库注销复审通过响应
+					ReceiptOutApplyLogoutRsp rsp = ReceiptOutApplyLogoutRsp.parseFrom(body);
+					logger.warn(FunCodeConstants.FunCode_Trade_ReceiptOutApplyLogoutRsp + "-出库注销复审通过响应-ReceiptOutApplyLogoutRsp-------------={}", rsp.toString());
+					logger.warn(FunCodeConstants.FunCode_Trade_ReceiptOutApplyLogoutRsp + "-出库注销复审通过响应-ReceiptOutApplyLogoutRsp=--------------------{}", rsp.toString());
+					Long uuid = Long.valueOf(rsp.getHeader().getUUID());
+					SerialNumberUtils.putMessageMap(uuid, rsp);
+					Calculator c = SerialNumberUtils.lockMap.get(uuid);
+					if (c != null) {
+						c.start();
+					}
+					break;
+				}
+				case FunCodeConstants.FunCode_Trade_ReceiptOutApplyLogoutRefuseRsp: {
+					//出库注销复审拒绝响应
+					ReceiptOutApplyLogoutRefuseRsp rsp = ReceiptOutApplyLogoutRefuseRsp.parseFrom(body);
+					logger.warn("ReceiptOutApplyLogoutRefuseRsp={}", rsp.toString());
+					Long uuid = Long.valueOf(rsp.getHeader().getUUID());
+					SerialNumberUtils.putMessageMap(uuid, rsp);
+					Calculator c = SerialNumberUtils.lockMap.get(uuid);
+					if (c != null) {
+						c.start();
+					}
+					break;
+				}
+				case FunCodeConstants.FunCode_Trade_ReceiptOutApplyRsp: {
+					//出库预约申请响应
+					ReceiptOutApplyRsp rsp = ReceiptOutApplyRsp.parseFrom(body);
+					logger.warn("ReceiptOutApplyRsp={}", rsp.toString());
+					Long uuid = Long.valueOf(rsp.getHeader().getUUID());
+					SerialNumberUtils.putMessageMap(uuid, rsp);
+					Calculator c = SerialNumberUtils.lockMap.get(uuid);
+					if (c != null) {
+						c.start();
+					}
+					break;
+				}
+				case FunCodeConstants.FunCode_Trade_SpotContractAuditRsp: {
+					//现货合同审核响应
+					WarehouseReceiptMI2.SpotContractAuditRsp rsp = WarehouseReceiptMI2.SpotContractAuditRsp.parseFrom(body);
+					logger.warn("SpotContractAuditRsp={}", rsp.toString());
+					Long uuid = Long.valueOf(rsp.getHeader().getUUID());
+					SerialNumberUtils.putMessageMap(uuid, rsp);
+					Calculator c = SerialNumberUtils.lockMap.get(uuid);
+					if (c != null) {
+						c.start();
+					}
+					break;
+				}
+				case FunCodeConstants.FunCode_Trade_ContractReckonRsp: {
+					//现货合同结算响应
+					WarehouseReceiptMI2.ContractReckonRsp rsp = WarehouseReceiptMI2.ContractReckonRsp.parseFrom(body);
+					logger.warn("ContractReckonRsp={}", rsp.toString());
+					Long uuid = Long.valueOf(rsp.getHeader().getUUID());
+					SerialNumberUtils.putMessageMap(uuid, rsp);
+					Calculator c = SerialNumberUtils.lockMap.get(uuid);
+					if (c != null) {
+						c.start();
+					}
+					break;
+				}
+				case FunCodeConstants.FunCode_Trade_MakeOutAnInvoiceRsp: {
+					//现货合同开票响应
+					MakeOutAnInvoiceRsp rsp = MakeOutAnInvoiceRsp.parseFrom(body);
+					logger.warn("MakeOutAnInvoiceRsp={}", rsp.toString());
+					Long uuid = Long.valueOf(rsp.getHeader().getUUID());
+					SerialNumberUtils.putMessageMap(uuid, rsp);
+					Calculator c = SerialNumberUtils.lockMap.get(uuid);
+					if (c != null) {
+						c.start();
+					}
+					break;
+				}
+				case FunCodeConstants.FunCode_Trade_ContractDeliveryRsp: {
+					//现货合同交收响应
+					ContractDeliveryRsp rsp = ContractDeliveryRsp.parseFrom(body);
+					logger.warn("ContractDeliveryRsp={}", rsp.toString());
+					Long uuid = Long.valueOf(rsp.getHeader().getUUID());
+					SerialNumberUtils.putMessageMap(uuid, rsp);
+					Calculator c = SerialNumberUtils.lockMap.get(uuid);
+					if (c != null) {
+						c.start();
+					}
+					break;
+				}
+				case FunCodeConstants.FunCode_Trade_ContractPointOrderRsp: {
+					//现货合同点价非业务响应
+					ContractPointOrderRsp rsp = ContractPointOrderRsp.parseFrom(body);
+					logger.warn("ContractPointOrderRsp={}", rsp.toString());
+					Long uuid = Long.valueOf(rsp.getHeader().getUUID());
+					SerialNumberUtils.putMessageMap(uuid, rsp);
+					Calculator c = SerialNumberUtils.lockMap.get(uuid);
+					if (c != null) {
+						c.start();
+					}
+					break;
+				}
+				case FunCodeConstants.FunCode_Trade_ContractCancelNonBusinessQtyRsp: {
+					//现货合同撤销非业务响应
+					ContractCancelNonBusinessQtyRsp rsp = ContractCancelNonBusinessQtyRsp.parseFrom(body);
+					logger.warn("ContractCancelNonBusinessQtyRsp={}", rsp.toString());
+					Long uuid = Long.valueOf(rsp.getHeader().getUUID());
+					SerialNumberUtils.putMessageMap(uuid, rsp);
+					Calculator c = SerialNumberUtils.lockMap.get(uuid);
+					if (c != null) {
+						c.start();
+					}
+					break;
+				}
+				case FunCodeConstants.FunCode_Trade_ContractCloseRsp: {
+					//现货合同完结响应
+					WarehouseReceiptMI2.ContractReckonRsp rsp = WarehouseReceiptMI2.ContractReckonRsp.parseFrom(body);
+					logger.warn("ContractCloseRsp={}", rsp.toString());
+					Long uuid = Long.valueOf(rsp.getHeader().getUUID());
+					SerialNumberUtils.putMessageMap(uuid, rsp);
+					Calculator c = SerialNumberUtils.lockMap.get(uuid);
+					if (c != null) {
+						c.start();
+					}
+					break;
+				}
+				case FunCodeConstants.FunCode_Trade_BizDeliveryRsp: {
+					//现货交收响应
+					WarehouseReceiptMI2.BizDeliveryRsp rsp = WarehouseReceiptMI2.BizDeliveryRsp.parseFrom(body);
+					logger.warn("Trade_BizDeliveryRsp={}", rsp.toString());
+					Long uuid = Long.valueOf(rsp.getHeader().getUUID());
+					SerialNumberUtils.putMessageMap(uuid, rsp);
+					Calculator c = SerialNumberUtils.lockMap.get(uuid);
+					if (c != null) {
+						c.start();
+					}
+					break;
+				}
+				case FunCodeConstants.FunCode_Trade_ClientSpotContractInvoiceApplyAuditRsp: {
+					//现货合同开票申请审核响应
+					WarehouseReceiptMI2.ClientSpotContractInvoiceApplyAuditRsp rsp = WarehouseReceiptMI2.ClientSpotContractInvoiceApplyAuditRsp.parseFrom(body);
+					logger.warn("ClientSpotContractInvoiceApplyAuditRsp={}", rsp.toString());
+					Long uuid = Long.valueOf(rsp.getHeader().getUUID());
+					SerialNumberUtils.putMessageMap(uuid, rsp);
+					Calculator c = SerialNumberUtils.lockMap.get(uuid);
+					if (c != null) {
+						c.start();
+					}
+					break;
+				}
+				case FunCodeConstants.FunCode_Trade_ClientSpotContractReckonApplyAuditRsp: {
+					//现货合同结算申请审核响应
+					WarehouseReceiptMI2.ClientSpotContractReckonApplyAuditRsp rsp = WarehouseReceiptMI2.ClientSpotContractReckonApplyAuditRsp.parseFrom(body);
+					logger.warn("ClientSpotContractReckonApplyAuditRsp={}", rsp.toString());
+					Long uuid = Long.valueOf(rsp.getHeader().getUUID());
+					SerialNumberUtils.putMessageMap(uuid, rsp);
+					Calculator c = SerialNumberUtils.lockMap.get(uuid);
+					if (c != null) {
+						c.start();
+					}
+					break;
+				}
+				case FunCodeConstants.FunCode_Trade_WRCreditApplyAuditRsp: {
+					// 仓单授信申请审核响应
+					WRCreditApplyAuditRsp rsp = WRCreditApplyAuditRsp.parseFrom(body);
+					logger.warn("WRCreditApplyAuditRsp={}", rsp.toString());
+					Long uuid = Long.valueOf(rsp.getHeader().getUUID());
+					SerialNumberUtils.putMessageMap(uuid, rsp);
+					Calculator c = SerialNumberUtils.lockMap.get(uuid);
+					if (c != null) {
+						c.start();
+					}
+					break;
+				}
+				case FunCodeConstants.FunCode_Trade_GetWRFactorTypeIDRsp: {
+					// 仓单要素获取申请响应
+					GetWRFactorTypeIDRsp rsp = GetWRFactorTypeIDRsp.parseFrom(body);
+					logger.warn("GetWRFactorTypeIDRsp={}", rsp.toString());
+					Long uuid = Long.valueOf(rsp.getHeader().getUUID());
+					SerialNumberUtils.putMessageMap(uuid, rsp);
+					Calculator c = SerialNumberUtils.lockMap.get(uuid);
+					if (c != null) {
+						c.start();
+					}
+					break;
+				}
+				case FunCodeConstants.FunCode_Trade_WRFactorTypeNameUpdateRsp: {
+					// 仓单要素类型名称更新响应
+					WRFactorTypeNameUpdateRsp rsp = WRFactorTypeNameUpdateRsp.parseFrom(body);
+					logger.warn("WRFactorTypeNameUpdateRsp={}", rsp.toString());
+					Long uuid = Long.valueOf(rsp.getHeader().getUUID());
+					SerialNumberUtils.putMessageMap(uuid, rsp);
+					Calculator c = SerialNumberUtils.lockMap.get(uuid);
+					if (c != null) {
+						c.start();
+					}
+					break;
+				}
+				default:
+					break;
+			}
+		} catch (Exception e) {
+			logger.error(e.getMessage());
+			e.printStackTrace();
+		}
+	}
+}

+ 8 - 0
mtp3-century/src/main/java/com/muchinfo/mtp3century/service/IWarehouseService.java

@@ -30,4 +30,12 @@ public interface IWarehouseService {
     AjaxResult wrOutApply(WarehouseOutAddParam param, HttpServletRequest request);
     AjaxResult wrOutApply(WarehouseOutAddParam param, HttpServletRequest request);
 
 
     PageResult<WarehouseReceiptResult> receiptquery(WarehouseReceiptParam param, HttpServletRequest request);
     PageResult<WarehouseReceiptResult> receiptquery(WarehouseReceiptParam param, HttpServletRequest request);
+
+    AjaxResult dealreceipt(WarehouseReceiptAddParam param, HttpServletRequest request);
+
+    AjaxResult<WarehouseReceiptDetailResult> receiptDetail(Long warehouseid, Integer isaudit, HttpServletRequest request);
+
+    AjaxResult receiptaudit(WarehouseReceiptAuditParam param, HttpServletRequest request);
+
+    AjaxResult receiptlogff(Long autoid, HttpServletRequest request);
 }
 }

+ 186 - 10
mtp3-century/src/main/java/com/muchinfo/mtp3century/service/impl/WarehouseServiceImpl.java

@@ -5,22 +5,32 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.muchinfo.mtp.proto.BankMI2;
+import com.muchinfo.mtp.proto.Common;
+import com.muchinfo.mtp.proto.WarehouseReceiptMI1;
 import com.muchinfo.mtp3century.service.ICommonService;
 import com.muchinfo.mtp3century.service.ICommonService;
 import com.muchinfo.mtp3century.service.IWarehouseService;
 import com.muchinfo.mtp3century.service.IWarehouseService;
 import com.muchinfo.mtp3common.enumtype.Constants;
 import com.muchinfo.mtp3common.enumtype.Constants;
+import com.muchinfo.mtp3common.enumtype.FunCodeConstants;
 import com.muchinfo.mtp3common.enumtype.MessageType;
 import com.muchinfo.mtp3common.enumtype.MessageType;
 import com.muchinfo.mtp3common.enumtype.SysConstants;
 import com.muchinfo.mtp3common.enumtype.SysConstants;
 import com.muchinfo.mtp3common.utils.DateTimeUtils;
 import com.muchinfo.mtp3common.utils.DateTimeUtils;
 import com.muchinfo.mtp3common.vo.AjaxResult;
 import com.muchinfo.mtp3common.vo.AjaxResult;
+import com.muchinfo.mtp3common.vo.Calculator;
 import com.muchinfo.mtp3common.vo.PageResult;
 import com.muchinfo.mtp3common.vo.PageResult;
+import com.muchinfo.mtp3common.vo.ProtoHelper;
 import com.muchinfo.mtp3interface.mapper.*;
 import com.muchinfo.mtp3interface.mapper.*;
 import com.muchinfo.mtp3pojos.entity.*;
 import com.muchinfo.mtp3pojos.entity.*;
 import com.muchinfo.mtp3common.utils.SerialNumberUtils;
 import com.muchinfo.mtp3common.utils.SerialNumberUtils;
 import com.muchinfo.mtp3pojos.vo.LineTreeNode;
 import com.muchinfo.mtp3pojos.vo.LineTreeNode;
+import com.muchinfo.mtp3pojos.vo.ProtoErrorCodes;
 import com.muchinfo.mtp3pojos.vo.common.OrganSelectResult;
 import com.muchinfo.mtp3pojos.vo.common.OrganSelectResult;
 import com.muchinfo.mtp3pojos.vo.warehouse.*;
 import com.muchinfo.mtp3pojos.vo.warehouse.*;
 import org.slf4j.Logger;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.slf4j.LoggerFactory;
+import org.springframework.amqp.core.Message;
+import org.springframework.amqp.core.MessageProperties;
+import org.springframework.amqp.rabbit.core.RabbitTemplate;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
@@ -63,8 +73,10 @@ public class WarehouseServiceImpl implements IWarehouseService {
     private IWrstandardfactoryitemMapper iWrstandardfactoryitemMapper;
     private IWrstandardfactoryitemMapper iWrstandardfactoryitemMapper;
     @Resource
     @Resource
     private IWrholdlbMapper iWrholdlbMapper;
     private IWrholdlbMapper iWrholdlbMapper;
-
-
+    @Resource
+    private RabbitTemplate rabbitTemplate;
+    @Resource
+    private IUseraccountMapper iUseraccountMapper;
     @Override
     @Override
     public PageResult<WarehouseQueryResult> query(WarehouseQueryParam param, HttpServletRequest request) {
     public PageResult<WarehouseQueryResult> query(WarehouseQueryParam param, HttpServletRequest request) {
         Systemmanager systemmanager = iSystemmanagerMapper.selectOne(new QueryWrapper<Systemmanager>().eq("LOGINCODE", iCommonService.getUserLoginCode(request)));
         Systemmanager systemmanager = iSystemmanagerMapper.selectOne(new QueryWrapper<Systemmanager>().eq("LOGINCODE", iCommonService.getUserLoginCode(request)));
@@ -348,7 +360,7 @@ public class WarehouseServiceImpl implements IWarehouseService {
 
 
     @Override
     @Override
     public AjaxResult querywhlist(Long userid, Long wrstandardid, HttpServletRequest request) {
     public AjaxResult querywhlist(Long userid, Long wrstandardid, HttpServletRequest request) {
-        List<WhlistQueryResult> results = iWroutinapplyMapper.querywhlist(userid,wrstandardid);
+        List<WhlistQueryResult> results = iWroutinapplyMapper.querywhlist(userid, wrstandardid);
         return AjaxResult.success(Constants.Success_Code_Design, MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language"), results);
         return AjaxResult.success(Constants.Success_Code_Design, MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language"), results);
     }
     }
 
 
@@ -372,7 +384,7 @@ public class WarehouseServiceImpl implements IWarehouseService {
             vo.setFirstaudittime(new Date());
             vo.setFirstaudittime(new Date());
             vo.setSecondauditid(systemmanager.getAutoid());
             vo.setSecondauditid(systemmanager.getAutoid());
             vo.setSecondaudittime(new Date());
             vo.setSecondaudittime(new Date());
-        }else{
+        } else {
             vo.setApplystatus(1);
             vo.setApplystatus(1);
             vo.setApplytype(2);
             vo.setApplytype(2);
         }
         }
@@ -391,12 +403,12 @@ public class WarehouseServiceImpl implements IWarehouseService {
 
 
         Long applyid = SerialNumberUtils.getSerialNumber(SerialNumberUtils.prefix_wroutin);
         Long applyid = SerialNumberUtils.getSerialNumber(SerialNumberUtils.prefix_wroutin);
         vo.setApplyid(applyid);
         vo.setApplyid(applyid);
-        Wrstandard wr = iWrstandardMapper.selectOne(new QueryWrapper<Wrstandard>().eq("wrstandardid",param.getWrstandardid()));
+        Wrstandard wr = iWrstandardMapper.selectOne(new QueryWrapper<Wrstandard>().eq("wrstandardid", param.getWrstandardid()));
         vo.setWrstandardcode(wr.getWrstandardcode());
         vo.setWrstandardcode(wr.getWrstandardcode());
         vo.setDeliverygoodsid(wr.getDeliverygoodsid());
         vo.setDeliverygoodsid(wr.getDeliverygoodsid());
         Integer inqty = 0;
         Integer inqty = 0;
         List<WrHoldLBResult> wrHoldLBs = param.getResultList();
         List<WrHoldLBResult> wrHoldLBs = param.getResultList();
-        if(CollectionUtils.isNotEmpty(wrHoldLBs)){
+        if (CollectionUtils.isNotEmpty(wrHoldLBs)) {
             for (WrHoldLBResult wrHoldLBo : wrHoldLBs) {
             for (WrHoldLBResult wrHoldLBo : wrHoldLBs) {
                 inqty += wrHoldLBo.getOutqty();
                 inqty += wrHoldLBo.getOutqty();
                 Wroutindetail wd = new Wroutindetail();
                 Wroutindetail wd = new Wroutindetail();
@@ -409,8 +421,7 @@ public class WarehouseServiceImpl implements IWarehouseService {
                 wd.setUpdatorid(vo.getCreatorid());
                 wd.setUpdatorid(vo.getCreatorid());
                 if (wrHoldLBo.getWrfactortypeid() != null) {
                 if (wrHoldLBo.getWrfactortypeid() != null) {
                     wd.setWrfactortypeid(wrHoldLBo.getWrfactortypeid());
                     wd.setWrfactortypeid(wrHoldLBo.getWrfactortypeid());
-                }
-                else {
+                } else {
                     Wrholdlb wrHoldLB = iWrholdlbMapper.selectOne(new QueryWrapper<Wrholdlb>()
                     Wrholdlb wrHoldLB = iWrholdlbMapper.selectOne(new QueryWrapper<Wrholdlb>()
                             .eq("ladingbillid", wrHoldLBo.getLadingbillid())
                             .eq("ladingbillid", wrHoldLBo.getLadingbillid())
                             .eq("subnum", wrHoldLBo.getSubnum()));
                             .eq("subnum", wrHoldLBo.getSubnum()));
@@ -421,7 +432,7 @@ public class WarehouseServiceImpl implements IWarehouseService {
                 if ("5".equals(sm)) {
                 if ("5".equals(sm)) {
                     wd.setOutrealqty(Long.valueOf(wrHoldLBo.getOutqty()));
                     wd.setOutrealqty(Long.valueOf(wrHoldLBo.getOutqty()));
                     iWroutindetailMapper.insert(wd);
                     iWroutindetailMapper.insert(wd);
-                }else{
+                } else {
                     iWroutindetailMapper.insert(wd);
                     iWroutindetailMapper.insert(wd);
                 }
                 }
             }
             }
@@ -438,7 +449,7 @@ public class WarehouseServiceImpl implements IWarehouseService {
     @Override
     @Override
     public PageResult<WarehouseReceiptResult> receiptquery(WarehouseReceiptParam param, HttpServletRequest request) {
     public PageResult<WarehouseReceiptResult> receiptquery(WarehouseReceiptParam param, HttpServletRequest request) {
         Systemmanager systemmanager = iSystemmanagerMapper.selectOne(new QueryWrapper<Systemmanager>().eq("LOGINCODE", iCommonService.getUserLoginCode(request)));
         Systemmanager systemmanager = iSystemmanagerMapper.selectOne(new QueryWrapper<Systemmanager>().eq("LOGINCODE", iCommonService.getUserLoginCode(request)));
-        if (!SysConstants.SYS_TYPE_MANAGE.equals(systemmanager.getReletype())){	//如果不是平台管理员
+        if (!SysConstants.SYS_TYPE_MANAGE.equals(systemmanager.getReletype())) {    //如果不是平台管理员
             param.setAreauserid(systemmanager.getAreauserid());
             param.setAreauserid(systemmanager.getAreauserid());
         }
         }
         param.setWarehousecode(param.getWarehousecode() == null ? null : param.getWarehousecode().trim());
         param.setWarehousecode(param.getWarehousecode() == null ? null : param.getWarehousecode().trim());
@@ -456,6 +467,171 @@ public class WarehouseServiceImpl implements IWarehouseService {
         return pageResult;
         return pageResult;
     }
     }
 
 
+    @Override
+    public AjaxResult dealreceipt(WarehouseReceiptAddParam param, HttpServletRequest request) {
+        Systemmanager systemmanager = iSystemmanagerMapper.selectOne(new QueryWrapper<Systemmanager>().eq("LOGINCODE", iCommonService.getUserLoginCode(request)));
+        if (param.getAutoid() != null) {
+            Warehouseinfo wh = iWarehouseinfoMapper.selectOne(new QueryWrapper<Warehouseinfo>().eq("autoid", param.getAutoid()));
+            String oldWarehousename = wh.getWarehousename();
+            if (!param.getWarehousename().equals(wh.getWarehousename())) {
+                Warehouseinfo current = iWarehouseinfoMapper.selectOne(new QueryWrapper<Warehouseinfo>().eq("warehousename", param.getWarehousename().trim()));
+                if (Objects.isNull(current)) {
+                    return AjaxResult.error(Constants.Error_Code_Design, MessageType.WAREHOUSE_ERROR_CODE_03.getCode(), request.getHeader("Accept-Language"));
+                }
+            }
+            wh.setAreauserid(param.getAreauserid());
+            wh.setWarehousename(param.getWarehousename());
+            wh.setWarehousetype(param.getWarehousetype());
+            wh.setCountryid(param.getCountryid());
+            wh.setProvinceid(param.getProvinceid());
+            wh.setCityid(param.getCityid());
+            wh.setDistrictid(param.getDistrictid());
+            wh.setAddress(param.getAddress());
+            // 审核拒绝的修改后状态变为待审核
+            if (wh.getWarehousestatus() == 4 || wh.getWarehousestatus() == 2)
+                wh.setWarehousestatus(3);
+            wh.setHasvideo(param.getHasvideo());
+            wh.setVideourl(param.getVideourl());
+            wh.setContactname(param.getContactname());
+            wh.setContactnum(param.getContactnum());
+            iWarehouseinfoMapper.updateById(wh);
+            if (!oldWarehousename.equals(param.getWarehousename())) {
+                List<Dgfactoryitem> dGFactoryItemList = iDgfactoryitemMapper.selectList(new QueryWrapper<Dgfactoryitem>().eq("warehouseid", wh.getAutoid()));
+                if (CollectionUtils.isNotEmpty(dGFactoryItemList)) {
+                    for (Dgfactoryitem dgFactoryItem : dGFactoryItemList) {
+                        dgFactoryItem.setDgfactoryitemvalue(wh.getWarehousename());
+                        iDgfactoryitemMapper.updateById(dgFactoryItem);
+                    }
+                }
+                sendWRFactorTypeNameUpdateReqMsg(wh, systemmanager);
+            }
+        } else {
+            if (param.getWarehousecode().length() > 10) {
+                return AjaxResult.error(Constants.Error_Code_Design, MessageType.WAREHOUSE_ERROR_CODE_01.getCode(), request.getHeader("Accept-Language"));
+            }
+            Warehouseinfo wh = null;
+            wh = iWarehouseinfoMapper.selectOne(new QueryWrapper<Warehouseinfo>().eq("warehousecode", param.getWarehousecode().trim()));
+            if (Objects.nonNull(wh)) {
+                return AjaxResult.error(Constants.Error_Code_Design, MessageType.WAREHOUSE_ERROR_CODE_02.getCode(), request.getHeader("Accept-Language"));
+            }
+            wh = iWarehouseinfoMapper.selectOne(new QueryWrapper<Warehouseinfo>().eq("warehousename", param.getWarehousename().trim()));
+            if (Objects.nonNull(wh)) {
+                return AjaxResult.error(Constants.Error_Code_Design, MessageType.WAREHOUSE_ERROR_CODE_03.getCode(), request.getHeader("Accept-Language"));
+            }
+            wh = new Warehouseinfo();
+            wh.setWarehousecode(param.getWarehousecode().trim());
+            wh.setWarehousename(param.getWarehousename().trim());
+            wh.setWarehousetype(param.getWarehousetype());
+            wh.setAreauserid(param.getAreauserid());
+            // 仓库状态 - 1:正常 2:注销 3:待审核 4:审核拒绝
+            wh.setWarehousestatus(3);
+            wh.setCountryid(param.getCountryid());
+            wh.setProvinceid(param.getProvinceid());
+            wh.setCityid(param.getCityid());
+            wh.setDistrictid(param.getDistrictid());
+            wh.setAddress(param.getAddress());
+            wh.setCreatetime(new Date());
+            wh.setHasvideo(param.getHasvideo());
+            wh.setVideourl(param.getVideourl());
+            wh.setContactname(param.getContactname());
+            wh.setContactnum(param.getContactnum());
+            iWarehouseinfoMapper.insert(wh);
+
+        }
+        return AjaxResult.success(Constants.Success_Code_Design, MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language"));
+    }
+
+    @Override
+    public AjaxResult<WarehouseReceiptDetailResult> receiptDetail(Long warehouseid, Integer isaudit, HttpServletRequest request) {
+        Systemmanager systemmanager = iSystemmanagerMapper.selectOne(new QueryWrapper<Systemmanager>().eq("LOGINCODE", iCommonService.getUserLoginCode(request)));
+        if (!iCommonService.checkUserAccountRole(systemmanager, warehouseid)) {
+            return AjaxResult.error(Constants.Error_Code_Design, MessageType.MESSAGE_ERROR_CODE_SYSTEM003.getCode(), request.getHeader("Accept-Language"));
+        }
+
+        Warehouseinfo current = iWarehouseinfoMapper.selectOne(new QueryWrapper<Warehouseinfo>().eq("autoid", warehouseid));
+        WarehouseReceiptDetailResult result = new WarehouseReceiptDetailResult();
+        BeanUtils.copyProperties(current, result);
+        if(current.getAreauserid() != null){
+            Useraccount ognz = iUseraccountMapper.selectOne(new QueryWrapper<Useraccount>().eq("userid",current.getAreauserid()));
+            if(ognz==null){
+                return AjaxResult.error(Constants.Error_Code_Design, MessageType.WAREHOUSE_ERROR_CODE_04.getCode(), request.getHeader("Accept-Language"));
+            }
+            result.setAreaname(ognz.getAccountname());
+        }
+        if(current.getDistrictid() != null){
+            Division area = iDivisionMapper.selectOne(new QueryWrapper<Division>().eq("autoid",current.getDistrictid()));
+            result.setDetailaddress(area.getPathname() +" "+ current.getAddress());
+        }else {
+            result.setDetailaddress(current.getAddress());
+        }
+        return AjaxResult.success(Constants.Success_Code_Design, MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language"),result);
+    }
+
+    @Override
+    public AjaxResult receiptaudit(WarehouseReceiptAuditParam param, HttpServletRequest request) {
+        Warehouseinfo warehouseInfo = iWarehouseinfoMapper.selectOne(new QueryWrapper<Warehouseinfo>().eq("autoid", param.getAutoid()));
+        warehouseInfo.setWarehousestatus(param.getAuditflag());
+        if (param.getMsg() != null) {
+            warehouseInfo.setRemark(param.getMsg());
+        }
+        iWarehouseinfoMapper.updateById(warehouseInfo);
+        return AjaxResult.success(Constants.Success_Code_Design, MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language"));
+    }
+
+    @Override
+    public AjaxResult receiptlogff(Long autoid, HttpServletRequest request) {
+        if (iDeliverygoodsMapper.selectCount(new QueryWrapper<Deliverygoods>().eq("categoryid", autoid)) > 0) {
+            return AjaxResult.error(Constants.Error_Code_Design, MessageType.WAREHOUSE_ERROR_CODE_05.getCode(), request.getHeader("Accept-Language"));
+        }
+        Warehouseinfo warehoueInfo = iWarehouseinfoMapper.selectOne(new QueryWrapper<Warehouseinfo>().eq("autoid", autoid));
+        warehoueInfo.setWarehousestatus(2);
+        iWarehouseinfoMapper.updateById(warehoueInfo);
+        return null;
+    }
+
+    private void sendWRFactorTypeNameUpdateReqMsg(Warehouseinfo wh, Systemmanager systemmanager) {
+        WarehouseReceiptMI1.WRFactorTypeNameUpdateReq.Builder builder = WarehouseReceiptMI1.WRFactorTypeNameUpdateReq.newBuilder();
+        WarehouseReceiptMI1.WRCommon.Builder common = WarehouseReceiptMI1.WRCommon.newBuilder();
+        Long uuid = SerialNumberUtils.getNewSerialNumber(SerialNumberUtils.prefix_warehouse);
+        if (wh.getAreauserid() != null) {
+            common.setUserID(wh.getAreauserid());
+        }
+        common.setRelatedOrderID(uuid);
+        common.setTradeID(wh.getAutoid());
+        Common.MessageHead.Builder hd = Common.MessageHead.newBuilder();
+        hd.setFunCode(FunCodeConstants.FunCode_Trade_WRFactorTypeNameUpdateReq);
+        hd.setClientTime(System.currentTimeMillis());
+        hd.setResponseTopic(SysConstants.RabbitWRRegisterRspKey);
+        hd.setMarketID(Constants.SPEICAL_MARKET_WR);
+        hd.setUUID(uuid.toString());
+        hd.setUserID(systemmanager.getAutoid().intValue());
+        builder.setHeader(hd);
+        builder.setCommon(common);
+
+        byte[] body = ProtoHelper.getNTAS(builder.build().toByteArray(), FunCodeConstants.FunCode_Trade_WRFactorTypeNameUpdateReq);
+        Calculator ca = SerialNumberUtils.createCalculator(uuid);
+        rabbitTemplate.send(SysConstants.RabbitWRKey, new Message(body, new MessageProperties()));
+        log.info("sendWRFactorTypeNameUpdateReqMsg:{}", builder.build());
+
+        synchronized (ca) {
+            try {
+                ca.wait(10000);
+                Object rsp_ = ca.obj;
+                if (rsp_ != null) {
+                    WarehouseReceiptMI1.WRFactorTypeNameUpdateRsp rsp = (WarehouseReceiptMI1.WRFactorTypeNameUpdateRsp) rsp_;
+                    if (rsp.getRetCode() != 0) {
+                        String errDesc = ProtoErrorCodes.resultMsg(rsp.getRetCode());
+                        log.error("仓单品种修改更新历史数据失败,失败原因:" + errDesc);
+                    }
+                }
+            } catch (InterruptedException e) {
+                log.error("消息发送失败,失败原因:" + e.getMessage());
+            } finally {
+                SerialNumberUtils.lockMap.remove(uuid);
+            }
+        }
+    }
+
     private List<LineTreeNode> getChildren(List<Deliverygoods> dgList, Long categoryid) {
     private List<LineTreeNode> getChildren(List<Deliverygoods> dgList, Long categoryid) {
         List<LineTreeNode> tnlist = new ArrayList<>();
         List<LineTreeNode> tnlist = new ArrayList<>();
         for (Deliverygoods dg : dgList) {
         for (Deliverygoods dg : dgList) {

+ 7 - 1
mtp3-century/src/main/resources/message_en.properties

@@ -117,4 +117,10 @@ investor_error_code_007=Please select investors.
 investor_error_code_008={0}Assigned groups.
 investor_error_code_008={0}Assigned groups.
 investor_error_code_009=Please remove all investors under this group first.
 investor_error_code_009=Please remove all investors under this group first.
 investor_error_code_010=Please delete the personalized settings of this group first.
 investor_error_code_010=Please delete the personalized settings of this group first.
-investor_error_code_011=The ratio value cannot exceed 10000
+investor_error_code_011=The ratio value cannot exceed 10000
+
+warehouse_error_code_01=Warehouse code up to 10 digits
+warehouse_error_code_02=Duplicate warehouse code
+warehouse_error_code_03=Duplicate warehouse name
+warehouse_error_code_04=Data error: Missing institutional data
+warehouse_error_code_05=This warehouse is already associated with a spot variety and cannot be cancelled

+ 6 - 0
mtp3-century/src/main/resources/message_th.properties

@@ -118,3 +118,9 @@ investor_error_code_008={0}การจัดกลุ่มที่ได้
 investor_error_code_009=โปรดลบนักลงทุนทั้งหมดภายใต้กลุ่มนี้ก่อน.
 investor_error_code_009=โปรดลบนักลงทุนทั้งหมดภายใต้กลุ่มนี้ก่อน.
 investor_error_code_010=โปรดลบการตั้งค่าส่วนบุคคลของกลุ่มนั้นก่อน.
 investor_error_code_010=โปรดลบการตั้งค่าส่วนบุคคลของกลุ่มนั้นก่อน.
 investor_error_code_011=ค่าอัตราส่วนต้องไม่เกิน 10,000
 investor_error_code_011=ค่าอัตราส่วนต้องไม่เกิน 10,000
+
+warehouse_error_code_01=รหัสคลังสินค้า สูงสุด 10 หลัก
+warehouse_error_code_02=รหัสคลังสินค้าซ้ำ
+warehouse_error_code_03=ชื่อคลังสินค้าซ้ำกัน
+warehouse_error_code_04=ข้อผิดพลาดของข้อมูล: ข้อมูลสถาบันหายไป
+warehouse_error_code_05=คลังสินค้านี้มีความสัมพันธ์กับพันธุ์สปอตและไม่สามารถออกจากระบบได้

+ 5 - 0
mtp3-century/src/main/resources/message_zh-CN.properties

@@ -119,3 +119,8 @@ investor_error_code_009=请先移除该分组下所有投资者.
 investor_error_code_010=请先删除该分组的个性化设置.
 investor_error_code_010=请先删除该分组的个性化设置.
 investor_error_code_011=比率值不能大于10000
 investor_error_code_011=比率值不能大于10000
 
 
+warehouse_error_code_01=仓库代码最多10位
+warehouse_error_code_02=仓库代码重复
+warehouse_error_code_03=仓库名称重复
+warehouse_error_code_04=数据错误:机构数据缺失
+warehouse_error_code_05=该仓库已关联现货品种,不能注销

+ 7 - 0
mtp3-century/src/main/resources/message_zh-HK.properties

@@ -118,3 +118,10 @@ investor_error_code_008={0}已分配分組.
 investor_error_code_009=請先移除該分組下所有投資者.
 investor_error_code_009=請先移除該分組下所有投資者.
 investor_error_code_010=請先删除該分組的個性化設定.
 investor_error_code_010=請先删除該分組的個性化設定.
 investor_error_code_011=比率值不能大於10000
 investor_error_code_011=比率值不能大於10000
+
+warehouse_error_code_01=倉庫程式碼最多10比特
+warehouse_error_code_02=倉庫程式碼重複
+warehouse_error_code_03=倉庫名稱重複
+warehouse_error_code_04=數據錯誤:機构數據缺失
+warehouse_error_code_05=該倉庫已關聯現貨品種,不能註銷
+

+ 6 - 0
mtp3-century/src/main/resources/message_zh-TW.properties

@@ -118,3 +118,9 @@ investor_error_code_008={0}已分配分組.
 investor_error_code_009=請先移除該分組下所有投資者.
 investor_error_code_009=請先移除該分組下所有投資者.
 investor_error_code_010=請先删除該分組的個性化設定.
 investor_error_code_010=請先删除該分組的個性化設定.
 investor_error_code_011=比率值不能大於10000
 investor_error_code_011=比率值不能大於10000
+
+warehouse_error_code_01=倉庫程式碼最多10比特
+warehouse_error_code_02=倉庫程式碼重複
+warehouse_error_code_03=倉庫名稱重複
+warehouse_error_code_04=數據錯誤:機构數據缺失
+warehouse_error_code_05=該倉庫已關聯現貨品種,不能註銷

+ 6 - 0
mtp3-common/src/main/java/com/muchinfo/mtp3common/enumtype/MessageType.java

@@ -125,6 +125,12 @@ public enum MessageType {
     INVESTOR_ERROR_CODE_009("investor_error_code_009", "请先移除该分组下所有投资者."),
     INVESTOR_ERROR_CODE_009("investor_error_code_009", "请先移除该分组下所有投资者."),
     INVESTOR_ERROR_CODE_010("investor_error_code_010", "请先删除该分组的个性化设置."),
     INVESTOR_ERROR_CODE_010("investor_error_code_010", "请先删除该分组的个性化设置."),
     INVESTOR_ERROR_CODE_011("investor_error_code_011", "比率值不能大于10000."),
     INVESTOR_ERROR_CODE_011("investor_error_code_011", "比率值不能大于10000."),
+
+    WAREHOUSE_ERROR_CODE_01("warehouse_error_code_01", "仓库代码最多10位."),
+    WAREHOUSE_ERROR_CODE_02("warehouse_error_code_02", "仓库代码重复."),
+    WAREHOUSE_ERROR_CODE_03("warehouse_error_code_03", "仓库名称重复."),
+    WAREHOUSE_ERROR_CODE_04("warehouse_error_code_04", "数据错误:机构数据缺失."),
+    WAREHOUSE_ERROR_CODE_05("warehouse_error_code_05", "该仓库已关联现货品种,不能注销."),
     ;
     ;
 
 
     private String code;
     private String code;

+ 11 - 1
mtp3-common/src/main/java/com/muchinfo/mtp3common/utils/SerialNumberUtils.java

@@ -69,7 +69,17 @@ public class SerialNumberUtils {
             messageMap.remove(uuid);
             messageMap.remove(uuid);
         }
         }
     }
     }
-
+    /**
+     * 创建计时器
+     *
+     * @param uuid
+     * @return
+     */
+    public static Calculator createCalculator(Long uuid) {
+        Calculator ca = new Calculator(uuid);
+        lockMap.put(uuid, ca);
+        return ca;
+    }
     /**
     /**
      * 结束计时器
      * 结束计时器
      *
      *

+ 54 - 0
mtp3-pojos/src/main/java/com/muchinfo/mtp3pojos/vo/warehouse/WarehouseReceiptAddParam.java

@@ -0,0 +1,54 @@
+package com.muchinfo.mtp3pojos.vo.warehouse;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Builder
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@ApiModel(value="WarehouseReceiptAddParam对象", description="品种新增")
+public class WarehouseReceiptAddParam {
+
+    @ApiModelProperty(value = "仓库代码")
+    private String warehousecode;
+
+    @ApiModelProperty(value = "仓库名称")
+    private String warehousename;
+
+    @ApiModelProperty(value = "所属机构")
+    private Long areauserid;
+
+    @ApiModelProperty(value = "仓库类型")
+    private Integer warehousetype;
+
+    @ApiModelProperty(value = "联系人")
+    private String contactname;
+
+    @ApiModelProperty(value = "预约单号")
+    private String contactnum;
+
+    private Long countryid;
+
+    @ApiModelProperty(value = "省")
+    private Long cityid;
+
+    @ApiModelProperty(value = "市")
+    private Long districtid;
+
+    @ApiModelProperty(value = "区")
+    private Long provinceid;
+
+    @ApiModelProperty(value = "详细地址")
+    private String address;
+
+    private String autoid;
+
+    private Integer hasvideo;
+
+    private String videourl;
+}

+ 23 - 0
mtp3-pojos/src/main/java/com/muchinfo/mtp3pojos/vo/warehouse/WarehouseReceiptAuditParam.java

@@ -0,0 +1,23 @@
+package com.muchinfo.mtp3pojos.vo.warehouse;
+
+import io.swagger.annotations.ApiModel;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Builder
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@ApiModel(value="WarehouseReceiptAuditParam对象", description="审核")
+public class WarehouseReceiptAuditParam {
+
+    private Long autoid;
+
+    private Long auditid;
+
+    private Integer auditflag;
+
+    private String msg;
+}

+ 42 - 0
mtp3-pojos/src/main/java/com/muchinfo/mtp3pojos/vo/warehouse/WarehouseReceiptDetailResult.java

@@ -0,0 +1,42 @@
+package com.muchinfo.mtp3pojos.vo.warehouse;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Builder
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@ApiModel(value="WarehouseReceiptDetailResult对象", description="详情")
+public class WarehouseReceiptDetailResult {
+
+    @ApiModelProperty(value = "所属机构")
+    private String areaname;
+
+    @ApiModelProperty(value = "地址")
+    private String detailaddress;
+
+    @ApiModelProperty(value = "仓库代码")
+    private String warehousecode;
+
+    @ApiModelProperty(value = "仓库名称")
+    private String warehousename;
+
+    @ApiModelProperty(value = "仓库类型")
+    private Integer warehousetype;
+
+    @ApiModelProperty(value = "联系人")
+    private String contactname;
+
+    @ApiModelProperty(value = "联系电话")
+    private String contactnum;
+
+    @ApiModelProperty(value = "审核备注")
+    private String remark;
+
+    private Long autoid;
+}