diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/MaterialBaseInfoFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/MaterialBaseInfoFeign.java index 79b899031..2c4d93174 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/MaterialBaseInfoFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/MaterialBaseInfoFeign.java @@ -234,5 +234,14 @@ public class MaterialBaseInfoFeign extends BaseVOEntity{ @ApiModelProperty("批次ID") private Long batchId; -} + @ApiModelProperty("保额") + @Excel(name = "保额") + private BigDecimal insureAmount; + + @ApiModelProperty(name = "收费标准") + private String chargeStandard; + + @ApiModelProperty(name = "单位") + private String unit; +} \ No newline at end of file diff --git a/mhd-common/mhd-common-core/src/main/java/com/mhd/common/core/domain/po/ContractManagePO.java b/mhd-common/mhd-common-core/src/main/java/com/mhd/common/core/domain/po/ContractManagePO.java index 4db7d5167..a413364a3 100644 --- a/mhd-common/mhd-common-core/src/main/java/com/mhd/common/core/domain/po/ContractManagePO.java +++ b/mhd-common/mhd-common-core/src/main/java/com/mhd/common/core/domain/po/ContractManagePO.java @@ -54,8 +54,8 @@ public class ContractManagePO extends BaseVOEntity{ @Excel(name = "是否通用合同", readConverterExp = "1=-是,2-否") private Integer commonContractFlag; - @ApiModelProperty("合同类型(1-仓储,2-运输)") - @Excel(name = "合同类型", readConverterExp = "1=-仓储,2-运输") + @ApiModelProperty("合同类型(1-仓储,2-运输,3-其他)") + @Excel(name = "合同类型", readConverterExp = "1=-仓储,2-运输,3=-其他") private Integer contractType; @ApiModelProperty("合同状态(1-未生效,2-使用中,3-已过期,4-已作废)") diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/application/service/contractManage/ContractManageApplicationService.java b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/application/service/contractManage/ContractManageApplicationService.java index 0a48641b3..a7638c9a3 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/application/service/contractManage/ContractManageApplicationService.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/application/service/contractManage/ContractManageApplicationService.java @@ -590,6 +590,7 @@ public class ContractManageApplicationService { if (ObjectUtil.isNull(loginUser)) { throw new DigitalLogisticsException(UserError.TIMEOUT); } + validateContractType(contractManageDO.getContractType()); /* 通用合同:同一时间段、同一合同类型,只能存在一个 特殊合同:同一结算主体、同一时间段、同一合同类型,只能存在一个 @@ -666,6 +667,29 @@ public class ContractManageApplicationService { } + /** + * 校验合同类型 + */ + private void validateContractType(Integer contractType) { + if (contractType == null) { + throw new ServiceException("合同类型不能为空"); + } + if (contractType != 1 && contractType != 2 && contractType != 3) { + throw new ServiceException("合同类型不正确,请选择1-仓储、2-运输或3-其他"); + } + } + + /** + * 查询通用合同 + */ + private ContractManagePO findGeneralContract(List contractManagePOList, Integer contractType) { + return contractManagePOList.stream() + .filter(item -> Objects.equals(item.getContractType(), contractType) + && item.getCommonContractFlag() == 1 + && item.getContractState() == 2) + .findFirst().orElse(null); + } + /** * 校验合同是否合法 * @param contractManageDO @@ -806,6 +830,7 @@ public class ContractManageApplicationService { */ @Transactional public Boolean update(ContractManageDO contractManageDO) { + validateContractType(contractManageDO.getContractType()); checkContract(contractManageDO); handleData(contractManageDO); handleDetils(contractManageDO); @@ -845,7 +870,7 @@ public class ContractManageApplicationService { */ public ContractManagePO getInfoByCustomer(String settlementCustomersCode,Integer contractType, Long topOrganizationId) { /* - 首先根据合同类型(仓储、运输),以及结算客户,查询合同信息 + 首先根据合同类型(仓储、运输、其他),以及结算客户,查询合同信息 如果传了结算主体,则根据结算主体以及当前时间查询有效的特殊合同,如果特殊合同没有,则查询通用合同 */ //获取当前登录人信息 @@ -872,31 +897,12 @@ public class ContractManageApplicationService { ContractManagePO contractManagePO = contractManagePOList.stream() .filter(item -> item.getSettlementCustomersCode().equals(settlementCustomersCode) && Objects.equals(item.getContractType(), contractType)).findFirst().orElse(null); if(null == contractManagePO){ - if(contractType==1){ - //仓储合同 - resultContract = contractManagePOList.stream() - .filter(item -> - item.getContractType()==1 && - item.getCommonContractFlag() == 1 && item.getContractState() ==2) - .findFirst().orElse(null); - }else{ - //运输合同 - resultContract = contractManagePOList.stream().filter(item -> item.getContractType()==2 - && item.getCommonContractFlag() == 1 && item.getContractState() ==2).findFirst().orElse(null); - } + resultContract = findGeneralContract(contractManagePOList, contractType); }else { resultContract = contractManagePO; } }else { - if(contractType==1){ - //仓储合同 - resultContract = contractManagePOList.stream().filter(contractManagePO -> contractManagePO.getContractType()==1 - && contractManagePO.getCommonContractFlag() == 1 && contractManagePO.getContractState() ==2).findFirst().orElse(null); - }else{ - //运输合同 - resultContract = contractManagePOList.stream().filter(contractManagePO -> contractManagePO.getContractType()==2 - && contractManagePO.getCommonContractFlag() == 1 && contractManagePO.getContractState() ==2).findFirst().orElse(null); - } + resultContract = findGeneralContract(contractManagePOList, contractType); } if(null == resultContract){ throw new ServiceException("找不到匹配的合同,请重试"); @@ -936,7 +942,7 @@ public class ContractManageApplicationService { */ public ContractManagePO getInfoByCustomerAndOrganizationId(String settlementCustomersCode,Integer contractType, Long topOrganizationId, Long organizationId) { /* - 首先根据合同类型(仓储、运输),以及结算客户,查询合同信息 + 首先根据合同类型(仓储、运输、其他),以及结算客户,查询合同信息 如果传了结算主体,则根据结算主体以及当前时间查询有效的特殊合同,如果特殊合同没有,则查询通用合同 */ //获取当前登录人信息 @@ -966,31 +972,12 @@ public class ContractManageApplicationService { ContractManagePO contractManagePO = contractManagePOList.stream() .filter(item -> item.getSettlementCustomersCode().equals(settlementCustomersCode) && Objects.equals(item.getContractType(), contractType)).findFirst().orElse(null); if(null == contractManagePO){ - if(contractType==1){ - //仓储合同 - resultContract = contractManagePOList.stream() - .filter(item -> - item.getContractType()==1 && - item.getCommonContractFlag() == 1 && item.getContractState() ==2) - .findFirst().orElse(null); - }else{ - //运输合同 - resultContract = contractManagePOList.stream().filter(item -> item.getContractType()==2 - && item.getCommonContractFlag() == 1 && item.getContractState() ==2).findFirst().orElse(null); - } + resultContract = findGeneralContract(contractManagePOList, contractType); }else { resultContract = contractManagePO; } }else { - if(contractType==1){ - //仓储合同 - resultContract = contractManagePOList.stream().filter(contractManagePO -> contractManagePO.getContractType()==1 - && contractManagePO.getCommonContractFlag() == 1 && contractManagePO.getContractState() ==2).findFirst().orElse(null); - }else{ - //运输合同 - resultContract = contractManagePOList.stream().filter(contractManagePO -> contractManagePO.getContractType()==2 - && contractManagePO.getCommonContractFlag() == 1 && contractManagePO.getContractState() ==2).findFirst().orElse(null); - } + resultContract = findGeneralContract(contractManagePOList, contractType); } if(null == resultContract){ throw new ServiceException("找不到匹配的合同,请重试"); diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/contractManage/entity/ContractManage.java b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/contractManage/entity/ContractManage.java index 9c5cddcad..a2cd4b1ca 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/contractManage/entity/ContractManage.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/contractManage/entity/ContractManage.java @@ -56,8 +56,8 @@ public class ContractManage extends BaseVOEntity{ @Excel(name = "是否通用合同", readConverterExp = "1=-是,2-否") private Integer commonContractFlag; - @ApiModelProperty("合同类型(1-仓储,2-运输)") - @Excel(name = "合同类型", readConverterExp = "1=-仓储,2-运输") + @ApiModelProperty("合同类型(1-仓储,2-运输,3-其他)") + @Excel(name = "合同类型", readConverterExp = "1=-仓储,2-运输,3=-其他") private Integer contractType; @ApiModelProperty("合同状态(1-未生效,2-使用中,3-已过期,4-已作废)") diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/contractManage/repository/po/ContractManagePO.java b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/contractManage/repository/po/ContractManagePO.java index 0f3b140ea..f6640ca8d 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/contractManage/repository/po/ContractManagePO.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/contractManage/repository/po/ContractManagePO.java @@ -57,8 +57,8 @@ public class ContractManagePO extends BaseVOEntity{ @Excel(name = "是否通用合同", readConverterExp = "1=-是,2-否") private Integer commonContractFlag; - @ApiModelProperty("合同类型(1-仓储,2-运输)") - @Excel(name = "合同类型", readConverterExp = "1=-仓储,2-运输") + @ApiModelProperty("合同类型(1-仓储,2-运输,3-其他)") + @Excel(name = "合同类型", readConverterExp = "1=-仓储,2-运输,3=-其他") private Integer contractType; @ApiModelProperty("合同状态(1-未生效,2-使用中,3-已过期,4-已作废)") diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/contractManage/repository/todo/ContractManageDO.java b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/contractManage/repository/todo/ContractManageDO.java index 5902d3a01..611e07714 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/contractManage/repository/todo/ContractManageDO.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/contractManage/repository/todo/ContractManageDO.java @@ -54,8 +54,8 @@ public class ContractManageDO extends BaseVOEntity{ @Excel(name = "是否通用合同", readConverterExp = "1=-是,2-否") private Integer commonContractFlag; - @ApiModelProperty("合同类型(1-仓储,2-运输)") - @Excel(name = "合同类型", readConverterExp = "1=-仓储,2-运输") + @ApiModelProperty("合同类型(1-仓储,2-运输,3-其他)") + @Excel(name = "合同类型", readConverterExp = "1=-仓储,2-运输,3=-其他") private Integer contractType; @ApiModelProperty("合同状态(1-未生效,2-使用中,3-已过期,4-已作废)") diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/materialClassify/entity/MaterialClassify.java b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/materialClassify/entity/MaterialClassify.java index 5679a0c1b..c1413a396 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/materialClassify/entity/MaterialClassify.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/materialClassify/entity/MaterialClassify.java @@ -74,5 +74,12 @@ public class MaterialClassify extends BaseVOEntity{ @Excel(name = "是否作废: 1-否 2-是") private Integer nullify; + @ApiModelProperty("收费标准") + @Excel(name = "收费标准") + private String chargeStandard; -} + @ApiModelProperty("单位") + @Excel(name = "单位") + private String unit; + +} \ No newline at end of file diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/materialClassify/repository/po/MaterialClassifyPO.java b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/materialClassify/repository/po/MaterialClassifyPO.java index bb87c0d5a..6d42a67a5 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/materialClassify/repository/po/MaterialClassifyPO.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/materialClassify/repository/po/MaterialClassifyPO.java @@ -81,6 +81,12 @@ public class MaterialClassifyPO extends BaseVOEntity{ @ApiModelProperty("上级分类字典编码集合") @Excel(name = "上级分类字典编码集合") private List materialClassifyCodeList; + @ApiModelProperty("收费标准") + @Excel(name = "收费标准") + private String chargeStandard; + @ApiModelProperty("单位") + @Excel(name = "单位") + private String unit; -} +} \ No newline at end of file diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/materialClassify/repository/todo/MaterialClassifyDO.java b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/materialClassify/repository/todo/MaterialClassifyDO.java index 08e0ad499..5442e5a9f 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/materialClassify/repository/todo/MaterialClassifyDO.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/materialClassify/repository/todo/MaterialClassifyDO.java @@ -82,4 +82,11 @@ public class MaterialClassifyDO extends BaseVOEntity{ @ApiModelProperty("上级分类字典编码集合") @Excel(name = "上级分类字典编码集合") private List materialClassifyCodeList; -} + @ApiModelProperty("收费标准") + @Excel(name = "收费标准") + private String chargeStandard; + + @ApiModelProperty("单位") + @Excel(name = "单位") + private String unit; +} \ No newline at end of file diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/dto/contractManage/ContractManageDTO.java b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/dto/contractManage/ContractManageDTO.java index fdd7a3478..b57be84e4 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/dto/contractManage/ContractManageDTO.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/dto/contractManage/ContractManageDTO.java @@ -54,8 +54,8 @@ public class ContractManageDTO extends BaseVOEntity{ @Excel(name = "是否通用合同", readConverterExp = "1=-是,2-否") private Integer commonContractFlag; - @ApiModelProperty("合同类型(1-仓储,2-运输)") - @Excel(name = "合同类型", readConverterExp = "1=-仓储,2-运输") + @ApiModelProperty("合同类型(1-仓储,2-运输,3-其他)") + @Excel(name = "合同类型", readConverterExp = "1=-仓储,2-运输,3=-其他") private Integer contractType; @ApiModelProperty("合同状态(1-未生效,2-使用中,3-已过期,4-已作废)") diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/dto/materialClassify/MaterialClassifyDTO.java b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/dto/materialClassify/MaterialClassifyDTO.java index 73150ba2a..8b91ae8ef 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/dto/materialClassify/MaterialClassifyDTO.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/dto/materialClassify/MaterialClassifyDTO.java @@ -82,4 +82,11 @@ public class MaterialClassifyDTO extends BaseVOEntity{ @ApiModelProperty("上级分类字典编码集合") @Excel(name = "上级分类字典编码集合") private List materialClassifyCodeList; -} + @ApiModelProperty("收费标准") + @Excel(name = "收费标准") + private String chargeStandard; + + @ApiModelProperty("单位") + @Excel(name = "单位") + private String unit; +} \ No newline at end of file diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/system/controller/SysDictDataController.java b/mhd-modules/mhd-system/src/main/java/com/mhd/system/controller/SysDictDataController.java index 2b8753cfa..607baefc0 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/system/controller/SysDictDataController.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/system/controller/SysDictDataController.java @@ -21,6 +21,8 @@ import com.mhd.common.log.annotation.Log; import com.mhd.common.log.enums.BusinessType; import com.mhd.common.security.utils.SecurityUtils; import com.mhd.system.api.domain.SysDictData; +import com.mhd.system.api.domain.SysDictType; +import com.mhd.system.api.model.LoginUser; /** * 数据字典信息 @@ -41,10 +43,87 @@ public class SysDictDataController extends BaseController @GetMapping("/list") public TableDataInfo list(SysDictData dictData) { + if (!applyDictDataOrganizationFilterByDictType(dictData)) + { + return getDataTable(new ArrayList<>()); + } startPage(); List list = dictDataService.selectDictList(dictData); return getDataTable(list); } + /** + * 列表组织过滤:按字典类型(sys_dict_type)上的组织维度过滤字典数据。 + * 前端可传 organizationId(通常来自所选字典类型行);南光组织(2827)可选组织或查全部,其他组织仅本组织。 + * + * @return false 表示当前组织下无匹配字典类型,应返回空列表 + */ + private boolean applyDictDataOrganizationFilterByDictType(SysDictData dictData) + { + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (loginUser == null || loginUser.getUserPo() == null) + { + return true; + } + Long loginUserOrganizationId = loginUser.getUserPo().getOrganizationId(); + Long loginUserTopOrganizationId = loginUser.getUserPo().getTopOrganizationId(); + Long frontendOrganizationId = dictData.getOrganizationId(); + + Long queryOrganizationId = null; + Long queryTopOrganizationId = null; + + if (loginUserOrganizationId != null && loginUserOrganizationId.equals(2827L)) + { + if (frontendOrganizationId != null) + { + queryOrganizationId = frontendOrganizationId; + } + } + else + { + if (frontendOrganizationId != null && !frontendOrganizationId.equals(loginUserOrganizationId)) + { + queryOrganizationId = loginUserOrganizationId; + } + else if (frontendOrganizationId != null) + { + queryOrganizationId = frontendOrganizationId; + } + else + { + queryOrganizationId = loginUserOrganizationId; + } + queryTopOrganizationId = loginUserTopOrganizationId; + } + + if (StringUtils.isEmpty(dictData.getDictType())) + { + dictData.setOrganizationId(queryOrganizationId); + dictData.setTopOrganizationId(queryTopOrganizationId); + return true; + } + + if (queryOrganizationId == null) + { + dictData.setOrganizationId(null); + dictData.setTopOrganizationId(null); + return true; + } + + SysDictType typeQuery = new SysDictType(); + typeQuery.setDictType(dictData.getDictType()); + typeQuery.setOrganizationId(queryOrganizationId); + List dictTypes = dictTypeService.selectDictTypeList(typeQuery); + if (dictTypes.isEmpty()) + { + return false; + } + + SysDictType dictTypeRow = dictTypes.get(0); + dictData.setOrganizationId(dictTypeRow.getOrganizationId()); + dictData.setTopOrganizationId(dictTypeRow.getTopOrganizationId()); + return true; + } + @PostMapping("/getDictDataList") public R> getDictDataList(@RequestBody SysDictData sysDictData) { diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/system/controller/SysDictTypeController.java b/mhd-modules/mhd-system/src/main/java/com/mhd/system/controller/SysDictTypeController.java index 6cf686ee9..2b65236a9 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/system/controller/SysDictTypeController.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/system/controller/SysDictTypeController.java @@ -43,6 +43,7 @@ public class SysDictTypeController extends BaseController @GetMapping("/list") public TableDataInfo list(SysDictType dictType) { + applyDictTypeOrganizationFilter(dictType); startPage(); List list = dictTypeService.selectDictTypeList(dictType); return getDataTable(list); @@ -53,6 +54,7 @@ public class SysDictTypeController extends BaseController @PostMapping("/export") public void export(HttpServletResponse response, SysDictType dictType) { + applyDictTypeOrganizationFilter(dictType); List list = dictTypeService.selectDictTypeList(dictType); ExcelUtil util = new ExcelUtil(SysDictType.class); util.exportExcel(response, list, "字典类型"); @@ -85,6 +87,61 @@ public class SysDictTypeController extends BaseController return toAjax(dictTypeService.insertDictType(dict)); } + /** + * 列表/导出组织过滤:优先使用前端传递的 organizationId; + * 南光组织(2827)可按组织筛选或查全部,其他组织只能查本组织数据。 + */ + private void applyDictTypeOrganizationFilter(SysDictType dictType) + { + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (loginUser == null || loginUser.getUserPo() == null) + { + return; + } + Long loginUserOrganizationId = loginUser.getUserPo().getOrganizationId(); + Long loginUserTopOrganizationId = loginUser.getUserPo().getTopOrganizationId(); + Long frontendOrganizationId = dictType.getOrganizationId(); + + if (loginUserOrganizationId != null && loginUserOrganizationId.equals(2827L)) + { + if (frontendOrganizationId != null) + { + dictType.setOrganizationId(frontendOrganizationId); + dictType.setTopOrganizationId(null); + } + else + { + dictType.setOrganizationId(null); + dictType.setTopOrganizationId(null); + } + } + else + { + if (frontendOrganizationId != null) + { + if (!frontendOrganizationId.equals(loginUserOrganizationId)) + { + dictType.setOrganizationId(loginUserOrganizationId); + } + if (loginUserTopOrganizationId != null) + { + dictType.setTopOrganizationId(loginUserTopOrganizationId); + } + } + else + { + if (loginUserOrganizationId != null) + { + dictType.setOrganizationId(loginUserOrganizationId); + } + if (loginUserTopOrganizationId != null) + { + dictType.setTopOrganizationId(loginUserTopOrganizationId); + } + } + } + } + /** * 写入组织维度:优先使用请求体中选择的组织;未传时使用当前登录用户所属组织;无登录上下文时按平台(0)处理。 */ diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/system/mapper/SysDictTypeMapper.java b/mhd-modules/mhd-system/src/main/java/com/mhd/system/mapper/SysDictTypeMapper.java index bd6d92ead..08696d980 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/system/mapper/SysDictTypeMapper.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/system/mapper/SysDictTypeMapper.java @@ -34,12 +34,12 @@ public interface SysDictTypeMapper public SysDictType selectDictTypeById(Long dictId); /** - * 根据字典类型查询信息 + * 根据字典类型及组织查询信息(同一 dict_type 在不同组织下可重复) * - * @param dictType 字典类型 + * @param dictType 字典类型(含 dictType、organizationId) * @return 字典类型 */ - public SysDictType selectDictTypeByType(String dictType); + public SysDictType selectDictTypeByType(SysDictType dictType); /** * 通过字典ID删除字典信息 diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/system/service/ISysDictTypeService.java b/mhd-modules/mhd-system/src/main/java/com/mhd/system/service/ISysDictTypeService.java index 2b1beeb16..37e5f9667 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/system/service/ISysDictTypeService.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/system/service/ISysDictTypeService.java @@ -43,12 +43,12 @@ public interface ISysDictTypeService public SysDictType selectDictTypeById(Long dictId); /** - * 根据字典类型查询信息 + * 根据字典类型及组织查询信息(同一 dict_type 在不同组织下可重复) * - * @param dictType 字典类型 + * @param dictType 字典类型(含 dictType、organizationId) * @return 字典类型 */ - public SysDictType selectDictTypeByType(String dictType); + public SysDictType selectDictTypeByType(SysDictType dictType); /** * 批量删除字典信息 diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/system/service/impl/SysDictDataServiceImpl.java b/mhd-modules/mhd-system/src/main/java/com/mhd/system/service/impl/SysDictDataServiceImpl.java index e2ec28888..2415a8a1a 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/system/service/impl/SysDictDataServiceImpl.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/system/service/impl/SysDictDataServiceImpl.java @@ -441,7 +441,19 @@ public class SysDictDataServiceImpl extends ServiceImpl + + - select material_classify_id, organization_id, organization_name, top_organization_id, code, name, level, parent_code, parent_name, code_path, name_path, remark, nullify, create_time, create_by, create_by_name, update_time, update_by, update_by_name, del_flag from material_classify + select material_classify_id, organization_id, organization_name, top_organization_id, code, name, level, parent_code, + parent_name, code_path, name_path, remark, nullify, create_time, create_by, create_by_name, update_time, update_by, + update_by_name, del_flag,CHARGE_STANDARD,unit + from material_classify diff --git a/mhd-modules/mhd-system/src/main/resources/mapper/system/SysDictTypeMapper.xml b/mhd-modules/mhd-system/src/main/resources/mapper/system/SysDictTypeMapper.xml index f4a0834e5..a3a2f95c9 100644 --- a/mhd-modules/mhd-system/src/main/resources/mapper/system/SysDictTypeMapper.xml +++ b/mhd-modules/mhd-system/src/main/resources/mapper/system/SysDictTypeMapper.xml @@ -61,9 +61,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where dict_id = #{dictId} - where dict_type = #{dictType} + and IFNULL(organization_id, 0) = IFNULL(#{organizationId}, 0) + limit 1 select - a.*, - b.SETTLEMENT_CURRENCY as settlement_currency, + , + COALESCE(a.settlement_currency, b.SETTLEMENT_CURRENCY) as settlement_currency, bd.business_document_id, bd.business_flow, bd.original_business_num, diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/executeOrder/repository/mapper/ExecuteOrderMapper.java b/mhd_oms/src/main/java/com/mhd/oms/domain/executeOrder/repository/mapper/ExecuteOrderMapper.java index c86b88558..e452637b6 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/executeOrder/repository/mapper/ExecuteOrderMapper.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/executeOrder/repository/mapper/ExecuteOrderMapper.java @@ -20,4 +20,6 @@ public interface ExecuteOrderMapper extends BaseMapper public List queryList(ExecuteOrderDO executeOrderDO); String getOrgNameByOrgId(@Param("organizationId") Long organizationId); + + void updateTmsOrderImage(@Param("executeOrderNumber") String executeOrderNumber,@Param("pictureUrl") String pictureUrl); } diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationMaterialInventory/repository/todo/MaterialBaseInfoDTO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationMaterialInventory/repository/todo/MaterialBaseInfoDTO.java index e997694b1..c8155647e 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationMaterialInventory/repository/todo/MaterialBaseInfoDTO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationMaterialInventory/repository/todo/MaterialBaseInfoDTO.java @@ -258,4 +258,13 @@ public class MaterialBaseInfoDTO extends BaseVOEntity { @ApiModelProperty("是否抄码: 1-是 2-否") @Excel(name = "是否抄码: 1-是 2-否") private Integer copyCode; + @ApiModelProperty("保额") + @Excel(name = "保额") + private BigDecimal insureAmount; + + @ApiModelProperty(name = "收费标准") + private String chargeStandard; + + @ApiModelProperty(name = "单位") + private String unit; } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderDomainService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderDomainService.java index c4fe134fa..c3dbb8e2f 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderDomainService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderDomainService.java @@ -18,6 +18,8 @@ import com.mhd.oms.domain.businessDeliveryDetailsLink.repository.facade.IBusines import com.mhd.oms.domain.businessDeliveryDetailsLink.repository.mapper.BusinessDeliveryDetailsLinkMapper; import com.mhd.oms.domain.businessDocumentOrder.entity.BusinessDocumentOrder; import com.mhd.oms.domain.businessDocumentOrder.repository.mapper.BusinessDocumentOrderMapper; +import com.mhd.oms.domain.executeOrder.entity.ExecuteOrder; +import com.mhd.oms.domain.executeOrder.repository.mapper.ExecuteOrderMapper; import com.mhd.oms.domain.reservationDeliveryDetailsLink.entity.ReservationDeliveryDetailsLink; import com.mhd.oms.domain.reservationDeliveryDetailsLink.repository.facade.IReservationDeliveryDetailsLinkService; import com.mhd.oms.domain.reservationInMaterialDetail.entity.ReservationInMaterialDetail; @@ -76,6 +78,9 @@ public class ReservationStockOutOrderDomainService { private ReservationStockInOrderMapper reservationStockInOrderMapper; @Autowired private BusinessDocumentOrderMapper businessDocumentOrderMapper; + @Autowired + private ExecuteOrderMapper executeOrderMapper; + @Resource private SystemServiceFeign systemServiceFeign; @Resource @@ -844,6 +849,15 @@ public class ReservationStockOutOrderDomainService { BusinessDocumentOrder businessDocumentOrder = businessDocumentOrderMapper.selectOne(new LambdaQueryWrapper().eq(BusinessDocumentOrder::getId, subOrderId)); businessDocumentOrder.setOrderStatus(3L); businessDocumentOrderMapper.updateById(businessDocumentOrder); + String executeOrderNumber = businessDocumentOrder.getExecuteOrderNumber(); + if (executeOrderNumber != null){ + ExecuteOrder executeOrder = executeOrderMapper.selectOne(new LambdaQueryWrapper().eq(ExecuteOrder::getGoodsNumber, executeOrderNumber)); + executeOrder.setInvoiceStatus(1); + executeOrder.setInvoiceDate(new Date()); + executeOrderMapper.updateById(executeOrder); +// pictureUrl="123"; + executeOrderMapper.updateTmsOrderImage(executeOrderNumber,pictureUrl); + } } } } diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/executeOrder/ExecuteOrderDTO.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/executeOrder/ExecuteOrderDTO.java index 89f2e31f6..1723e8118 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/executeOrder/ExecuteOrderDTO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/executeOrder/ExecuteOrderDTO.java @@ -156,7 +156,10 @@ public class ExecuteOrderDTO extends BaseVOEntity{ @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date invoiceEndTime; + @ApiModelProperty("发票编号") + private String invoiceNumber; + @ApiModelProperty("车次") private Integer trainNo; -} +} \ No newline at end of file diff --git a/mhd_oms/src/main/resources/bootstrap.yml b/mhd_oms/src/main/resources/bootstrap.yml index 9185cc5b7..618fcd71c 100644 --- a/mhd_oms/src/main/resources/bootstrap.yml +++ b/mhd_oms/src/main/resources/bootstrap.yml @@ -18,27 +18,20 @@ spring: discovery: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 - server-addr: 10.33.0.129:6010 -# server-addr: 10.102.192.30:6848 -# username: nacos -# password: manhuoda@2023 +# server-addr: 10.33.0.129:6010 + server-addr: 10.102.192.30:6848 + username: nacos + password: manhuoda@2023 config: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 - server-addr: 10.33.0.129:6010 -# server-addr: 10.102.192.30:6848 -# username: nacos -# password: manhuoda@2023 +# server-addr: 10.33.0.129:6010 + server-addr: 10.102.192.30:6848 + username: nacos + password: manhuoda@2023 #线上正式环境 # server-addr: 10.102.192.105:6848 # 锁定server端的配置文件(读取它的配置项) namespace: # 命名空间id group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置 - file-extension: yml #默认properties - -# GW推送配置 -gw: - push: - url: http://10.33.0.100/nagu-erp-api/transfer/pushData - verify-key1: FuDjK3iuftzwf8kWJ44DDZJ9icZmL9Ee4Valv8Qz6VfsdW60fNEzNSEtrKlUr6OI - verify-key2: ESLuxAmB6VXCgbqP1eFzxTPVRagkQ62BUkfhElrgQ6XmE/g2reHVflY/SiCSU7JD \ No newline at end of file + file-extension: yml #默认properties \ No newline at end of file diff --git a/mhd_oms/src/main/resources/mapper/executeOrder/ExecuteOrderMapper.xml b/mhd_oms/src/main/resources/mapper/executeOrder/ExecuteOrderMapper.xml index f592f741e..c7e240551 100644 --- a/mhd_oms/src/main/resources/mapper/executeOrder/ExecuteOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/executeOrder/ExecuteOrderMapper.xml @@ -44,7 +44,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and eo.CREATE_TIME >= #{createStartTime} - and eo.INVOICE_Status = #{invoiceStatus} + and eo.INVOICE_STATUS = #{invoiceStatus} + + + and eo.INVOICE_NUMBER like concat('%', #{invoiceNumber}, '%') and eo.CREATE_TIME <= #{createEndTime} + 1 - 1/86400 @@ -105,6 +108,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + UPDATE NGWL_TEST_WLHY.TMS_TRANSPORT_NOTE + SET UNLOAD_IMAGE = #{pictureUrl}, + UNLOAD_TIME = NOW(), + RECEIPT_TIME = NOW() + WHERE TRANSPORTATION_NUMBER IN ( + SELECT GOODS_NUMBER + FROM NGWL_TEST_WLHY.TMS_ORDER + WHERE EXECUTE_ORDER_NUMBER = #{executeOrderNumber} + ) + - update NGWL_TEST_WMS.DELIVERY_DETAILS_LINK set RETURN_ORDER_NUMBER = #{returnOrderNumber} where ORDER_NUMBER = #{ordernumber} + update NGWL_TEST_WMS.DELIVERY_DETAILS_LINK set RETURN_ORDER_NUMBER = #{returnOrderNumber} where ORDER_NUMBER = #{orderNumber} \ No newline at end of file diff --git a/mhd_transport/src/main/java/com/linke/transport/application/service/vehicle/VehicleApplicationService.java b/mhd_transport/src/main/java/com/linke/transport/application/service/vehicle/VehicleApplicationService.java index 516b30a87..b3e4d2147 100644 --- a/mhd_transport/src/main/java/com/linke/transport/application/service/vehicle/VehicleApplicationService.java +++ b/mhd_transport/src/main/java/com/linke/transport/application/service/vehicle/VehicleApplicationService.java @@ -573,12 +573,15 @@ public class VehicleApplicationService { if (! "200".equals(String.valueOf(userInfoResult.get("code")))) { throw new ServiceException("用户信息获取失败: " + userInfoResult.get("msg")); } - UserDriverPo userPo = JSONUtil.toBean(JSONUtil.toJsonStr(userInfoResult.get("data")), - UserDriverPo.class); - vehicle.setUserName(userPo.getUserName()); - vehicle.setUserPhone(userPo.getUserPhone()); + // 司机数据可能不存在(用户尚未在用户中台完成注册),此时使用车辆表单携带的用户信息 + if (ObjectUtil.isNotNull(userInfoResult.get("data"))) { + UserDriverPo userPo = JSONUtil.toBean(JSONUtil.toJsonStr(userInfoResult.get("data")), + UserDriverPo.class); + vehicle.setUserName(userPo.getUserName()); + vehicle.setUserPhone(userPo.getUserPhone()); + } - List roleCodeList; + List roleCodeList = new ArrayList<>(); AjaxResult roleListAjaxResult = userServiceFeign.getRoleListByUserId(vehicle.getUserId()); if ("200".equals(String.valueOf(roleListAjaxResult.get("code"))) && ObjectUtil.isNotNull( roleListAjaxResult.get("data"))) { @@ -586,8 +589,6 @@ public class VehicleApplicationService { RolePO.class); if (CollUtil.isNotEmpty(rolePOS)) { roleCodeList = rolePOS.stream().map(RolePO :: getRoleCode).collect(Collectors.toList()); - } else { - throw new ServiceException("账号未授权角色信息!"); } } else { throw new ServiceException("获取用户角色列表失败: " + roleListAjaxResult.get("msg")); @@ -865,12 +866,14 @@ public class VehicleApplicationService { if (! "200".equals(String.valueOf(userInfoResult.get("code")))) { throw new ServiceException("用户信息获取失败: " + userInfoResult.get("msg")); } - UserDriverPo userPo = JSONUtil.toBean(JSONUtil.toJsonStr(userInfoResult.get("data")), - UserDriverPo.class); - vehicle.setUserName(userPo.getUserName()); - vehicle.setUserPhone(userPo.getUserPhone()); + if (ObjectUtil.isNotNull(userInfoResult.get("data"))) { + UserDriverPo userPo = JSONUtil.toBean(JSONUtil.toJsonStr(userInfoResult.get("data")), + UserDriverPo.class); + vehicle.setUserName(userPo.getUserName()); + vehicle.setUserPhone(userPo.getUserPhone()); + } - List roleCodeList; + List roleCodeList = new ArrayList<>(); AjaxResult roleListAjaxResult = userServiceFeign.getRoleListByUserId(vehicle.getUserId()); if ("200".equals(String.valueOf(roleListAjaxResult.get("code"))) && ObjectUtil.isNotNull( roleListAjaxResult.get("data"))) { @@ -878,8 +881,6 @@ public class VehicleApplicationService { RolePO.class); if (CollUtil.isNotEmpty(rolePOS)) { roleCodeList = rolePOS.stream().map(RolePO :: getRoleCode).collect(Collectors.toList()); - } else { - throw new ServiceException("账号未授权角色信息!"); } } else { throw new ServiceException("获取用户角色列表失败: " + roleListAjaxResult.get("msg")); @@ -1935,10 +1936,13 @@ public class VehicleApplicationService { if (! "200".equals(String.valueOf(info.get("code")))) { throw new ServiceException("用户信息获取失败"); } - UserDriverPo userPo = JSONObject.parseObject(JSONObject.toJSONString(info.get("data")), - UserDriverPo.class); - vehicle.setUserName(userPo.getUserName()); - vehicle.setUserPhone(userPo.getUserPhone()); + // 司机数据可能不存在(用户尚未在用户中台完成注册),此时使用车辆表单携带的用户信息 + if (ObjectUtil.isNotNull(info.get("data"))) { + UserDriverPo userPo = JSONObject.parseObject(JSONObject.toJSONString(info.get("data")), + UserDriverPo.class); + vehicle.setUserName(userPo.getUserName()); + vehicle.setUserPhone(userPo.getUserPhone()); + } List roleCodeList = new ArrayList<>(); AjaxResult roleListAjaxResult = userServiceFeign.getRoleListByUserId(vehicle.getUserId()); if ("200".equals(String.valueOf(roleListAjaxResult.get("code"))) && ObjectUtil.isNotNull( @@ -1948,8 +1952,6 @@ public class VehicleApplicationService { if (rolePOS != null && ! rolePOS.isEmpty()) { roleCodeList.addAll( rolePOS.stream().map(RolePO :: getRoleCode).collect(Collectors.toList())); - } else { - throw new ServiceException("账号未授权角色信息!"); } } if (! roleCodeList.contains(RoleEnum.DRIVER.getCode())) { diff --git a/mhd_transport/src/main/resources/bootstrap.yml b/mhd_transport/src/main/resources/bootstrap.yml index f657b93be..bfd891a38 100644 --- a/mhd_transport/src/main/resources/bootstrap.yml +++ b/mhd_transport/src/main/resources/bootstrap.yml @@ -20,10 +20,10 @@ spring: discovery: # server-addr: 127.0.0.1:8848 # 线上测试环境配置使用ip+端口号 -# server-addr: 10.33.0.129:6010 - server-addr: 10.102.192.31:6848 - username: nacos - password: manhuoda@2023 + server-addr: 10.33.0.129:6010 +# server-addr: 10.102.192.31:6848 +# username: nacos +# password: manhuoda@2023 #线上正式环境 # server-addr: 10.102.192.31:6848 # username: nacos @@ -33,14 +33,14 @@ spring: config: # server-addr: 127.0.0.1:8848 # 线上测试环境配置使用ip+端口号 - server-addr: 10.102.192.31:6848 - username: nacos - password: manhuoda@2023 +# server-addr: 10.102.192.31:6848 +# username: nacos +# password: manhuoda@2023 #线上正式环境 # server-addr: 10.102.192.31:6848 # username: nacos # password: manhuoda@2023 -# server-addr: 10.33.0.129:6010 + server-addr: 10.33.0.129:6010 #线上正式环境 # server-addr: 10.102.192.105:6848 group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置 diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/materialBaseInfo/entity/MaterialBaseInfo.java b/mhd_wms/src/main/java/com/mhd/wms/domain/materialBaseInfo/entity/MaterialBaseInfo.java index 9e470bc5b..01bc38dd6 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/materialBaseInfo/entity/MaterialBaseInfo.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/materialBaseInfo/entity/MaterialBaseInfo.java @@ -227,4 +227,14 @@ public class MaterialBaseInfo extends BaseVOEntity { @Excel(name = "毛重(kg)") private BigDecimal grossWeight; -} + @ApiModelProperty("保额") + @Excel(name = "保额") + private BigDecimal insureAmount; + + @ApiModelProperty(name = "收费标准") + private String chargeStandard; + + @ApiModelProperty(name = "单位") + private String unit; + +} \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/materialBaseInfo/repository/po/MaterialBaseInfoPO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/materialBaseInfo/repository/po/MaterialBaseInfoPO.java index 448ea452e..249a3e103 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/materialBaseInfo/repository/po/MaterialBaseInfoPO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/materialBaseInfo/repository/po/MaterialBaseInfoPO.java @@ -274,5 +274,13 @@ public class MaterialBaseInfoPO extends BaseVOEntity { @ApiModelProperty(name = "推送人名称") private String pushByName; + @ApiModelProperty("保额") + @Excel(name = "保额") + private BigDecimal insureAmount; + @ApiModelProperty(name = "收费标准") + private String chargeStandard; + + @ApiModelProperty(name = "单位") + private String unit; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/materialBaseInfo/repository/todo/MaterialBaseInfoDO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/materialBaseInfo/repository/todo/MaterialBaseInfoDO.java index 18d71d9d8..0484546e0 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/materialBaseInfo/repository/todo/MaterialBaseInfoDO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/materialBaseInfo/repository/todo/MaterialBaseInfoDO.java @@ -250,4 +250,13 @@ public class MaterialBaseInfoDO extends BaseVOEntity { @ApiModelProperty("更新时间止") private String updateTimeEnd; -} + @ApiModelProperty("保额") + @Excel(name = "保额") + private BigDecimal insureAmount; + + @ApiModelProperty(name = "收费标准") + private String chargeStandard; + + @ApiModelProperty(name = "单位") + private String unit; +} \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/materialBaseInfo/MaterialBaseInfoDTO.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/materialBaseInfo/MaterialBaseInfoDTO.java index ffbd5e729..b24a34567 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/materialBaseInfo/MaterialBaseInfoDTO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/materialBaseInfo/MaterialBaseInfoDTO.java @@ -302,4 +302,13 @@ public class MaterialBaseInfoDTO extends BaseVOEntity { @ApiModelProperty(name = "推送人名称") private String pushByName; -} + @ApiModelProperty("保额") + @Excel(name = "保额") + private BigDecimal insureAmount; + + @ApiModelProperty(name = "收费标准") + private String chargeStandard; + + @ApiModelProperty(name = "单位") + private String unit; +} \ No newline at end of file diff --git a/mhd_wms/src/main/resources/mapper/deliveTask/DeliveTaskMapper.xml b/mhd_wms/src/main/resources/mapper/deliveTask/DeliveTaskMapper.xml index 7d35518b4..89bab494d 100644 --- a/mhd_wms/src/main/resources/mapper/deliveTask/DeliveTaskMapper.xml +++ b/mhd_wms/src/main/resources/mapper/deliveTask/DeliveTaskMapper.xml @@ -69,6 +69,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and (operators_name IS NULL OR operators_name = '') + + + del_flag = 1 diff --git a/mhd_wms/src/main/resources/mapper/materialBaseInfo/MaterialBaseInfoMapper.xml b/mhd_wms/src/main/resources/mapper/materialBaseInfo/MaterialBaseInfoMapper.xml index bbd6659e7..2def048c8 100644 --- a/mhd_wms/src/main/resources/mapper/materialBaseInfo/MaterialBaseInfoMapper.xml +++ b/mhd_wms/src/main/resources/mapper/materialBaseInfo/MaterialBaseInfoMapper.xml @@ -64,6 +64,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + @@ -72,7 +75,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" material_classify_name, a.material_type, a.material_type_name, a.pack_id, a.pack_code, a.pack_name, a.unit_code, a.unit_name, a.brand_id, a.brand_code, a.brand_name, a.shelf_life, a.weight_limit, a.volume_limit, a.material_shape, material_shape_name, a.material_size, a.material_length, a.material_width, a.material_height, a.remark, a.nullify, a.create_time, a.create_by, a.create_by_name, a.update_time, a.update_by, a.update_by_name, a.del_flag, a.common, sku_code, a.unit_price, a.currency, a.origin_country, a.hs_code, a.declaration_unit, a.statutory_unit, a.statutory_second_unit, a.copy_code, - a.push_status,a.push_time,a.push_by,a.goods_type,a.gross_weight,a.push_by_name, + a.push_status,a.push_time,a.push_by,a.goods_type,a.gross_weight,a.push_by_name,a.unit,a.INSURE_AMOUNT,a.CHARGE_STANDARD, specification_model as specification_model,nvl(b.stock_qty,0) as stock_quantity from material_base_info a left join ( select material_base_info_id, sum(INVENTORY_QUANTITY) as stock_qty from MATERIAL_INVENTORY group by material_base_info_id ) b on a.material_base_info_id = b.material_base_info_id