Просмотр исходного кода

Merge branch 'master' of http://git.dongkesoft.com:9001/iBOSS-2.0-Mini/iboss-server-mdm

于继渤 2 лет назад
Родитель
Сommit
78012eba1f

+ 14 - 0
src/main/java/com/dk/mdm/controller/common/CommonController.java

@@ -1541,6 +1541,20 @@ public class CommonController extends BaseController<Map<String, Object>> {
     public ResponseResultVO<List<Map<String, Object>>> getServiceCategories(@RequestBody Map<String, Object> param) {
         return commonService.getServiceCategories(param);
     }
+
+    /**
+     * @desc : 获取仓库
+     * @author : 王英杰
+     * @date : 2024/2/26 10:36
+     */
+    @ApiOperation(
+            value = "获取账户类别",
+            notes = "获取账户类别"
+    )
+    @PostMapping("get_dictionarydata_by_page")
+    public ResponseResultVO<PageList<Map<String, Object>>> getDictionaryDataByPage(@RequestBody Map<String, Object> param) {
+        return commonService.getDictionaryDataByPage(param);
+    }
 }
 
 

+ 7 - 8
src/main/java/com/dk/mdm/generator/Generator.java

@@ -79,11 +79,11 @@ public class Generator {
         PackageConfig pc = new PackageConfig();
 //        pc.setModuleName("task");                  //模块包名
         pc.setParent("com.dk.mdm");        //父包路径
-        pc.setEntity("model.pojo.mst");                     //实体层路径
-        pc.setMapper("mapper.mst");                 //mapper层路径
-        pc.setXml("mapper.mst");                       //xml层路径
-        pc.setServiceImpl("service.mst");                   //业务层路径
-        pc.setController("controller.mst");             //控制层路径
+        pc.setEntity("model.pojo.ivt");                     //实体层路径
+        pc.setMapper("mapper.ivt");                 //mapper层路径
+        pc.setXml("mapper.ivt");                       //xml层路径
+        pc.setServiceImpl("service.ivt");                   //业务层路径
+        pc.setController("controller.ivt");             //控制层路径
         //app相关路径
 //        pc.setEntity("model.app.pojo.pset");                     //实体层路径
 //        pc.setMapper("mapper.app.pset");                 //mapper层路径
@@ -94,9 +94,8 @@ public class Generator {
 
         //4、策略配置
         StrategyConfig strategy = new StrategyConfig();
-        strategy.setTablePrefix("t_mst");                                             //表名前缀
-        strategy.setInclude("t_mst_setting_value");                                        //设置要映射的表名,只需改这里即可,可以是一个数组,一次性生成多张表。
-//        strategy.setInclude("t_mst_setting_value");                                        //设置要映射的表名,只需改这里即可,可以是一个数组,一次性生成多张表。
+        strategy.setTablePrefix("t_psi");                                             //表名前缀
+        strategy.setInclude("t_psi_outbound_item");                                        //设置要映射的表名,只需改这里即可,可以是一个数组,一次性生成多张表。
         strategy.setNaming(NamingStrategy.underline_to_camel);                      //转驼峰
         strategy.setColumnNaming(NamingStrategy.underline_to_camel);                //字段下划线转驼峰
         strategy.setEntityLombokModel(true);                                        //是否使用lombok开启注解

+ 16 - 0
src/main/java/com/dk/mdm/mapper/common/CommonMapper.java

@@ -1081,4 +1081,20 @@ public interface CommonMapper extends BaseMapper<Map<String, Object>> {
      * @date   : 2024/3/6 10:45
      */
     List<Map<String, Object>> getServiceCategories(Map param);
+
+
+    /**
+     * @desc : 获取账户类别
+     * @author : 王英杰
+     * @date : 2024/3/1 9:21
+     */
+    List<Map<String, Object>> getDictionaryDataByPage(Map param);
+
+    /**
+     * @desc : 获取账户类别个数
+     * @author : 洪旭东
+     * @date : 2024/3/1 9:21
+     */
+    Long countDictionaryDataByPage(Map param);
+
 }

+ 40 - 0
src/main/java/com/dk/mdm/mapper/common/CommonMapper.xml

@@ -3271,5 +3271,45 @@
           and tdk.kind_type = '服务类别'
         order by tdk.display_no
     </select>
+    <select id="getDictionaryDataByPage" resultType="java.util.Map">
+        SELECT
+        data_id AS dataId,
+        dict_code AS dictCode,
+        data_code AS dataCode,
+        data_value AS dataValue
+        FROM dkic_b.t_mst_dictionary_data
+        <where>
+              dict_code = '账户类别'
+            <if test="searchText !=null">
+                AND ( mac_name LIKE concat('%', #{searchText}, '%')
+                or  remarks LIKE concat('%', #{searchText}, '%'))
+            </if>
+            <if test="cpId != null">
+                AND cp_id = #{cpId}
+            </if>
+
+        </where>
+        order by CASE WHEN flg_default = true THEN 0 ELSE 1 END, display_no
+        <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
+            limit #{end} offset #{start}
+        </if>
+
+
+    </select>
+    <select id="countDictionaryDataByPage" resultType="java.lang.Long">
+        SELECT
+        count(1)
+        FROM  dkic_b.t_mst_dictionary_data
+        <where>
+            <if test="searchText !=null">
+                AND ( mac_name LIKE concat('%', #{searchText}, '%')
+                or  remarks LIKE concat('%', #{searchText}, '%'))
+            </if>
+            <if test="cpId != null">
+                AND cp_id = #{cpId}
+            </if>
+        </where>
+
+    </select>
 
 </mapper>

+ 8 - 4
src/main/java/com/dk/mdm/mapper/mst/MoneyAccountMapper.xml

@@ -7,7 +7,9 @@
     <sql id="Base_Column_List">
         mac_id, mac_code, mac_name, mac_type, balance, display_no, flg_default, mac_receipt_code, remarks, flg_valid, cp_id, op_create_time, op_create_user_id, op_update_time, op_update_user_id, op_app_code, op_timestamp, op_db_user
     </sql>
-
+    <sql id="Base_Column_List_">
+        tmma.mac_id, tmma.mac_code, tmma.mac_name, tmma.mac_type, tmma.balance, tmma.display_no, tmma.flg_default, tmma.mac_receipt_code, tmma.remarks, tmma.flg_valid, tmma.cp_id, tmma.op_create_time, tmma.op_create_user_id, tmma.op_update_time, tmma.op_update_user_id, tmma.op_app_code, tmma.op_timestamp, tmma.op_db_user
+    </sql>
     <!-- 通用查询映射结果 -->
     <resultMap id="BaseResultMap" type="com.dk.mdm.model.response.mst.MoneyAccountResponse">
         <id column="mac_id" property="macId"/>
@@ -158,9 +160,11 @@
     <!-- 根据主键查询表t_mst_money_account的一行数据 -->
     <select id="selectById" resultMap="BaseResultMap">
         SELECT
-        <include refid="Base_Column_List"/>
-        FROM dkic_b.t_mst_money_account
-        WHERE mac_id = #{macId}::uuid
+        <include refid="Base_Column_List_"/>
+        ,tmdd.data_value AS "macTypeName"
+        FROM dkic_b.t_mst_money_account tmma
+        left join dkic_b.t_mst_dictionary_data tmdd on tmma.mac_type=tmdd.data_id
+        WHERE tmma.mac_id = #{macId}::uuid
     </select>
 
     <select id="selectDisplayNo" resultType="Integer">

+ 2 - 1
src/main/java/com/dk/mdm/mapper/mst/SupplierMapper.xml

@@ -14,7 +14,7 @@
         msl.remarks, msl.flg_valid, msl.cp_id,
         msl.op_create_time, msl.op_create_user_id, msl.op_update_time,
         msl.op_update_user_id, msl.op_app_code, msl.op_timestamp,
-        msl.op_db_user
+        msl.op_db_user, msl.return_address
     </sql>
 
     <!-- 通用查询映射结果 -->
@@ -31,6 +31,7 @@
                 <result column="remarks" property="remarks"/>
                 <result column="flg_valid" property="flgValid"/>
                 <result column="cp_id" property="cpId"/>
+        <result column="return_address" property="returnAddress"/>
         <result column="staff_name" property="staffName"/>
         <result column="org_name" property="orgName"/>
                 <result column="sum_residue" property="sumResidue"/>

+ 4 - 0
src/main/java/com/dk/mdm/model/pojo/mst/Supplier.java

@@ -232,6 +232,10 @@ public class Supplier extends PageInfo<Supplier> implements Serializable {
     @TableField(exist = false)
     @ApiModelProperty(value = "供应品牌")
     private List<String> brandIds;
+
+    @TableField(exist = false)
+    @ApiModelProperty(value = "退货地址")
+    private String returnAddress;
     /*
      * 相关属性
      * @TableField(exist = false)

+ 3 - 2
src/main/java/com/dk/mdm/model/pojo/sale/OutReturn.java

@@ -18,6 +18,7 @@ import io.swagger.annotations.ApiModelProperty;
 import com.alibaba.fastjson.JSONObject;
 
 import java.math.BigDecimal;
+import java.time.LocalDate;
 import java.util.List;
 import java.time.LocalDateTime;
 
@@ -179,9 +180,9 @@ public class OutReturn extends PageInfo<OutReturn> implements Serializable {
      */
     @Excel(name = "取货日期")
     @ApiModelProperty(value = "取货日期")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     @TableField(typeHandler = TimestampTypeHandler.class)
-    private LocalDateTime pickupDate;
+    private LocalDate pickupDate;
 
 
     /**

+ 3 - 1
src/main/java/com/dk/mdm/model/query/mst/SupplierQuery.java

@@ -149,7 +149,9 @@ import java.time.LocalDateTime;
 
 
 
-
+        @TableField(exist = false)
+        @ApiModelProperty(value = "退货地址")
+        private String returnAddress;
 
 
 

+ 3 - 2
src/main/java/com/dk/mdm/model/query/sale/OutReturnQuery.java

@@ -20,6 +20,7 @@ import lombok.experimental.Accessors;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.time.LocalDate;
 import java.time.LocalDateTime;
 
 /**
@@ -180,9 +181,9 @@ public class OutReturnQuery extends PageInfo<OutReturnQuery> implements Serializ
      */
     @Excel(name = "取货日期")
     @ApiModelProperty(value = "取货日期")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     @TableField(typeHandler = TimestampTypeHandler.class)
-    private LocalDateTime pickupDate;
+    private LocalDate pickupDate;
 
 
     /**

+ 3 - 1
src/main/java/com/dk/mdm/model/response/mst/SpplierResponse.java

@@ -262,7 +262,9 @@ public class SpplierResponse extends PageInfo<SpplierResponse> implements Serial
      * 关联属性 + 查询条件
      * @TableField(exist = false)
      */
-
+    @TableField(exist = false)
+    @ApiModelProperty(value = "退货地址")
+    private String returnAddress;
 
     private static final long serialVersionUID = 1L;
 

+ 3 - 2
src/main/java/com/dk/mdm/model/response/sale/OutReturnResponse.java

@@ -20,6 +20,7 @@ import lombok.experimental.Accessors;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.time.LocalDate;
 import java.time.LocalDateTime;
 
 /**
@@ -180,9 +181,9 @@ public class OutReturnResponse extends PageInfo<OutReturnResponse> implements Se
      */
     @Excel(name = "取货日期")
     @ApiModelProperty(value = "取货日期")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     @TableField(typeHandler = TimestampTypeHandler.class)
-    private LocalDateTime pickupDate;
+    private LocalDate pickupDate;
 
 
     /**

+ 4 - 0
src/main/java/com/dk/mdm/model/vo/mst/SupplierVo.java

@@ -152,6 +152,10 @@ public class SupplierVo extends PageInfo<SupplierVo> implements Serializable {
     @TableField(exist = false)
     @ApiModelProperty(value = "供应品牌")
     private List<String> brandIds;
+
+    @TableField(exist = false)
+    @ApiModelProperty(value = "退货地址")
+    private String returnAddress;
     /*
      * 相关属性
      * @TableField(exist = false)

+ 3 - 2
src/main/java/com/dk/mdm/model/vo/sale/OutReturnVO.java

@@ -20,6 +20,7 @@ import lombok.experimental.Accessors;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.util.List;
 
@@ -180,9 +181,9 @@ public class OutReturnVO extends PageInfo<OutReturnVO> implements Serializable {
      */
     @Excel(name = "取货日期")
     @ApiModelProperty(value = "取货日期")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     @TableField(typeHandler = TimestampTypeHandler.class)
-    private LocalDateTime pickupDate;
+    private LocalDate pickupDate;
 
 
     /**

+ 11 - 0
src/main/java/com/dk/mdm/service/common/CommonService.java

@@ -1603,4 +1603,15 @@ public class CommonService extends BaseService<Map<String, Object>> {
         List<Map<String, Object>> list = commonMapper.getServiceCategories(param);
         return ResponseResultUtil.success(list);
     }
+
+    /**
+     * @desc : 获取仓库档案
+     * @author : 王英杰
+     * @date :2024/3/1 9:20
+     */
+    public ResponseResultVO<PageList<Map<String, Object>>> getDictionaryDataByPage(Map<String, Object> param) {
+        this.getLimit(param);
+        return super.mergeListWithCount(param, commonMapper.getDictionaryDataByPage(param),
+                commonMapper.countDictionaryDataByPage(param));
+    }
 }

+ 1 - 1
src/main/java/com/dk/mdm/service/ivt/OutboundService.java

@@ -112,7 +112,7 @@ public class OutboundService extends BaseService<Outbound> {
 					.setOutType(Constant.OutType.SALE.getName());
 				outboundItemMapper.insert(outboundItem);
 
-				// 反写订单出库中数量
+				// 反写订单出库中数量、金额
 				OrderItem orderItem = orderItemMapper.selectById(outboundItem.getFromItemId());
 				// 如果商品数量小于订单+本次出库单上的出库中数量
 				if(orderItem.getItemQty().compareTo(orderItem.getOutingQty().add(outboundItem.getOutingQty())) == -1){

+ 1 - 1
src/main/java/com/dk/mdm/service/mst/GoodsSeriesService.java

@@ -76,7 +76,7 @@ public class GoodsSeriesService extends BaseService<GoodsSeries> {
 	@Pagination
 	public ResponseResultVO<List<GoodsSeriesResponse>> listByNopage(GoodsSeriesQuery goodsSeriesQuery) {
 
-		return  ResponseResultUtil.success(goodsSeriesMapper.listByNopage(goodsSeriesQuery)) ;
+			return  ResponseResultUtil.success(goodsSeriesMapper.listByNopage(goodsSeriesQuery)) ;
 	}
 
 	/**

+ 44 - 2
src/main/java/com/dk/mdm/service/sale/OutReturnService.java

@@ -9,12 +9,17 @@ import com.dk.common.response.ResponseResultUtil;
 import com.dk.common.response.ResponseResultVO;
 import com.dk.mdm.infrastructure.convert.sale.OutReturnConvert;
 import com.dk.mdm.infrastructure.convert.sale.OutReturnItemConvert;
+import com.dk.mdm.mapper.sale.OrderItemMapper;
+import com.dk.mdm.mapper.sale.OrderMapper;
 import com.dk.mdm.mapper.sale.OutReturnItemMapper;
+import com.dk.mdm.model.pojo.sale.Order;
+import com.dk.mdm.model.pojo.sale.OrderItem;
 import com.dk.mdm.model.pojo.sale.OutReturn;
 import com.dk.mdm.model.pojo.sale.OutReturnItem;
 import com.dk.mdm.mapper.sale.OutReturnMapper;
 import com.dk.common.service.BaseService;
 import com.dk.common.mapper.BaseMapper;
+import com.dk.mdm.model.response.sale.OrderResponse;
 import com.dk.mdm.model.vo.sale.OutReturnItemVO;
 import com.dk.mdm.model.vo.sale.OutReturnVO;
 import com.dk.mdm.service.common.CommonService;
@@ -22,6 +27,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.math.BigDecimal;
 import java.util.List;
 import java.util.Map;
 import java.util.UUID;
@@ -51,6 +57,18 @@ public class OutReturnService extends BaseService<OutReturn> {
     private OutReturnItemMapper outReturnItemMapper;
 
     @Autowired
+    private OrderService orderService;
+
+    @Autowired
+    private OrderMapper orderMapper;
+
+    @Autowired
+    private OrderItemService orderItemService;
+
+    @Autowired
+    private OrderItemMapper orderItemMapper;
+
+    @Autowired
     private CommonService commonService;
 
     @Autowired
@@ -70,21 +88,45 @@ public class OutReturnService extends BaseService<OutReturn> {
     public ResponseResultVO<?> insert(OutReturnVO outReturnVO) {
 
         // 获取单号
-        Map<String, Object> codeMap = commonService.getUniqueNoteCode(Constant.docNameConstant.ORDER.getName(), false);
+        Map<String, Object> codeMap = commonService.getUniqueNoteCode(Constant.docNameConstant.ORDEROUT.getName(), false);
         outReturnVO.setReturnId(codeMap.get("outId").toString()).setReturnNo(codeMap.get("outNote").toString())
                 .setReturnType(Constant.DocumentType.OUT_RETURN.getName());
         // 转化实体
         OutReturn outReturn = outReturnConvert.convertToPo(outReturnVO);
-        // 订单总单保存
+        // 总单保存
         super.insert(outReturn);
 
         // 明细保存
         if (outReturnVO.getItemList() != null && outReturnVO.getItemList().size() > 0) {
+            double sumReturnQty = 0;    // 合计已出库退货数量
+            double sumReturnAmt = 0;    // 合计已出库退货金额
             for (OutReturnItemVO outReturnItemVO : outReturnVO.getItemList()) {
                 OutReturnItem outReturnItem = outReturnItemConvert.convertToPo(outReturnItemVO);
                 outReturnItem.setReturnId(outReturn.getReturnId()).setCpId(outReturn.getCpId()).setIntoStatus(Constant.IntoStatus.DAIRUKU.getName());
                 outReturnItemMapper.insert(outReturnItem);
+
+                // 反写订单已出库退货数量、金额
+                OrderItem orderItem = orderItemMapper.selectById(outReturnItem.getOrderItemId());
+                // 如果出库数量小于订单上已退货+本次退货数量
+                if (orderItem.getOutQty().compareTo(orderItem.getReturnQty().add(outReturnItem.getItemQty())) == -1) {
+                    throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.OUTQTY_NO_LESS_RETURNQTY.getMessage());
+                }
+                OrderItem orderItemUpdate = new OrderItem();
+                orderItemUpdate.setReturnQty(orderItem.getReturnQty().add(outReturnItem.getItemQty()))
+                        .setReturnAmt(orderItem.getReturnAmt().add(outReturnItem.getItemAmt()))
+                        .setItemId(orderItem.getItemId());
+                orderItemService.updateByUuid(orderItemUpdate);
+                // 累加退货数量,金额
+                sumReturnQty += outReturnItem.getItemQty().doubleValue();
+                sumReturnAmt += outReturnItem.getItemAmt().doubleValue();
             }
+            // 更新订单上的退货数量,金额
+            OrderResponse orderResponse = orderMapper.selectById(outReturnVO.getOrderId());
+            Order orderUpdate = new Order();
+            orderUpdate.setReturnQty(orderResponse.getReturnQty().add(new BigDecimal(sumReturnQty)))
+                    .setReturnAmt(orderResponse.getReturnAmt().add(new BigDecimal(sumReturnAmt)))
+                    .setOrderId(outReturnVO.getOrderId());
+            orderService.updateByUuid(orderUpdate);
         }
         return ResponseResultUtil.success();
     }