Browse Source

应付对账确认对账需要更新采购验收/验退单明细的对账状态

chenw 6 years ago
parent
commit
b2502432e5

+ 4 - 0
applications/money/money-server/pom.xml

@@ -105,6 +105,10 @@
             <groupId>com.usoftchina.saas</groupId>
             <artifactId>document-dto</artifactId>
         </dependency>
+      <dependency>
+        <groupId>com.usoftchina.saas</groupId>
+        <artifactId>purchase-api</artifactId>
+      </dependency>
         <dependency>
             <groupId>com.usoftchina.saas</groupId>
             <artifactId>document-server</artifactId>

+ 18 - 6
applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/ApcheckServiceImpl.java

@@ -9,7 +9,6 @@ import com.usoftchina.saas.commons.dto.ListReqDTO;
 import com.usoftchina.saas.commons.exception.BizExceptionCode;
 import com.usoftchina.saas.commons.po.Status;
 import com.usoftchina.saas.context.BaseContextHolder;
-import com.usoftchina.saas.context.SpringContextHolder;
 import com.usoftchina.saas.exception.BizException;
 import com.usoftchina.saas.money.b2b.dto.APCheck;
 import com.usoftchina.saas.money.mapper.ApcheckMapper;
@@ -18,6 +17,8 @@ import com.usoftchina.saas.money.po.ApcheckDetail;
 import com.usoftchina.saas.money.po.ApcheckForm;
 import com.usoftchina.saas.money.service.ApcheckService;
 import com.usoftchina.saas.page.PageRequest;
+import com.usoftchina.saas.purchase.api.ProdInOutApi;
+import com.usoftchina.saas.purchase.dto.ProdInOutStatusDTO;
 import com.usoftchina.saas.utils.JsonUtils;
 import com.usoftchina.saas.utils.StringUtils;
 import com.usoftchina.saas.utils.http.HttpUtil;
@@ -26,9 +27,7 @@ import org.springframework.beans.factory.annotation.Value;
 import org.springframework.http.HttpStatus;
 import org.springframework.stereotype.Service;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
+import java.util.*;
 
 /**
  * @author: guq
@@ -42,9 +41,10 @@ public class ApcheckServiceImpl implements ApcheckService{
 
     @Autowired
     private ApcheckMapper apcheckMapper;
-
     @Autowired
     private CompanyApi companyApi;
+    @Autowired
+    private ProdInOutApi prodInOutApi;
 
     private static final String URI = "/erp/sale/APCheck/reply?access_id=";
 
@@ -106,7 +106,19 @@ public class ApcheckServiceImpl implements ApcheckService{
                 } catch (Exception e) {
                 }
             }
-
+            //更新采购验收、验退单的对账状态
+            List<ApcheckDetail> apcheckDetailList = apcheckMapper.selectByFK(id);
+            List<ProdInOutStatusDTO> prodInOutStatusDTOList = new ArrayList<ProdInOutStatusDTO>();
+            for (ApcheckDetail apcheckDetail : apcheckDetailList) {
+                ProdInOutStatusDTO prodInOutStatusDTO = new ProdInOutStatusDTO(
+                        apcheckDetail.getAd_inoutno(),
+                        apcheckDetail.getAd_pdno().longValue(),
+                        apcheckDetail.getCompanyId(),
+                        "已对账"
+                );
+                prodInOutStatusDTOList.add(prodInOutStatusDTO);
+            }
+            prodInOutApi.updateApcheckStatus(prodInOutStatusDTOList);
         }
     }
 

+ 12 - 4
applications/purchase/purchase-api/src/main/java/com/usoftchina/saas/purchase/api/ProdInOutApi.java

@@ -3,11 +3,11 @@ package com.usoftchina.saas.purchase.api;
 import com.usoftchina.saas.auth.client.interceptor.ServiceFeignInterceptor;
 import com.usoftchina.saas.base.Result;
 import com.usoftchina.saas.purchase.dto.ProdInOutFormDTO;
+import com.usoftchina.saas.purchase.dto.ProdInOutStatusDTO;
 import org.springframework.cloud.openfeign.FeignClient;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
 
 /**
  * @Author chenwei
@@ -32,4 +32,12 @@ public interface ProdInOutApi {
      */
     @PostMapping("/prodinout/b2bStatus/update")
     Result updateB2BStatus(@RequestParam("id") Long id, @RequestParam("status") String status);
+
+    /**
+     * 更新明细对账状态
+     * @param prodInOutStatusDTO
+     * @return
+     */
+    @PostMapping("/prodinout/apcheckStatus/update")
+    Result updateApcheckStatus(@RequestBody List<ProdInOutStatusDTO> prodInOutStatusDTO);
 }

+ 2 - 0
applications/purchase/purchase-dto/src/main/java/com/usoftchina/saas/purchase/dto/ProdIODetailDTO.java

@@ -91,6 +91,8 @@ public class ProdIODetailDTO extends CommonBaseDTO implements Serializable {
 
     private Integer iodetno;
 
+    private String apcheckStatus;
+
     private ProductDTO productDTO;
 
 }

+ 24 - 0
applications/purchase/purchase-dto/src/main/java/com/usoftchina/saas/purchase/dto/ProdInOutStatusDTO.java

@@ -0,0 +1,24 @@
+package com.usoftchina.saas.purchase.dto;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+/**
+ * @Description 更新明细对账状态
+ * @Author chenwei
+ * @Date 2019/03/09
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class ProdInOutStatusDTO implements Serializable{
+
+    private String inoutNo;
+    private Long detno;
+    private Long companyId;
+    private String status;
+
+}

+ 14 - 0
applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/controller/ProdInOutController.java

@@ -7,12 +7,15 @@ import com.usoftchina.saas.commons.dto.DocBaseDTO;
 import com.usoftchina.saas.commons.dto.ListReqDTO;
 import com.usoftchina.saas.page.PageRequest;
 import com.usoftchina.saas.purchase.dto.ProdInOutFormDTO;
+import com.usoftchina.saas.purchase.dto.ProdInOutStatusDTO;
 import com.usoftchina.saas.purchase.po.ProdInOutList;
 import com.usoftchina.saas.purchase.service.ProdInOutService;
 import com.usoftchina.saas.utils.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.List;
+
 /**
  * Created by zdw
  * 2018-10-17 11:41.
@@ -227,4 +230,15 @@ public class ProdInOutController {
         prodInOutService.updateB2BStatus(id, status);
         return Result.success();
     }
+
+    /**
+     * 更新明细对账状态
+     * @param prodInOutStatusDTO
+     * @return
+     */
+    @PostMapping("/apcheckStatus/update")
+    public Result updateApcheckStatus(@RequestBody List<ProdInOutStatusDTO> prodInOutStatusDTO){
+        prodInOutService.updateApcheckStatus(prodInOutStatusDTO);
+        return Result.success();
+    }
 }

+ 2 - 0
applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/mapper/ProdIODetailMapper.java

@@ -1,6 +1,7 @@
 package com.usoftchina.saas.purchase.mapper;
 
 import com.usoftchina.saas.base.mapper.CommonBaseMapper;
+import com.usoftchina.saas.purchase.dto.ProdInOutStatusDTO;
 import com.usoftchina.saas.purchase.po.ProdIODetail;
 import org.apache.ibatis.annotations.Param;
 
@@ -33,4 +34,5 @@ public interface ProdIODetailMapper extends CommonBaseMapper<ProdIODetail> {
 
     void getDefaultWarehouseByProduct(@Param("pi_id") Long pi_id);
 
+    void updateApcheckStatus(ProdInOutStatusDTO prodInOutStatusDTO);
 }

+ 2 - 0
applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/po/ProdIODetail.java

@@ -86,6 +86,8 @@ public class ProdIODetail extends CommonBaseEntity implements Serializable {
 
     private Integer iodetno;
 
+    private String apcheckStatus;
+
     private ProductDTO productDTO;
 
 }

+ 9 - 0
applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/service/ProdInOutService.java

@@ -9,10 +9,13 @@ import com.usoftchina.saas.commons.dto.ListReqDTO;
 import com.usoftchina.saas.commons.po.BillCodeSeq;
 import com.usoftchina.saas.page.PageRequest;
 import com.usoftchina.saas.purchase.dto.ProdInOutFormDTO;
+import com.usoftchina.saas.purchase.dto.ProdInOutStatusDTO;
 import com.usoftchina.saas.purchase.mapper.ProdInOutMapper;
 import com.usoftchina.saas.purchase.po.ProdInOut;
 import com.usoftchina.saas.purchase.po.ProdInOutList;
 
+import java.util.List;
+
 /**
  * Created by zdw
  * 2018-10-17 13:39.
@@ -92,4 +95,10 @@ public interface ProdInOutService extends CommonBaseService<ProdInOutMapper, Pro
      * @param status
      */
     void updateB2BStatus(Long id, String status);
+
+    /**
+     * 更新出入库明细对账状态
+     * @param prodInOutStatusDTO
+     */
+    void updateApcheckStatus(List<ProdInOutStatusDTO> prodInOutStatusDTO);
 }

+ 11 - 1
applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/service/impl/ProdInOutServiceImpl.java

@@ -24,6 +24,7 @@ import com.usoftchina.saas.page.PageRequest;
 import com.usoftchina.saas.purchase.dto.ProdIODetailDTO;
 import com.usoftchina.saas.purchase.dto.ProdInOutDTO;
 import com.usoftchina.saas.purchase.dto.ProdInOutFormDTO;
+import com.usoftchina.saas.purchase.dto.ProdInOutStatusDTO;
 import com.usoftchina.saas.purchase.mapper.*;
 import com.usoftchina.saas.purchase.po.ProdIODetail;
 import com.usoftchina.saas.purchase.po.ProdInOut;
@@ -32,6 +33,7 @@ import com.usoftchina.saas.purchase.service.ProdInOutService;
 import com.usoftchina.saas.transfers.api.SendMessageApi;
 import com.usoftchina.saas.transfers.dto.MessageInfo;
 import com.usoftchina.saas.utils.BeanMapper;
+import com.usoftchina.saas.utils.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Propagation;
@@ -89,6 +91,15 @@ public class ProdInOutServiceImpl extends CommonBaseServiceImpl<ProdInOutMapper,
         getMapper().updateByPrimaryKeySelective(prodInOut);
     }
 
+    @Override
+    public void updateApcheckStatus(List<ProdInOutStatusDTO> prodInOutStatusDTOList){
+        if (!CollectionUtils.isEmpty(prodInOutStatusDTOList)){
+            for (ProdInOutStatusDTO prodInOutStatusDTO : prodInOutStatusDTOList) {
+                prodIODetailMapper.updateApcheckStatus(prodInOutStatusDTO);
+            }
+        }
+    }
+
     @Override
     public PageInfo<ProdInOutList> getListData(PageRequest page, ListReqDTO req) {
         //设置默认分页
@@ -130,7 +141,6 @@ public class ProdInOutServiceImpl extends CommonBaseServiceImpl<ProdInOutMapper,
         //将prodInOut实体对象转化为传输对象
         ProdInOutDTO main = BeanMapper.map(prodInOut,ProdInOutDTO.class);
         //查询从表
-
         List<ProdIODetail> prodIODetails =prodIODetailMapper.selectByFK(id);
         List<ProdIODetailDTO> items = BeanMapper.mapList(prodIODetails,ProdIODetailDTO.class);
         prodInOutFormDTO.setMain(main);

+ 7 - 1
applications/purchase/purchase-server/src/main/resources/mapper/ProdIODetailMapper.xml

@@ -44,6 +44,7 @@
     <result column="pd_yqty" jdbcType="DOUBLE" property="pd_yqty" />
     <result column="pd_ioid" jdbcType="INTEGER" property="pd_ioid" />
     <result column="iocode" jdbcType="VARCHAR" property="iocode" />
+    <result column="apcheckStatus" jdbcType="VARCHAR" property="apcheckStatus" />
     <result column="iodetno" jdbcType="INTEGER" property="iodetno" />
     <association property="productDTO" javaType="com.usoftchina.saas.document.dto.ProductDTO">
       <id column="pr_id" property="id"/>
@@ -679,5 +680,10 @@
     where pd_piid = #{pi_id,jdbcType=INTEGER};
   </update>
 
-
+  <update id="updateApcheckStatus" parameterType="com.usoftchina.saas.purchase.dto.ProdInOutStatusDTO">
+    UPDATE prodiodetail SET apcheckStatus = #{status, jdbcType=VARCHAR}
+    WHERE pd_inoutno = #{inoutNo, jdbcType=VARCHAR}
+    AND pd_pdno = #{detno, jdbcType=INTEGER}
+    AND companyid = #{companyId, jdbcType=INTEGER}
+  </update>
 </mapper>