dongke hai 1 ano
pai
achega
caf772c2f8

+ 1 - 1
src/main/java/com/dk/mdm/controller/mst/OrgController.java

@@ -92,7 +92,7 @@ public class OrgController{
 
     /**
      * @desc   : 编辑组织机构
-     * @author : 宋扬
+     * @author : 王英杰
      * @date   : 2024/3/22 17:14
      */
     @ApiOperation(value = "编辑组织机构", notes = "编辑组织机构")

+ 1 - 1
src/main/java/com/dk/mdm/controller/pur/PurchaseController.java

@@ -51,7 +51,7 @@ public class PurchaseController{
             notes = "分页、关联、条件查询"
     )
     @PostMapping({"list_by_item"})
-    public ResponseResultVO<PageList<PurchaseResponse>> selectByCondItem(@RequestBody PurchaseQuery purchaseQuery) {
+    public ResponseResultVO<PageList<Map<String, Object>>> selectByCondItem(@RequestBody PurchaseQuery purchaseQuery) {
         return purchaseService.selectByCondItem(purchaseQuery);
     }
     /**

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

@@ -143,6 +143,12 @@ public interface CommonMapper extends BaseMapper<Map<String, Object>> {
 
 
     /**
+     * @desc : 查出一个map对象
+     * @author : 姜宁
+     * @date : 2023/2/7 14:45
+     */
+    Map<String, Object> selectDictionaryData (Map param );
+    /**
      * @desc : 获取用户隐藏列
      * @author : 周兴
      * @date : 2023/4/4 15:05

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

@@ -1792,6 +1792,19 @@
             AND tmgs.sku_name LIKE concat('%',my_ex.likequery(#{skuName}),'%')
         </if>
     </select>
+    <select id="selectDictionaryData" resultType="java.util.Map">
+        select dd.data_id     as "dataId",
+               dd.data_id     as "id",
+               dd.dict_code   as "dictCode",
+               dd.data_code   as "dataCode",
+               dd.data_value  as "dataValue",
+               dd.flg_default as "flgDefault"
+        from dkic_b.t_mst_dictionary_data as dd
+        where dd.flg_valid
+          and dd.cp_id = #{cpId}
+          and dd.dict_code = #{dictCode}
+          and dd.data_value = #{dataValue}
+    </select>
 
 
 </mapper>

+ 3 - 0
src/main/java/com/dk/mdm/mapper/mst/SupplierMapper.java

@@ -8,6 +8,7 @@ import com.dk.mdm.model.vo.mst.SupplierVo;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
+import java.util.Map;
 
 /**
 *  供应商 Mapper
@@ -49,6 +50,8 @@ public interface SupplierMapper extends BaseMapper<Supplier>{
      * @date   : 2024/2/29 17:49
      */
     int   batchDeleteBrand (String supId );
+
+
     /**
      * @desc   : 自动生id
      * @author : 王英杰

+ 8 - 0
src/main/java/com/dk/mdm/mapper/pur/PurchaseMapper.java

@@ -2,6 +2,7 @@ package com.dk.mdm.mapper.pur;
 
 import com.dk.mdm.model.pojo.pur.Purchase;
 import com.dk.common.mapper.BaseMapper;
+import com.dk.mdm.model.query.pur.PurchaseItemQuery;
 import com.dk.mdm.model.query.pur.PurchaseQuery;
 import com.dk.mdm.model.response.pur.PurchaseResponse;
 import com.dk.mdm.model.vo.pur.PurchaseVO;
@@ -26,6 +27,13 @@ public interface PurchaseMapper extends BaseMapper<Purchase>{
     List<PurchaseResponse> selectByCond(PurchaseQuery purchaseQuery);
 
     /**
+     * @desc   : 采购入库 查询采购订单带明细
+     * @author : 王英杰
+     * @date   : 2024/2/28 15:17
+     */
+    List<Map<String, Object>>  selectPurOrderAndDeatil(PurchaseQuery purchaseQuery);
+
+    /**
      * @desc   : 查询采购订单 带明细
      * @author : 王英杰
      * @date   : 2024/2/28 9:48

+ 150 - 2
src/main/java/com/dk/mdm/mapper/pur/PurchaseMapper.xml

@@ -308,6 +308,13 @@
     <!-- 通用条件列 -->
     <sql id="Condition_1">
         <where>
+
+            <if test="orgName != null and orgName != ''">
+                AND tmo.org_name LIKE concat('%',my_ex.likequery(#{orgName}),'%')
+            </if>
+            <if test="staffName != null and staffName != ''">
+                AND tms.staff_name LIKE concat('%',my_ex.likequery(#{staffName}),'%')
+            </if>
             <if test="purId != null and purId != ''">
                 AND tpp.pur_id = #{purId}::uuid
             </if>
@@ -446,7 +453,7 @@
                 AND tpp.pickup_date &lt; #{pickupDateEnd}::timestamp with time zone + interval '1 day'
             </if>
             <if test="searchText !=null and searchText!='' " >
-                AND   tpp.pur_no LIKE concat('%',my_ex.likequery(#{searchText}), '%')
+                AND   tmp.sup_name LIKE concat('%',my_ex.likequery(#{searchText}), '%')
             </if>
         </where>
     </sql>
@@ -586,7 +593,7 @@
         SELECT
         <include refid="Base_Column_List"/>
         FROM dkic_b.t_psi_purchase
-        WHERE pur_id = #{id}
+        WHERE pur_id = #{id}::uuid
         for update
     </select>
 
@@ -773,4 +780,145 @@
         SELECT *
         FROM dkic_b.f_query_pur_for_track(#{purId}::uuid)
     </select>
+    <select id="selectPurOrderAndDeatil" resultType="java.util.Map">
+        SELECT
+        tpp.pur_id AS "purId"
+        ,tpp.pur_no AS "purNo"
+        ,tpp.pur_type AS "purType"
+        ,tpp.org_id AS "orgId"
+        ,tpp.staff_id AS "staffId"
+        ,tpp.sup_id AS "supId"
+        ,tpp.contact_name AS "contactName"
+        ,tpp.contact_phone AS "contactPhone"
+        ,tpp.pickup_date AS "pickupDate"
+        ,tpp.sum_quantity AS "sumQuantity"
+        ,tpp.sum_standard AS "sumStandard"
+        ,tpp.sum_amount AS "sumAmount"
+        ,tpp.pur_discount AS "purDiscount"
+        ,tpp.pur_status AS "purStatus"
+        ,tpp.into_status AS "intoStatus"
+        ,tpp.intoing_qty AS "intoingQty"
+        ,tpp.intoing_amt AS "intoingAmt"
+        ,tpp.into_qty AS "intoQty"
+        ,tpp.into_amt AS "intoAmt"
+        ,tpp.return_qty AS "returnQty"
+        ,tpp.return_amt AS "returnAmt"
+        ,tpp.amt_payable AS "amtPayable"
+        ,tpp.amt_handle AS "amtHandle"
+        ,tpp.amt_residue AS "amtResidue"
+        ,tpp.remarks AS "remarks"
+        ,tpp.annex_paths AS "annexPaths"
+        ,tpp.make_staff AS "makeStaff"
+        ,tpp.make_time AS "makeTime"
+        ,tpp.flg_valid AS "flgValid"
+        ,tpp.cp_id AS "cpId"
+        ,tpp.op_create_time AS "opCreateTime"
+        ,tpp.op_create_user_id AS "opCreateUserId"
+        ,tpp.op_update_time AS "opUpdateTime"
+        ,tpp.op_update_user_id AS "opUpdateUserId"
+        ,tpp.op_app_code AS "opAppCode"
+        ,tpp.op_timestamp AS "opTimestamp"
+        ,tpp.op_db_user AS "opDbUser"
+        ,tpp.wh_id AS "whId"
+        ,tpp.from_ids AS "fromIds"
+        ,tpp.from_nos AS "fromNos"
+        ,tmo.org_name as "orgName"
+        ,tms.staff_name as "staffName"
+        ,tms1.staff_name as "makeStaffName"
+        ,tmp.sup_name as "supplierName"
+        ,tmp.return_address as "returnAddress"
+        ,tmw.wh_name as "whName"
+        ,sys.f_get_name_i18n(tdk1.kind_name_i18n, #{i18n}) as "intoStatusName"
+        ,sys.f_get_name_i18n(tdk2.kind_name_i18n, #{i18n}) as "purStatusName"
+        ,CASE
+        WHEN tpp.pur_status = '订单状态-暂存' THEN   sys.f_get_name_i18n(tdk2.kind_name_i18n, #{i18n})
+        WHEN tpp.pur_status != '订单状态-暂存' THEN  sys.f_get_name_i18n(tdk1.kind_name_i18n, #{i18n})
+        END AS "displayedStatus"
+       , (
+        SELECT
+        json_agg ( row_to_json ( item ) )
+        FROM
+        ( SELECT
+            tppi.item_id AS "itemId"
+            ,tppi.pur_id AS "purId"
+            ,tppi.item_index AS "itemIndex"
+            ,tppi.sku_id AS "skuId"
+            ,tppi.item_qty AS "itemQty"
+            ,tppi.price_std as "priceStd"
+            ,tppi.amt_std AS "amtStd"
+            ,tppi.price_pur AS "pricePur"
+            ,tppi.item_amt AS "itemAmt"
+            ,tppi.price_discount AS "priceDiscount"
+            ,tppi.non_std_code AS "nonStdCode"
+            ,tppi.into_status AS "intoStatus"
+            ,tppi.intoing_qty AS "intoingQty"
+            ,tppi.intoing_amt AS "intoingAmt"
+            ,tppi.into_qty AS "intoQty"
+            ,tppi.into_amt AS "intoAmt"
+            ,tppi.return_qty AS "returnQty"
+            ,tppi.return_amt AS "returnAmt"
+            ,tppi.remarks AS "remarks"
+            ,tppi.flg_valid AS "flagValid"
+            ,tppi.cp_id AS "cpId"
+            ,tppi.op_create_time AS "opCreateTime"
+            ,tppi.op_create_user_id AS "opCreateUserId"
+            ,tppi.op_update_time AS "opUpdateTime"
+            ,tppi.op_update_user_id AS "opUpdateUserId"
+            ,tppi.op_app_code AS "opAppCode"
+            ,tppi.op_timestamp AS "opTimestamp"
+            ,tppi.op_db_user AS "opDbUser"
+            ,tppi.from_id AS "fromId"
+            ,tppi.from_item_id AS "fromItemId"
+            ,tpoitem.order_no  as "orderNo"
+            ,tmgsitem.sku_code  as "skuCode"
+            ,tmgsitem.sku_model as "skuModel"
+            ,tmgsitem.sku_name  as "skuName"
+            ,tmgbitem.brand_name  as "brandName"
+            ,tmgbitem.short_name  as "shortName"
+            ,tmgsitem.sku_spec  as "skuSpec"
+            ,tmgsitem.price_purchase  as "pricePurchase"
+            ,tmgsitem.price_standard  as "priceStandard"
+            ,sys.f_get_name_i18n(tdk1item.kind_name_i18n, #{i18n}) as "intoStatusName"
+            ,i.inv_id AS "invId"
+            ,i.inv_qty AS "invQty"
+            ,i.usable_qty AS "usableQty"
+        ,tppitem.pur_no as "purNo"
+        FROM dkic_b.t_psi_purchase_item tppi
+        left join(SELECT T.*
+        FROM (select tpi.inv_id,
+        tpi.wh_id,
+        tpi.inv_qty,
+        tpi.usable_qty,
+        tpi.sku_id,
+        tpi.non_std_code,
+        tpi.cp_id,
+        tmwitem.wh_name,
+        rank()
+        over (partition by tpi.cp_id,tpi.sku_id,tpi.non_std_code order by tpi.inv_id) as RK
+        from dkic_b.t_psi_inventory as tpi
+        left join dkic_b.t_mst_warehouse as tmwitem on tmwitem.wh_id = tpi.wh_id) T
+        WHERE T.RK = 1) as i on i.sku_id = tppi.sku_id and i.non_std_code = tppi.non_std_code and i.cp_id = tppi.cp_id
+        left join dkic_b.t_psi_order tpoitem on tpoitem.order_id = tppi.from_id
+        left join dkic_b.t_mst_goods_sku tmgsitem on tppi.sku_id = tmgsitem.sku_id
+        left join dkic_b.t_mst_goods_brand tmgbitem on tmgbitem.brand_id = tmgsitem.brand_id
+        left join sys.t_data_kind tdk1item on tdk1item.kind_code = tppi.into_status
+        left join dkic_b.t_psi_purchase tppitem  on tppitem.pur_id = tppi.pur_id
+        WHERE
+        tppi.pur_id = tpp.pur_id
+        ) item
+        )  AS  "purchaseItemResponseList"
+        FROM dkic_b.t_psi_purchase tpp
+        Left join dkic_b.t_mst_org tmo on tpp.org_id = tmo.org_id
+        Left join dkic_b.t_mst_supplier tmp on tpp.sup_id = tmp.sup_id
+        Left join dkic_b.t_mst_staff tms on tpp.staff_id = tms.staff_id
+        Left join dkic_b.t_mst_staff tms1 on tpp.make_staff = tms1.staff_id
+        Left join dkic_b.t_mst_warehouse tmw on tpp.wh_id = tmw.wh_id
+        left join sys.t_data_kind tdk1 on tdk1.kind_code = tpp.into_status
+        left join sys.t_data_kind tdk2 on tdk2.kind_code = tpp.pur_status
+        <include refid="Condition_1"/>
+        order by  tpp.make_time desc
+        <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
+            limit #{end} offset #{start}
+        </if>
+    </select>
 </mapper>

+ 9 - 0
src/main/java/com/dk/mdm/model/query/pur/PurchaseQuery.java

@@ -391,6 +391,15 @@ public class PurchaseQuery extends PageInfo<PurchaseQuery> implements Serializab
     @TableField(typeHandler = TimestampTypeHandler.class,exist = false)
     private LocalDate  pickupDateEnd;
 
+
+    @ApiModelProperty(value = "业务员")
+    private String staffName;
+
+    @ApiModelProperty(value = "业务部门")
+    private String orgName;
+
+    @ApiModelProperty(value = "供应商")
+    private String supName;
     /*
      * 相关属性
      * @TableField(exist = false)

+ 7 - 8
src/main/java/com/dk/mdm/service/mac/MacTransferService.java

@@ -83,18 +83,17 @@ public class MacTransferService extends BaseService<MacTransfer> {
 	 */
 	@Pagination
 	public ResponseResultVO<PageList<MacTransferResponse>> selectByCond(MacTransferQuery macTransferQuery) {
-		List<MacTransferResponse> list = new ArrayList<>();
-		list = macTransferMapper.selectByCond(macTransferQuery);
+		List<MacTransferResponse> list = macTransferMapper.selectByCond(macTransferQuery);
 		for(int i =0;i<list.size();i++){ //显示明细第一条的 内容
-			list.get(i).getTrfId();
 			// 转账明细
 			List<MacTransferItemResponse> itemList = macTransferItemMapper.selectByCond(new MacTransferItemQuery().setTrfId(list.get(i).getTrfId()));
 	     if(itemList.size()>0){
-			 list.get(i).setTrfInMac(itemList.get(0).getTrfInMac());
-			 list.get(i).setTrfOutMac(itemList.get(0).getTrfOutMac());
-			 list.get(i).setAmtTrf(itemList.get(0).getAmtTrf());
-			 list.get(i).setTrfInMacName(itemList.get(0).getTrfInMacName());
-			 list.get(i).setTrfOutMacName(itemList.get(0).getTrfOutMacName());
+			 MacTransferItemResponse macTransferItemResponse = itemList.get(0);
+			 list.get(i).setTrfInMac(macTransferItemResponse.getTrfInMac());
+			 list.get(i).setTrfOutMac(macTransferItemResponse.getTrfOutMac());
+			 list.get(i).setAmtTrf(macTransferItemResponse.getAmtTrf());
+			 list.get(i).setTrfInMacName(macTransferItemResponse.getTrfInMacName());
+			 list.get(i).setTrfOutMacName(macTransferItemResponse.getTrfOutMacName());
 		 }
 		}
 

+ 3 - 10
src/main/java/com/dk/mdm/service/mst/OrgService.java

@@ -65,8 +65,7 @@ public class OrgService extends BaseService<Org> {
      */
     @Pagination
     public ResponseResultVO<PageList<OrgResponse>> selectByCond(OrgQuery orgQuery) {
-        List<OrgResponse> list = new ArrayList<>();
-        list = orgMapper.selectByCond(orgQuery);
+        List<OrgResponse>   list = orgMapper.selectByCond(orgQuery);
         if (orgQuery.getParentId() != null) { //说明传这个id就是部门档案查三级部门以下有没有子级
             for (OrgResponse item : list) {
                 OrgQuery qry = new OrgQuery();
@@ -98,8 +97,8 @@ public class OrgService extends BaseService<Org> {
     }
 
     /**
-     * @desc   : 条件查询
-     * @author : 宋扬
+     * @desc   : 通过ID查询 带出对应的 组织资金账户 以及组织仓库
+     * @author : 王英杰
      * @date   : 2023/2/29 10:40
      */
     @Pagination
@@ -227,9 +226,6 @@ public class OrgService extends BaseService<Org> {
     public ResponseResultVO<Boolean> update(OrgVO orgVO) {
         // 转化实体
         Org org = orgConvert.convertToPo(orgVO);
-
-
-
         // 修改组织机构
         super.update(org, new UpdateWrapper<Org>().lambda().eq(Org::getOrgId,
                 UUID.fromString(org.getOrgId())));
@@ -238,14 +234,11 @@ public class OrgService extends BaseService<Org> {
             //插入TOPid
             org.setTopId(org_.getTopId());
         }
-
         //执行函数
         orgMapper.resetLevelOrg(new Org().setTopId(org.getTopId()).setCpId(org.getCpId()));
-
         //删除组织仓库和组织资金账户
         orgWhMapper.deleteByOrgId(org.getOrgId());
         orgMacMapper.deleteByOrgId(org.getOrgId());
-
         // 添加组织仓库
         if (orgVO.getWarehouseList() != null && orgVO.getWarehouseList().size() > 0) {
             for (Map<String, Object> map : orgVO.getWarehouseList()) {

+ 68 - 62
src/main/java/com/dk/mdm/service/mst/SupplierService.java

@@ -6,6 +6,8 @@ import com.dk.common.model.pojo.PageList;
 import com.dk.common.response.ResponseResultUtil;
 import com.dk.common.response.ResponseResultVO;
 import com.dk.mdm.infrastructure.convert.mst.SupplierConvert;
+import com.dk.mdm.infrastructure.util.AuthUtils;
+import com.dk.mdm.mapper.common.CommonMapper;
 import com.dk.mdm.mapper.mac.OtherPayableMapper;
 import com.dk.mdm.model.pojo.mst.Supplier;
 import com.dk.mdm.mapper.mst.SupplierMapper;
@@ -31,6 +33,7 @@ import org.springframework.transaction.interceptor.TransactionAspectSupport;
 import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -46,6 +49,7 @@ public class SupplierService extends BaseService<Supplier> {
     public String getPrimaryKey() {
         return "sup_id";
     }
+
     @Override
     public BaseMapper<Supplier> getRepository() {
         return supplierMapper;
@@ -53,6 +57,8 @@ public class SupplierService extends BaseService<Supplier> {
 
     @Autowired
     private SupplierMapper supplierMapper;
+    @Autowired
+    private AuthUtils authUtils;
 
     @Autowired
     private SupplierConvert supplierConvert;
@@ -63,6 +69,9 @@ public class SupplierService extends BaseService<Supplier> {
     private OtherPayableService otherPayableService;
     @Autowired
     private OtherPayableMapper otherPayableMapper;
+    @Autowired
+    private CommonMapper commonMapper;
+
     /**
      * @desc : 条件查询
      * @author : 王英杰
@@ -72,33 +81,30 @@ public class SupplierService extends BaseService<Supplier> {
     public ResponseResultVO<PageList<Supplier>> selectByCond(SupplierQuery supplierQuery) {
         List<SpplierResponse> list = new ArrayList<>();
         list = supplierMapper.selectByCond(supplierQuery);
-
-
-
-        for(int i =0;i<list.size();i++){ //显示明细第一条的 内容
+        for (int i = 0; i < list.size(); i++) { //显示明细第一条的 内容
             list.get(i).getSupId();
             // 转账明细
             List<OtherPayableResponse> itemList = otherPayableMapper.selectByCond(new OtherPayableQuery().setObjectId(list.get(i).getSupId()).setBusinessType(0));
-            if(itemList.size()>0){
+            if (itemList.size() > 0) {
                 BigDecimal sumAmtPayableValue = (itemList != null && !itemList.isEmpty() && itemList.get(0).getSumAmtPayable() != null) ?
                         itemList.get(0).getSumAmtPayable() :
                         BigDecimal.ZERO;
                 list.get(i).setSumAmtPayable(sumAmtPayableValue);
             }
         }
-
-
-        return super.mergeListWithCount(supplierQuery,list ,
+        return super.mergeListWithCount(supplierQuery, list,
                 supplierMapper.countByCond(supplierQuery));
     }
+
     /**
      * @desc : 停用 供应商
      * @author : 王英杰
      * @date : 2023/1/10 17:19
      */
     public ResponseResultVO<?> deactivateData(SupplierVo supplierVo) {
-        return  super.disable(supplierVo.getSupId());
+        return super.disable(supplierVo.getSupId());
     }
+
     /**
      * @desc : 新建供应商
      * @author : 王英杰
@@ -108,46 +114,46 @@ public class SupplierService extends BaseService<Supplier> {
     public ResponseResultVO<?> insert(SupplierVo supplierVo) {
         // 转化实体
         Supplier supplier = supplierConvert.convertToPo(supplierVo);
-
-
-            Map<String, Object> codeMap = commonService.getUniqueNoteCode(Constant.docNameConstant.SUPPLIER.getName(), true);
-
-            supplier.setSupId(codeMap.get("outId").toString());
-            supplier.setSupCode(codeMap.get("outNote").toString());  //插入供应商表的实体
-
-            super.insert(supplier);// 先插入自己的供应商表
-            if ((supplier.getBrandIds() != null) && (supplier.getBrandIds().size()>0)) {  //如果有 商品品牌 一起插入品牌
-                List<Supplier>  Supplierlst   = new ArrayList<>();
-                List<String> BrandIdList =  new ArrayList<>();
-                BrandIdList = supplier.getBrandIds();
-                Supplier supplier_center = null;
-                 for (int i = 0;  i< BrandIdList.size();i++){
-                     supplier_center= new Supplier();
-                     supplier_center.setBrandId(BrandIdList.get(i));
-                     supplier_center.setSupId(supplier.getSupId());
-                     Supplierlst.add(supplier_center);
-                 }
-                supplierMapper.insertSupplierBrandtBatch(Supplierlst); // 向供应商品牌表插入数据
+        Map<String, Object> codeMap = commonService.getUniqueNoteCode(Constant.docNameConstant.SUPPLIER.getName(), true);
+        supplier.setSupId(codeMap.get("outId").toString());
+        supplier.setSupCode(codeMap.get("outNote").toString());  //插入供应商表的实体
+        super.insert(supplier);// 先插入自己的供应商表
+        if ((supplier.getBrandIds() != null) && (supplier.getBrandIds().size() > 0)) {  //如果有 商品品牌 一起插入品牌
+            List<Supplier> Supplierlst = new ArrayList<>();
+            List<String> BrandIdList = new ArrayList<>();
+            BrandIdList = supplier.getBrandIds();
+            Supplier supplier_center = null;
+            for (int i = 0; i < BrandIdList.size(); i++) {
+                supplier_center = new Supplier();
+                supplier_center.setBrandId(BrandIdList.get(i));
+                supplier_center.setSupId(supplier.getSupId());
+                Supplierlst.add(supplier_center);
             }
-
-             if(supplierVo.getStartAmount()!=null && supplierVo.getStartAmount().compareTo(BigDecimal.ZERO) > 0) { //说明有起始欠款  需要插入其他支出
-                 //先组装明细
-                 List<OtherPayableItemVO> itemList = new ArrayList<>();
-                 OtherPayableItemVO otherPayableItemVO = new OtherPayableItemVO();
-                 otherPayableItemVO.setPayableType("10112024-0415-0000-0000-0000300dd508");
-                 otherPayableItemVO.setAmtPayable(supplierVo.getStartAmount());
-                 itemList.add(otherPayableItemVO);
-                 //调用 新建其他支出
-                 OtherPayableVO otherPayableVO = new OtherPayableVO().setBusinessType(0).setObjectId(supplier.getSupId())
-                         .setSumAmtPayable(supplierVo .getStartAmount()).setStaffId(supplier.getStaffId())
-                         .setOrgId(supplier.getOrgId()).setAccDate(LocalDate.now()).setMakeStaff(supplierVo
-                                 .getMakeStaff()).setItemList(itemList).setSumAmtPay(BigDecimal.ZERO);
-                 otherPayableService.insert(otherPayableVO);
-             }
-            return ResponseResultUtil.success();
-
-
+            supplierMapper.insertSupplierBrandtBatch(Supplierlst); // 向供应商品牌表插入数据
+        }
+        if (supplierVo.getStartAmount() != null && supplierVo.getStartAmount().compareTo(BigDecimal.ZERO) > 0) { //说明有起始欠款  需要插入其他支出
+            //先组装明细
+            List<OtherPayableItemVO> itemList = new ArrayList<>();
+            OtherPayableItemVO otherPayableItemVO = new OtherPayableItemVO();
+            Map<String, Object> param = new HashMap<>();
+            param.put("cpId", authUtils.getStaff().getCpId());
+            param.put("dictCode", "基础资料-支出");
+            param.put("dataValue", "期初");
+            Map<String, Object> data = commonMapper.selectDictionaryData(param);
+            String dataId = String.valueOf(data.get("dataId"));
+            otherPayableItemVO.setPayableType(dataId);
+            otherPayableItemVO.setAmtPayable(supplierVo.getStartAmount());
+            itemList.add(otherPayableItemVO);
+            //调用 新建其他支出
+            OtherPayableVO otherPayableVO = new OtherPayableVO().setBusinessType(0).setObjectId(supplier.getSupId())
+                    .setSumAmtPayable(supplierVo.getStartAmount()).setStaffId(supplier.getStaffId())
+                    .setOrgId(supplier.getOrgId()).setAccDate(LocalDate.now()).setMakeStaff(supplierVo
+                            .getMakeStaff()).setItemList(itemList).setSumAmtPay(BigDecimal.ZERO);
+            otherPayableService.insert(otherPayableVO);
+        }
+        return ResponseResultUtil.success();
     }
+
     /**
      * @desc : 编辑方法
      * @author : 王英杰
@@ -159,22 +165,22 @@ public class SupplierService extends BaseService<Supplier> {
     public ResponseResultVO<?> update(SupplierVo supplierVo) {
         // 转化实体
         Supplier supplier = supplierConvert.convertToPo(supplierVo);
-       super.updateByUuid(supplier);// 先更新的供应商表
-            if ((supplier.getBrandIds() != null) && (supplier.getBrandIds().size()>0)) {  //如果有 商品品牌 一起插入品牌
-                supplierMapper.batchDeleteBrand(supplier.getSupId());//批量删除供应商对应的供应商品牌
-                List<Supplier>  Supplierlst   = new ArrayList<>();
-                List<String> BrandIdList =  new ArrayList<>();
-                BrandIdList = supplier.getBrandIds();
-                Supplier supplier_center = null;
-                for (int i = 0;  i< BrandIdList.size();i++){
-                    supplier_center= new Supplier();
-                    supplier_center.setBrandId(BrandIdList.get(i));
-                    supplier_center.setSupId(supplier.getSupId());
-                    Supplierlst.add(supplier_center);
-                }
-                supplierMapper.insertSupplierBrandtBatch(Supplierlst); // 向供应商品牌表插入数据
+        super.updateByUuid(supplier);// 先更新的供应商表
+        if ((supplier.getBrandIds() != null) && (supplier.getBrandIds().size() > 0)) {  //如果有 商品品牌 一起插入品牌
+            supplierMapper.batchDeleteBrand(supplier.getSupId());//批量删除供应商对应的供应商品牌
+            List<Supplier> supplierlst = new ArrayList<>();
+            List<String> BrandIdList = new ArrayList<>();
+            BrandIdList = supplier.getBrandIds();
+            Supplier supplier_center = null;
+            for (int i = 0; i < BrandIdList.size(); i++) {
+                supplier_center = new Supplier();
+                supplier_center.setBrandId(BrandIdList.get(i));
+                supplier_center.setSupId(supplier.getSupId());
+                supplierlst.add(supplier_center);
             }
-          return ResponseResultUtil.success();
+            supplierMapper.insertSupplierBrandtBatch(supplierlst); // 向供应商品牌表插入数据
+        }
+        return ResponseResultUtil.success();
 
     }
 }

+ 2 - 15
src/main/java/com/dk/mdm/service/pur/PurchaseService.java

@@ -95,21 +95,8 @@ public class PurchaseService extends BaseService<Purchase> {
      * @date : 2024/2/28 9:47
      */
     @Pagination
-    public ResponseResultVO<PageList<PurchaseResponse>> selectByCondItem(PurchaseQuery purchaseQuery) {
-        // todo xml 明细修改json
-         List<PurchaseResponse> purchaseOrders = purchaseMapper.selectByCond(purchaseQuery); // 总单数据
-        for (PurchaseResponse order : purchaseOrders) {
-            PurchaseItemQuery purchaseItemQuery = new PurchaseItemQuery ();
-            purchaseItemQuery.setPageSize(1000);
-            purchaseItemQuery.setCurrentPage(1);
-            purchaseItemQuery.setPurId(order.getPurId());
-            purchaseItemQuery.setCpId(order.getCpId());
-            List<PurchaseItemResponse> items =  purchaseItemMapper.selectByCond(purchaseItemQuery);// 明细数据
-
-            order.setPurchaseItemResponseList(items);
-        }
-
-        return super.mergeListWithCount(purchaseQuery, purchaseOrders, purchaseMapper.countByCond(purchaseQuery));
+    public ResponseResultVO<PageList<Map<String, Object>>> selectByCondItem(PurchaseQuery purchaseQuery) {
+        return super.mergeListWithCount(purchaseQuery, purchaseMapper.selectPurOrderAndDeatil(purchaseQuery), purchaseMapper.countByCond(purchaseQuery));
     }
     /**
      * @desc : 采购订单 待入库查询