Browse Source

Merge remote-tracking branch 'origin/master'

master
dimengzhe 2 months ago
parent
commit
66da0319bf
  1. 4
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufacturerbank/BaseManufacturerBankFeign.java
  2. 19
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufacturerbank/BaseManufacturerBankFeignFallback.java
  3. 17
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufacturerretware/BaseManufacturerRetwareFeign.java
  4. 41
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclebrand/BaseVehicleBrand.java
  5. 2
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturerbank/BaseManufacturerBankMapper.java
  6. 11
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturerbank/BaseManufacturerBankMapper.xml
  7. 24
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturerbank/BaseManufacturerBankRest.java
  8. 6
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturerbank/BaseManufacturerBankService.java
  9. 25
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturerretware/BaseManufacturerRetwareRest.java
  10. 6
      anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/fukuanshenqing/paymentAdd.vue
  11. 3
      anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/fukuanshenqing/paymentInfo.vue
  12. 18
      anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/fukuanshenqing/relation/paymentInformationAdd.vue
  13. 1
      anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/fukuanshenqing/relation/paymentInformationInfo.vue
  14. 24
      anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/paymentInformation/paymentInformation.vue
  15. 29
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpayment/FinPayment.java
  16. 41
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpayment/FinPaymentDetailsVo.java
  17. 33
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpayment/FinPaymentDto.java
  18. 18
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpayment/FinPaymentFeign.java
  19. 19
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpayment/FinPaymentQuery.java
  20. 19
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpayment/FinPaymentVo.java
  21. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplydetails/FinPaymentapplyDetailVo.java
  22. 47
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplydetailsbelow/FinPaymentapplyDetailsBelow.java
  23. 27
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplydetailsbelow/FinPaymentapplyDetailsBelowDetailsVo.java
  24. 47
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplydetailsbelow/FinPaymentapplyDetailsBelowDto.java
  25. 14
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecordDto.java
  26. 26
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpayment/FinPaymentRest.java
  27. 3
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapply/FinPaymentapplyMapper.xml
  28. 15
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapply/FinPaymentapplyRest.java
  29. 29
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapply/FinPaymentapplyService.java
  30. 3
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapplydetails/FinPaymentapplyDetailsService.java
  31. 18
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapplydetailsbeloweve/FinPaymentapplyDetailsBelowEveMapper.java
  32. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapplydetailsbeloweve/FinPaymentapplyDetailsBelowEveService.java
  33. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/LoanSettleApplyFeign.java
  34. 26
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbeoverdueveh/LoanBeOverdueVehMapper.xml
  35. 4
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyService.java
  36. 105
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinboundquery/ScmApplyInboundQueryRest.java
  37. 49
      yxt-as-ui/src/api/storage/receivingGoods.js
  38. 117
      yxt-as-ui/src/views/storage/deliveryNotice/index.vue
  39. 389
      yxt-as-ui/src/views/storage/deliveryNotice/procurementInfo.vue
  40. 385
      yxt-as-ui/src/views/storage/deliveryNotice/receiptAdd.vue
  41. 2
      yxt-as-ui/src/views/storage/deliveryNotice/receiptInfo.vue
  42. 732
      yxt-as-ui/src/views/storage/receivingGoods/index.vue
  43. 1231
      yxt-as-ui/src/views/storage/receivingGoods/receivingGoodsAdd.vue
  44. 210
      yxt-as-ui/src/views/storage/receivingGoods/receivingGoodsInfo.vue
  45. 417
      yxt-as-ui/src/views/storage/receivingGoods/upShelfAddRecord.vue
  46. 158
      yxt-as-ui/src/views/storage/receivingGoods/upShelfInfo.vue
  47. 527
      yxt-as-ui/src/views/storage/upShelf/index.vue
  48. 531
      yxt-as-ui/src/views/storage/upShelf/upShelfAdd.vue
  49. 128
      yxt-as-ui/src/views/storage/upShelf/upShelfInfo.vue
  50. 12
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbillsettelapply/AsBillSettelApplyService.java
  51. 17
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybill/AsBusrepairInventorybillService.java
  52. 5
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsansbill/WmsAnsBillMapper.xml
  53. 6
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsansbill/WmsAnsBillService.java
  54. 2
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsansbill/WmsAnsDetailsVo.java
  55. 7
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbill/WmsReceiptBillService.java
  56. 3
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbilldetail/WmsReceiptBillDetailDto2.java
  57. 6
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbilldetail/WmsReceiptBillDetailVo.java
  58. 1
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillService.java
  59. 4
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/app/AppDetailsVo.java
  60. 4
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbilldetail/ShelfDetailsListVo.java
  61. 8
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbilldetail/ShelfInitListVo.java
  62. 4
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbilldetail/WmsShelfBillDetail.java
  63. 6
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbilldetail/WmsShelfBillDetailDto.java

4
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufacturerbank/BaseManufacturerBankFeign.java

@ -63,4 +63,8 @@ public interface BaseManufacturerBankFeign {
@ApiOperation("根据品牌sid和厂家回款通路名称查询银行账号") @ApiOperation("根据品牌sid和厂家回款通路名称查询银行账号")
@GetMapping("/selectBankAccount/{brandSid}/{manufaSaleChannelValue}") @GetMapping("/selectBankAccount/{brandSid}/{manufaSaleChannelValue}")
ResultBean<String> selectBankAccount(@PathVariable("brandSid") String brandSid,@PathVariable("manufaSaleChannelValue") String manufaSaleChannelValue); ResultBean<String> selectBankAccount(@PathVariable("brandSid") String brandSid,@PathVariable("manufaSaleChannelValue") String manufaSaleChannelValue);
@ApiOperation("根据品牌sid和厂家回款通路名称查询付款通路编码key")
@GetMapping("/selectBankAccount/{brandSid}/{actualPay}")
ResultBean<String> selectPaymentAccessNoKey(@PathVariable("brandSid") String brandSid,@PathVariable("actualPay") String actualPay);
} }

19
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufacturerbank/BaseManufacturerBankFeignFallback.java

@ -2,22 +2,8 @@ package com.yxt.anrui.base.api.basemanufacturerbank;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.List; import java.util.List;
/**
* Project: anrui-base(安瑞基础信息模块) <br/>
* File: BaseManufacturerBankFeignFallback.java <br/>
* Class: com.yxt.anrui.base.api.basemanufacturerbank.BaseManufacturerBankFeignFallback <br/>
* Description: 供应厂商开户行信息. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-09-10 11:31:46 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Component @Component
public class BaseManufacturerBankFeignFallback implements BaseManufacturerBankFeign { public class BaseManufacturerBankFeignFallback implements BaseManufacturerBankFeign {
@ -50,4 +36,9 @@ public class BaseManufacturerBankFeignFallback implements BaseManufacturerBankFe
public ResultBean<String> selectBankAccount(String brandSid, String manufaSaleChannelValue) { public ResultBean<String> selectBankAccount(String brandSid, String manufaSaleChannelValue) {
return null; return null;
} }
@Override
public ResultBean<String> selectPaymentAccessNoKey(String brandSid, String actualPay) {
return null;
}
} }

17
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufacturerretware/BaseManufacturerRetwareFeign.java

@ -37,19 +37,6 @@ import org.springframework.web.bind.annotation.*;
import java.util.List; import java.util.List;
/**
* Project: anrui-base(厂家退库) <br/>
* File: BaseManufacturerRetwareFeign.java <br/>
* Class: com.yxt.anrui.base.api.basemanufacturerretware.BaseManufacturerRetwareFeign <br/>
* Description: 厂家退库表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-07-05 17:02:32 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "厂家退库表") @Api(tags = "厂家退库表")
@FeignClient( @FeignClient(
contextId = "anrui-base-BaseManufacturerRetware", contextId = "anrui-base-BaseManufacturerRetware",
@ -77,12 +64,12 @@ public interface BaseManufacturerRetwareFeign {
@PostMapping("/createPdf") @PostMapping("/createPdf")
@ResponseBody @ResponseBody
public ResultBean<String> createPdf(@RequestParam("sid") String sid); public ResultBean<String> createPdf(@RequestParam("sid") String sid);
@ApiOperation("根据sid删除记录") @ApiOperation("根据sid删除记录")
@DeleteMapping("/delBySids") @DeleteMapping("/delBySids")
@ResponseBody @ResponseBody
public ResultBean delBySids(@RequestBody String[] sids); public ResultBean delBySids(@RequestBody String[] sids);
@ApiOperation("根据SID获取一条记录") @ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}") @GetMapping("/fetchDetailsBySid/{sid}")
@ResponseBody @ResponseBody

41
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclebrand/BaseVehicleBrand.java

@ -6,53 +6,40 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
/**
* Project: anrui-base(安瑞基础信息模块) <br/>
* File: BaseVehicleBrand.java <br/>
* Class: com.yxt.anrui.base.api.basevehiclebrand.BaseVehicleBrand <br/>
* Description: 品牌信息. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-09-10 11:31:46 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "品牌信息", description = "品牌信息") @ApiModel(value = "品牌信息", description = "品牌信息")
@TableName("base_vehicle_brand") @TableName("base_vehicle_brand")
@Data @Data
public class BaseVehicleBrand extends BaseEntity { public class BaseVehicleBrand extends BaseEntity {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ApiModelProperty("品牌编码(陕汽必须字段)") @ApiModelProperty("品牌编码(陕汽必须字段)")
private String brandCode; private String brandCode;
@ApiModelProperty("品牌名称(陕汽必须字段)") @ApiModelProperty("品牌名称(陕汽必须字段)")
private String brandName; private String brandName;
@ApiModelProperty("品牌简称(品牌首字母,但不可重复)") @ApiModelProperty("品牌简称(品牌首字母,但不可重复)")
private String brandShortName; private String brandShortName;
@ApiModelProperty("品牌类型key值") @ApiModelProperty("品牌类型key值")
private String brandType; private String brandType;
@ApiModelProperty("品牌类型value值") @ApiModelProperty("品牌类型value值")
private String brandTypeValue; private String brandTypeValue;
@ApiModelProperty("是否有效(陕汽必须字段)") @ApiModelProperty("是否有效(陕汽必须字段)")
private String isValidity; private String isValidity;
@ApiModelProperty("创建组织(陕汽必须的字段)") @ApiModelProperty("创建组织(陕汽必须的字段)")
private String createOrg; private String createOrg;
@ApiModelProperty("使用组织(陕汽必须的字段)") @ApiModelProperty("使用组织(陕汽必须的字段)")
private String useOrg; private String useOrg;
@ApiModelProperty("使用组织名称") @ApiModelProperty("使用组织名称")
private String useOrgName; private String useOrgName;
@ApiModelProperty("厂商sid(陕汽必须字段)") @ApiModelProperty("厂商sid(陕汽必须字段)")
private String manufacturerSid; private String manufacturerSid;
} }

2
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturerbank/BaseManufacturerBankMapper.java

@ -85,4 +85,6 @@ public interface BaseManufacturerBankMapper extends BaseMapper<BaseManufacturerB
List<BaseManufacturerBank> selectByManSid(String sid); List<BaseManufacturerBank> selectByManSid(String sid);
int updateBySidIsDeletes(String s); int updateBySidIsDeletes(String s);
String selectPaymentAccessNoKey(@Param("brandSid") String brandSid,@Param("actualPay") String actualPay);
} }

11
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturerbank/BaseManufacturerBankMapper.xml

@ -175,4 +175,15 @@
UPDATE base_manufacturer_bank UPDATE base_manufacturer_bank
SET isDelete = 1 where sid = #{s} SET isDelete = 1 where sid = #{s}
</update> </update>
<select id="selectPaymentAccessNoKey" resultType="java.lang.String">
SELECT bmb.paymentAccessNoKey
FROM base_manufacturer_bank bmb
LEFT JOIN base_manufacturer bm ON bm.sid = bmb.manufacturerSid
LEFT JOIN base_vehicle_brand bvb ON bvb.manufacturerSid = bm.sid
WHERE bvb.sid = #{brandSid}
AND bmb.actualPay = #{actualPay}
AND bmb.isDelete = 0
AND bm.isDelete = 0
</select>
</mapper> </mapper>

24
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturerbank/BaseManufacturerBankRest.java

@ -12,19 +12,6 @@ import org.springframework.web.bind.annotation.RestController;
import java.util.List; import java.util.List;
/**
* Project: anrui-base(安瑞基础信息模块) <br/>
* File: BaseManufacturerBankFeignFallback.java <br/>
* Class: com.yxt.anrui.base.biz.basemanufacturerbank.BaseManufacturerBankRest <br/>
* Description: 供应厂商开户行信息. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-09-10 11:31:46 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "供应厂商开户行信息") @Api(tags = "供应厂商开户行信息")
@RestController @RestController
@RequestMapping("v1/basemanufacturerbank") @RequestMapping("v1/basemanufacturerbank")
@ -80,7 +67,7 @@ public class BaseManufacturerBankRest implements BaseManufacturerBankFeign {
public ResultBean<List<BaseManActualVo>> actualList() { public ResultBean<List<BaseManActualVo>> actualList() {
ResultBean<List<BaseManActualVo>> rb = ResultBean.fireFail(); ResultBean<List<BaseManActualVo>> rb = ResultBean.fireFail();
String supplierTypeValue = "主机厂"; String supplierTypeValue = "主机厂";
List<BaseManActualVo> voList = baseManufacturerBankService.actualList(supplierTypeValue,DictCommonEnum.dueBank.HK_TYPE.getCode()); List<BaseManActualVo> voList = baseManufacturerBankService.actualList(supplierTypeValue, DictCommonEnum.dueBank.HK_TYPE.getCode());
return rb.success().setData(voList); return rb.success().setData(voList);
} }
@ -88,7 +75,7 @@ public class BaseManufacturerBankRest implements BaseManufacturerBankFeign {
public ResultBean<List<BaseManPayVo>> payList() { public ResultBean<List<BaseManPayVo>> payList() {
ResultBean<List<BaseManPayVo>> rb = ResultBean.fireFail(); ResultBean<List<BaseManPayVo>> rb = ResultBean.fireFail();
String supplierTypeValue = "主机厂"; String supplierTypeValue = "主机厂";
List<BaseManPayVo> voList = baseManufacturerBankService.payList(supplierTypeValue,DictCommonEnum.dueBank.HK_TYPE.getCode()); List<BaseManPayVo> voList = baseManufacturerBankService.payList(supplierTypeValue, DictCommonEnum.dueBank.HK_TYPE.getCode());
return rb.success().setData(voList); return rb.success().setData(voList);
} }
@ -101,7 +88,12 @@ public class BaseManufacturerBankRest implements BaseManufacturerBankFeign {
@Override @Override
public ResultBean<String> selectBankAccount(String brandSid, String manufaSaleChannelValue) { public ResultBean<String> selectBankAccount(String brandSid, String manufaSaleChannelValue) {
return baseManufacturerBankService.selectBankAccount(brandSid,manufaSaleChannelValue); return baseManufacturerBankService.selectBankAccount(brandSid, manufaSaleChannelValue);
}
@Override
public ResultBean<String> selectPaymentAccessNoKey(String brandSid, String actualPay) {
return baseManufacturerBankService.selectPaymentAccessNoKey(brandSid, actualPay);
} }

6
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturerbank/BaseManufacturerBankService.java

@ -110,4 +110,10 @@ public class BaseManufacturerBankService extends MybatisBaseService<BaseManufact
public int updateBySidIsDeletes(String s) { public int updateBySidIsDeletes(String s) {
return baseMapper.updateBySidIsDeletes(s); return baseMapper.updateBySidIsDeletes(s);
} }
public ResultBean<String> selectPaymentAccessNoKey(String brandSid, String actualPay) {
ResultBean rb = ResultBean.fireFail();
String paymentAccessNoKey = baseMapper.selectPaymentAccessNoKey(brandSid, actualPay);
return rb.success().setData(paymentAccessNoKey);
}
} }

25
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturerretware/BaseManufacturerRetwareRest.java

@ -33,31 +33,14 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List;
import com.yxt.anrui.base.api.basemanufacturerretware.BaseManufacturerRetware;
import com.yxt.anrui.base.api.basemanufacturerretware.BaseManufacturerRetwareQuery; import com.yxt.anrui.base.api.basemanufacturerretware.BaseManufacturerRetwareQuery;
import com.yxt.anrui.base.api.basemanufacturerretware.BaseManufacturerRetwareVo; import com.yxt.anrui.base.api.basemanufacturerretware.BaseManufacturerRetwareVo;
import com.yxt.anrui.base.api.basemanufacturerretware.BaseManufacturerRetwareDetailsVo; import com.yxt.anrui.base.api.basemanufacturerretware.BaseManufacturerRetwareDetailsVo;
import com.yxt.anrui.base.api.basemanufacturerretware.BaseManufacturerRetwareDto; import com.yxt.anrui.base.api.basemanufacturerretware.BaseManufacturerRetwareDto;
import com.yxt.anrui.base.api.basemanufacturerretware.BaseManufacturerRetwareFeign; import com.yxt.anrui.base.api.basemanufacturerretware.BaseManufacturerRetwareFeign;
/**
* Project: anrui-base(厂家退库) <br/>
* File: BaseManufacturerRetwareFeignFallback.java <br/>
* Class: com.yxt.anrui.base.biz.basemanufacturerretware.BaseManufacturerRetwareRest <br/>
* Description: 厂家退库表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-07-05 17:02:32 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "厂家退库表") @Api(tags = "厂家退库表")
@RestController("com.yxt.anrui.base.biz.basemanufacturerretware.BaseManufacturerRetwareRest") @RestController
@RequestMapping("v1/basemanufacturerretware") @RequestMapping("v1/basemanufacturerretware")
public class BaseManufacturerRetwareRest implements BaseManufacturerRetwareFeign { public class BaseManufacturerRetwareRest implements BaseManufacturerRetwareFeign {
@ -104,10 +87,10 @@ public class BaseManufacturerRetwareRest implements BaseManufacturerRetwareFeign
return baseManufacturerRetwareService.fetchAll(sid); return baseManufacturerRetwareService.fetchAll(sid);
} }
@ApiOperation("生成厂家退库库单pdf") @ApiOperation("生成厂家退库库单pdf")
@PostMapping("/withdrawalPdf") @PostMapping("/withdrawalPdf")
@Override @Override
public ResultBean<String> withdrawalPdf(String cgtkdSid, String printerType) { public ResultBean<String> withdrawalPdf(String cgtkdSid, String printerType) {
return baseManufacturerRetwareService.withdrawalPdf(cgtkdSid,printerType); return baseManufacturerRetwareService.withdrawalPdf(cgtkdSid, printerType);
} }
} }

6
anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/fukuanshenqing/paymentAdd.vue

@ -445,7 +445,6 @@ export default {
paymentBtn: false, // -- -- paymentBtn: false, // -- --
paymentInformation: { // paymentInformation: { //
index: '', index: '',
liquidationPayment: '', //
list: [] list: []
} }
} }
@ -698,20 +697,18 @@ export default {
this.paymentVisible = true this.paymentVisible = true
this.paymentBtn = true this.paymentBtn = true
this.paymentInformation.index = index this.paymentInformation.index = index
this.paymentInformation.liquidationPayment = this.formobj.createTime + row.paymentType + '平仓款'
this.paymentInformation.list = JSON.parse(JSON.stringify(row.finPaymentapplyDetailsBelowList)) this.paymentInformation.list = JSON.parse(JSON.stringify(row.finPaymentapplyDetailsBelowList))
}, },
handleLookPayment(row, index) { handleLookPayment(row, index) {
this.paymentVisible = true this.paymentVisible = true
this.paymentBtn = false this.paymentBtn = false
this.paymentInformation.inde = index this.paymentInformation.inde = index
this.paymentInformation.liquidationPayment = this.formobj.createTime + row.paymentType + '平仓款'
this.paymentInformation.list = JSON.parse(JSON.stringify(row.finPaymentapplyDetailsBelowList)) this.paymentInformation.list = JSON.parse(JSON.stringify(row.finPaymentapplyDetailsBelowList))
}, },
paymentAdd() { paymentAdd() {
this.paymentVisible = false this.paymentVisible = false
this.viewState = 3 this.viewState = 3
this.$refs['divPaymentInformation'].showAdd(this.formobj.useOrgSid, this.paymentInformation.liquidationPayment) this.$refs['divPaymentInformation'].showAdd(this.formobj.useOrgSid)
}, },
backInformation(value) { backInformation(value) {
this.viewState = 1 this.viewState = 1
@ -765,7 +762,6 @@ export default {
this.paymentBtn = false this.paymentBtn = false
this.paymentInformation = { this.paymentInformation = {
index: '', index: '',
liquidationPayment: '',
list: [] list: []
} }
}, },

3
anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/fukuanshenqing/paymentInfo.vue

@ -287,7 +287,6 @@ export default {
paymentVisible: false, // -- paymentVisible: false, // --
paymentInformation: { // paymentInformation: { //
index: '', index: '',
liquidationPayment: '', //
list: [] list: []
} }
} }
@ -317,7 +316,6 @@ export default {
handleLookPayment(row, index) { handleLookPayment(row, index) {
this.paymentVisible = true this.paymentVisible = true
this.paymentInformation.inde = index this.paymentInformation.inde = index
this.paymentInformation.liquidationPayment = this.formobj.createTime + row.paymentType + '平仓款'
this.paymentInformation.list = JSON.parse(JSON.stringify(row.finPaymentapplyDetailsBelowList)) this.paymentInformation.list = JSON.parse(JSON.stringify(row.finPaymentapplyDetailsBelowList))
}, },
resetStateByInformation() { resetStateByInformation() {
@ -333,7 +331,6 @@ export default {
this.paymentVisible = false this.paymentVisible = false
this.paymentInformation = { this.paymentInformation = {
index: '', index: '',
liquidationPayment: '',
list: [] list: []
} }
}, },

18
anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/fukuanshenqing/relation/paymentInformationAdd.vue

@ -1,4 +1,4 @@
<temp<template> <template>
<div class="app-container"> <div class="app-container">
<div v-show="viewState == 1"> <div v-show="viewState == 1">
<div class="tab-header webtop"> <div class="tab-header webtop">
@ -61,7 +61,7 @@
<el-col :span="12"> <el-col :span="12">
<div class="span-sty"><span class="icon">*</span>后期是否有平仓付款</div> <div class="span-sty"><span class="icon">*</span>后期是否有平仓付款</div>
<el-form-item prop="isPay"> <el-form-item prop="isPay">
<el-radio-group class="addinputInfo" v-model="formobj.isPay"> <el-radio-group class="addinputInfo" disabled v-model="formobj.isPay">
<el-radio label="1"></el-radio> <el-radio label="1"></el-radio>
<el-radio label="0"></el-radio> <el-radio label="0"></el-radio>
</el-radio-group> </el-radio-group>
@ -80,7 +80,6 @@
<el-button size="mini" type="danger" @click="toDelete(scope.$index)">删除</el-button> <el-button size="mini" type="danger" @click="toDelete(scope.$index)">删除</el-button>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="costTitleValue" label="平仓款名称" align="center" />
<el-table-column label="期数" align="center"> <el-table-column label="期数" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input @keyup.native="scope.row.period = getNumber(scope.row.period, 2)" v-model="scope.row.period" clearable placeholder="" /> <el-input @keyup.native="scope.row.period = getNumber(scope.row.period, 2)" v-model="scope.row.period" clearable placeholder="" />
@ -153,7 +152,7 @@
<script> <script>
import req from '@/api/anruifinmanagement/payment' import req from '@/api/anruifinmanagement/payment'
import {getTypeValueList, typeValues} from '@/api/jichuxinxi/dictcommons' import { getTypeValueList, typeValues } from '@/api/jichuxinxi/dictcommons'
export default { export default {
name: 'PaymentInformationAdd', name: 'PaymentInformationAdd',
@ -167,7 +166,6 @@ export default {
payment_list: [], payment_list: [],
receiveCompany_list: [], receiveCompany_list: [],
businessType_list: [], businessType_list: [],
liquidationPayment: '', //
formobj: { formobj: {
sid: '', // sid sid: '', // sid
costTitleKey: '', // costTitleKey: '', //
@ -222,13 +220,12 @@ export default {
} }
}) })
}, },
showAdd(useOrgSid, liquidationPayment) { showAdd(useOrgSid) {
this.viewTitle = '【新增】付款信息' this.viewTitle = '【新增】付款信息'
this.$nextTick(() => { this.$nextTick(() => {
this.$refs['form_obj'].clearValidate() this.$refs['form_obj'].clearValidate()
}) })
this.init() this.init()
this.liquidationPayment = liquidationPayment
this.temp.useOrgSid = useOrgSid this.temp.useOrgSid = useOrgSid
this.selectByUseOrgSid(useOrgSid) this.selectByUseOrgSid(useOrgSid)
}, },
@ -269,8 +266,14 @@ export default {
const choose = this.payment_list.filter((item) => item.dictValue === value) const choose = this.payment_list.filter((item) => item.dictValue === value)
if (choose !== null && choose.length > 0) { if (choose !== null && choose.length > 0) {
this.formobj.paymentTypeKey = choose[0].dictKey this.formobj.paymentTypeKey = choose[0].dictKey
if (value === '银行保证金') {
this.formobj.isPay = '1'
} else {
this.formobj.isPay = '0'
}
} else { } else {
this.formobj.paymentTypeKey = '' this.formobj.paymentTypeKey = ''
this.formobj.isPay = ''
} }
}, },
receiveCompanyChange(value) { receiveCompanyChange(value) {
@ -311,7 +314,6 @@ export default {
this.formobj.finPaymentapplyDetailsBelowEveList.push({ this.formobj.finPaymentapplyDetailsBelowEveList.push({
sid: '', // sid sid: '', // sid
costTitleKey: '', // costTitleKey: '', //
costTitleValue: this.liquidationPayment, //
detailSid: '', // sid detailSid: '', // sid
openDate: '', // openDate: '', //
period: '', // period: '', //

1
anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/fukuanshenqing/relation/paymentInformationInfo.vue

@ -53,7 +53,6 @@
<div class="title">平仓信息</div> <div class="title">平仓信息</div>
<el-table :key="tableKey" :data="formobj.finPaymentapplyDetailsBelowEveList" :index="index" border style="width: 100%"> <el-table :key="tableKey" :data="formobj.finPaymentapplyDetailsBelowEveList" :index="index" border style="width: 100%">
<el-table-column fixed width="80" label="序号" type="index" :index="index + 1" align="center" /> <el-table-column fixed width="80" label="序号" type="index" :index="index + 1" align="center" />
<el-table-column prop="costTitleValue" label="平仓款名称" align="center" />
<el-table-column prop="period" label="期数" align="center" /> <el-table-column prop="period" label="期数" align="center" />
<el-table-column prop="exePayDate" label="平仓付款日期" align="center" /> <el-table-column prop="exePayDate" label="平仓付款日期" align="center" />
<el-table-column prop="exePayPrice" label="平仓付款金额" align="center" /> <el-table-column prop="exePayPrice" label="平仓付款金额" align="center" />

24
anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/paymentInformation/paymentInformation.vue

@ -15,8 +15,8 @@
<el-form-item label="银行账号"> <el-form-item label="银行账号">
<el-input v-model="listQuery.params.receivingAccount" placeholder="" clearable/> <el-input v-model="listQuery.params.receivingAccount" placeholder="" clearable/>
</el-form-item> </el-form-item>
<el-form-item label="业务类型"> <el-form-item label="开户行">
<el-input v-model="listQuery.params.businessTypeValue" placeholder="" clearable/> <el-input v-model="listQuery.params.bank" placeholder="" clearable/>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div class="btn" style="text-align: center;"> <div class="btn" style="text-align: center;">
@ -44,7 +44,7 @@
<el-table-column prop="companyName" label="单位名称" align="center" /> <el-table-column prop="companyName" label="单位名称" align="center" />
<el-table-column prop="bank" label="开户行" align="center" /> <el-table-column prop="bank" label="开户行" align="center" />
<el-table-column prop="receivingAccount" label="银行账号" align="center" /> <el-table-column prop="receivingAccount" label="银行账号" align="center" />
<el-table-column prop="businessTypeValue" label="业务类型" align="center" /> <el-table-column prop="bankShortName" label="银行简称" align="center" />
<el-table-column prop="remarks" label="备注" align="center" /> <el-table-column prop="remarks" label="备注" align="center" />
</el-table> </el-table>
</div> </div>
@ -81,12 +81,8 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<div class="span-sty">业务类型</div> <div class="span-sty">银行简称</div>
<el-form-item> <el-form-item><el-input class="addinputInfo addinputw" v-model="formobj.bankShortName" clearable placeholder="" /></el-form-item>
<el-select class="addinputInfo" v-model="formobj.businessTypeValue" placeholder="请选择" @change="businessTypeChange" clearable filterable>
<el-option v-for="item in businessType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"></el-option>
</el-select>
</el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<div class="span-sty">备注</div> <div class="span-sty">备注</div>
@ -125,8 +121,7 @@ export default {
companyName: '', // companyName: '', //
bank: '', // bank: '', //
receivingAccount: '', // receivingAccount: '', //
businessTypeKey: '', // key bankShortName: '',
businessTypeValue: '', // value
remarks: '', // remarks: '', //
useOrgSid: '', // sid useOrgSid: '', // sid
useOrgName: '' useOrgName: ''
@ -171,7 +166,7 @@ export default {
params: { params: {
companyCode: '', companyCode: '',
companyName: '', companyName: '',
businessTypeValue: '', bank: '',
orgPath: '', orgPath: '',
menuUrl: '', menuUrl: '',
userSid: '' userSid: ''
@ -265,7 +260,7 @@ export default {
params: { params: {
companyCode: '', companyCode: '',
companyName: '', companyName: '',
businessTypeValue: '', bank: '',
orgPath: '', orgPath: '',
menuUrl: '', menuUrl: '',
userSid: '' userSid: ''
@ -326,8 +321,7 @@ export default {
companyName: '', // companyName: '', //
bank: '', // bank: '', //
receivingAccount: '', // receivingAccount: '', //
businessTypeKey: '', // key bankShortName: '',
businessTypeValue: '', // value
remarks: '', // remarks: '', //
useOrgSid: '', // sid useOrgSid: '', // sid
useOrgName: '' useOrgName: ''

29
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpayment/FinPayment.java

@ -31,19 +31,6 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
/**
* Project: anrui-fin(付款信息管理) <br/>
* File: FinPayment.java <br/>
* Class: com.yxt.anrui.fin.api.finpayment.FinPayment <br/>
* Description: 付款信息管理. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-12-13 14:27:54 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data @Data
@ApiModel(value = "付款信息管理", description = "付款信息管理") @ApiModel(value = "付款信息管理", description = "付款信息管理")
@TableName("fin_payment") @TableName("fin_payment")
@ -51,19 +38,17 @@ public class FinPayment extends BaseEntity {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ApiModelProperty("单位编码") @ApiModelProperty("单位编码")
private String companyCode; // 单位编码 private String companyCode;
@ApiModelProperty("单位名称") @ApiModelProperty("单位名称")
private String companyName; // 单位名称 private String companyName;
@ApiModelProperty("开户行") @ApiModelProperty("开户行")
private String bank; // 开户行 private String bank;
@ApiModelProperty("收款银行账号") @ApiModelProperty("收款银行账号")
private String receivingAccount; // 收款银行账号 private String receivingAccount;
@ApiModelProperty("业务类型key") @ApiModelProperty("银行简称")
private String businessTypeKey; // 业务类型key private String bankShortName;
@ApiModelProperty("业务类型value")
private String businessTypeValue; // 业务类型value
@ApiModelProperty("分公司sid") @ApiModelProperty("分公司sid")
private String useOrgSid; // 分公司sid private String useOrgSid;
@ApiModelProperty("分公司名称") @ApiModelProperty("分公司名称")
private String useOrgName; private String useOrgName;

41
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpayment/FinPaymentDetailsVo.java

@ -25,47 +25,30 @@
*********************************************************/ *********************************************************/
package com.yxt.anrui.fin.api.finpayment; package com.yxt.anrui.fin.api.finpayment;
import com.yxt.common.core.vo.Vo; import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
/**
* Project: anrui-fin(付款信息管理) <br/>
* File: FinPaymentVo.java <br/>
* Class: com.yxt.anrui.fin.api.finpayment.FinPaymentVo <br/>
* Description: 付款信息管理 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-12-13 14:27:54 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data @Data
@ApiModel(value = "付款信息管理 视图数据详情", description = "付款信息管理 视图数据详情") @ApiModel(value = "付款信息管理 视图数据详情", description = "付款信息管理 视图数据详情")
public class FinPaymentDetailsVo implements Vo { public class FinPaymentDetailsVo implements Vo {
private String sid; // sid private String sid;
private String remarks; private String remarks;
@ApiModelProperty("单位编码") @ApiModelProperty("单位编码")
private String companyCode; // 单位编码 private String companyCode;
@ApiModelProperty("单位名称") @ApiModelProperty("单位名称")
private String companyName; // 单位名称 private String companyName;
@ApiModelProperty("开户行") @ApiModelProperty("开户行")
private String bank; // 开户行 private String bank;
@ApiModelProperty("收款银行账号") @ApiModelProperty("收款银行账号")
private String receivingAccount; // 收款银行账号 private String receivingAccount;
@ApiModelProperty("业务类型key") @ApiModelProperty("银行简称")
private String businessTypeKey; // 业务类型key private String bankShortName;
@ApiModelProperty("业务类型value")
private String businessTypeValue; // 业务类型value
@ApiModelProperty("分公司sid") @ApiModelProperty("分公司sid")
private String useOrgSid; // 分公司sid private String useOrgSid;
@ApiModelProperty("分公司名称") @ApiModelProperty("分公司名称")
private String useOrgName; private String useOrgName;
} }

33
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpayment/FinPaymentDto.java

@ -25,47 +25,30 @@
*********************************************************/ *********************************************************/
package com.yxt.anrui.fin.api.finpayment; package com.yxt.anrui.fin.api.finpayment;
import com.yxt.common.core.dto.Dto; import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
/**
* Project: anrui-fin(付款信息管理) <br/>
* File: FinPaymentDto.java <br/>
* Class: com.yxt.anrui.fin.api.finpayment.FinPaymentDto <br/>
* Description: 付款信息管理 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-12-13 14:27:54 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data @Data
@ApiModel(value = "付款信息管理 数据传输对象", description = "付款信息管理 数据传输对象") @ApiModel(value = "付款信息管理 数据传输对象", description = "付款信息管理 数据传输对象")
public class FinPaymentDto implements Dto { public class FinPaymentDto implements Dto {
private String sid; // sid private String sid;
private String remarks; private String remarks;
@ApiModelProperty("单位编码") @ApiModelProperty("单位编码")
private String companyCode; // 单位编码 private String companyCode;
@ApiModelProperty("单位名称") @ApiModelProperty("单位名称")
private String companyName; // 单位名称 private String companyName;
@ApiModelProperty("开户行") @ApiModelProperty("开户行")
private String bank; // 开户行 private String bank;
@ApiModelProperty("收款银行账号") @ApiModelProperty("收款银行账号")
private String receivingAccount; // 收款银行账号 private String receivingAccount;
@ApiModelProperty("业务类型key") @ApiModelProperty("银行简称")
private String businessTypeKey; // 业务类型key private String bankShortName;
@ApiModelProperty("业务类型value")
private String businessTypeValue; // 业务类型value
@ApiModelProperty("分公司sid") @ApiModelProperty("分公司sid")
private String useOrgSid; // 分公司sid private String useOrgSid;
@ApiModelProperty("分公司名称") @ApiModelProperty("分公司名称")
private String useOrgName; private String useOrgName;
} }

18
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpayment/FinPaymentFeign.java

@ -35,19 +35,6 @@ import org.springframework.web.bind.annotation.*;
import java.util.List; import java.util.List;
/**
* Project: anrui-fin(付款信息管理) <br/>
* File: FinPaymentFeign.java <br/>
* Class: com.yxt.anrui.fin.api.finpayment.FinPaymentFeign <br/>
* Description: 付款信息管理. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-12-13 14:27:54 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "付款信息管理") @Api(tags = "付款信息管理")
@FeignClient( @FeignClient(
contextId = "anrui-fin-FinPayment", contextId = "anrui-fin-FinPayment",
@ -79,4 +66,9 @@ public interface FinPaymentFeign {
@GetMapping("/selectByUseOrgSid") @GetMapping("/selectByUseOrgSid")
@ResponseBody @ResponseBody
public ResultBean<List<FinPaymentDetailsVo>> selectByUseOrgSid(@RequestParam("useOrgSid") String useOrgSid); public ResultBean<List<FinPaymentDetailsVo>> selectByUseOrgSid(@RequestParam("useOrgSid") String useOrgSid);
@ApiOperation("修改平仓款开通日期")
@PostMapping("/updateOpenDate")
@ResponseBody
public ResultBean updateOpenDate(@RequestParam("sid") String sid, @RequestParam("openDate") String openDate);
} }

19
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpayment/FinPaymentQuery.java

@ -25,26 +25,11 @@
*********************************************************/ *********************************************************/
package com.yxt.anrui.fin.api.finpayment; package com.yxt.anrui.fin.api.finpayment;
import com.yxt.common.core.query.Query; import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
/**
* Project: anrui-fin(付款信息管理) <br/>
* File: FinPaymentQuery.java <br/>
* Class: com.yxt.anrui.fin.api.finpayment.FinPaymentQuery <br/>
* Description: 付款信息管理 查询条件. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-12-13 14:27:54 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data @Data
@ApiModel(value = "付款信息管理 查询条件", description = "付款信息管理 查询条件") @ApiModel(value = "付款信息管理 查询条件", description = "付款信息管理 查询条件")
public class FinPaymentQuery implements Query { public class FinPaymentQuery implements Query {
@ -53,8 +38,8 @@ public class FinPaymentQuery implements Query {
private String companyName; private String companyName;
@ApiModelProperty("收款银行账号") @ApiModelProperty("收款银行账号")
private String receivingAccount; private String receivingAccount;
@ApiModelProperty("业务类型value") @ApiModelProperty("开户行")
private String businessTypeValue; private String bank;
private String userSid; private String userSid;
private String orgPath; private String orgPath;

19
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpayment/FinPaymentVo.java

@ -25,26 +25,11 @@
*********************************************************/ *********************************************************/
package com.yxt.anrui.fin.api.finpayment; package com.yxt.anrui.fin.api.finpayment;
import com.yxt.common.core.vo.Vo; import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
/**
* Project: anrui-fin(付款信息管理) <br/>
* File: FinPaymentVo.java <br/>
* Class: com.yxt.anrui.fin.api.finpayment.FinPaymentVo <br/>
* Description: 付款信息管理 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-12-13 14:27:54 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data @Data
@ApiModel(value = "付款信息管理 视图数据对象", description = "付款信息管理 视图数据对象") @ApiModel(value = "付款信息管理 视图数据对象", description = "付款信息管理 视图数据对象")
public class FinPaymentVo implements Vo { public class FinPaymentVo implements Vo {
@ -59,8 +44,8 @@ public class FinPaymentVo implements Vo {
private String bank; private String bank;
@ApiModelProperty("收款银行账号") @ApiModelProperty("收款银行账号")
private String receivingAccount; private String receivingAccount;
@ApiModelProperty("业务类型value") @ApiModelProperty("银行简称")
private String businessTypeValue; private String bankShortName;
@ApiModelProperty("备注") @ApiModelProperty("备注")
private String remarks; private String remarks;
} }

2
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplydetails/FinPaymentapplyDetailVo.java

@ -1,11 +1,9 @@
package com.yxt.anrui.fin.api.finpaymentapplydetails; package com.yxt.anrui.fin.api.finpaymentapplydetails;
import com.yxt.anrui.fin.api.finpaymentapplydetailsbelow.FinPaymentapplyDetailsBelowDetailsVo; import com.yxt.anrui.fin.api.finpaymentapplydetailsbelow.FinPaymentapplyDetailsBelowDetailsVo;
import com.yxt.anrui.fin.api.finpaymentapplydetailsbelow.FinPaymentapplyDetailsBelowDto;
import com.yxt.common.core.vo.Vo; import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.List; import java.util.List;

47
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplydetailsbelow/FinPaymentapplyDetailsBelow.java

@ -26,53 +26,50 @@
package com.yxt.anrui.fin.api.finpaymentapplydetailsbelow; package com.yxt.anrui.fin.api.finpaymentapplydetailsbelow;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.domain.BaseEntity; import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
/**
* Project: anrui-fin(付款明细) <br/>
* File: FinPaymentapplyDetailsBelow.java <br/>
* Class: com.yxt.anrui.fin.api.finpaymentapplydetailsbelow.FinPaymentapplyDetailsBelow <br/>
* Description: 付款申请明细-明细. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-12-12 16:08:28 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data @Data
@ApiModel(value = "付款申请明细-明细", description = "付款申请明细-明细") @ApiModel(value = "付款申请明细-明细", description = "付款申请明细-明细")
@TableName("fin_paymentapply_details_below") @TableName("fin_paymentapply_details_below")
public class FinPaymentapplyDetailsBelow extends BaseEntity { public class FinPaymentapplyDetailsBelow extends BaseEntity {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ApiModelProperty("款项名称,数据字典") @ApiModelProperty("款项名称,数据字典")
private String costTitleKey; // 款项名称,数据字典 private String costTitleKey; // 款项名称,数据字典
@ApiModelProperty("款项名称") @ApiModelProperty("款项名称")
private String costTitleValue; // 款项名称 private String costTitleValue; // 款项名称
@ApiModelProperty("付款方式key") @ApiModelProperty("付款方式key")
private String paymentTypeKey; // 付款方式key private String paymentTypeKey; // 付款方式key
@ApiModelProperty("付款方式value") @ApiModelProperty("付款方式value")
private String paymentType; // 付款方式value private String paymentType; // 付款方式value
@ApiModelProperty("收款单位名称") @ApiModelProperty("收款单位名称")
private String receiveCompany; // 收款单位名称 private String receiveCompany; // 收款单位名称
@ApiModelProperty("收款单位sid") @ApiModelProperty("收款单位sid")
private String receiveCompanySid; // 收款单位sid private String receiveCompanySid; // 收款单位sid
@ApiModelProperty("开户行") @ApiModelProperty("开户行")
private String bank; // 开户行 private String bank; // 开户行
@ApiModelProperty("收款银行账号") @ApiModelProperty("收款银行账号")
private String receivingAccount; // 收款银行账号 private String receivingAccount; // 收款银行账号
@ApiModelProperty("付款金额") @ApiModelProperty("付款金额")
private BigDecimal payAccount; // 付款金额 private BigDecimal payAccount; // 付款金额
@ApiModelProperty("付款申请明细sid") @ApiModelProperty("付款申请明细sid")
private String detailSid; // 付款申请明细sid private String detailSid; // 付款申请明细sid
@ApiModelProperty("后期是否有平仓付款") @ApiModelProperty("后期是否有平仓付款")
private String isPay; // 后期是否有平仓付款 private String isPay; // 后期是否有平仓付款
@ApiModelProperty("平仓款名称")
private String closFundName;
@ApiModelProperty("开通日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date openDate;
@ApiModelProperty("付款单位sid")
private String payCompanySid;
@ApiModelProperty("付款单位")
private String payCompany;
} }

27
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplydetailsbelow/FinPaymentapplyDetailsBelowDetailsVo.java

@ -25,30 +25,16 @@
*********************************************************/ *********************************************************/
package com.yxt.anrui.fin.api.finpaymentapplydetailsbelow; package com.yxt.anrui.fin.api.finpaymentapplydetailsbelow;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.anrui.fin.api.finpaymentapplydetailsbeloweve.FinPaymentapplyDetailsBelowEveDetailsVo; import com.yxt.anrui.fin.api.finpaymentapplydetailsbeloweve.FinPaymentapplyDetailsBelowEveDetailsVo;
import com.yxt.common.core.vo.Vo; import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
import java.util.List; import java.util.List;
/**
* Project: anrui-fin(付款明细) <br/>
* File: FinPaymentapplyDetailsBelowVo.java <br/>
* Class: com.yxt.anrui.fin.api.finpaymentapplydetailsbelow.FinPaymentapplyDetailsBelowVo <br/>
* Description: 付款申请明细-明细 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-12-12 16:08:28 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data @Data
@ApiModel(value = "付款申请明细-明细 视图数据详情", description = "付款申请明细-明细 视图数据详情") @ApiModel(value = "付款申请明细-明细 视图数据详情", description = "付款申请明细-明细 视图数据详情")
public class FinPaymentapplyDetailsBelowDetailsVo implements Vo { public class FinPaymentapplyDetailsBelowDetailsVo implements Vo {
@ -79,6 +65,15 @@ public class FinPaymentapplyDetailsBelowDetailsVo implements Vo {
private String detailSid; // 付款申请明细sid private String detailSid; // 付款申请明细sid
@ApiModelProperty("后期是否有平仓付款") @ApiModelProperty("后期是否有平仓付款")
private String isPay; // 后期是否有平仓付款 private String isPay; // 后期是否有平仓付款
@ApiModelProperty("平仓款名称")
private String closFundName;
@ApiModelProperty("开通日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date openDate;
@ApiModelProperty("付款单位sid")
private String payCompanySid;
@ApiModelProperty("付款单位")
private String payCompany;
@ApiModelProperty @ApiModelProperty
private List<FinPaymentapplyDetailsBelowEveDetailsVo> finPaymentapplyDetailsBelowEveList; private List<FinPaymentapplyDetailsBelowEveDetailsVo> finPaymentapplyDetailsBelowEveList;

47
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplydetailsbelow/FinPaymentapplyDetailsBelowDto.java

@ -25,7 +25,7 @@
*********************************************************/ *********************************************************/
package com.yxt.anrui.fin.api.finpaymentapplydetailsbelow; package com.yxt.anrui.fin.api.finpaymentapplydetailsbelow;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.anrui.fin.api.finpaymentapplydetailsbeloweve.FinPaymentapplyDetailsBelowEveDetailsVo; import com.yxt.anrui.fin.api.finpaymentapplydetailsbeloweve.FinPaymentapplyDetailsBelowEveDetailsVo;
import com.yxt.anrui.fin.api.finpaymentapplydetailsbeloweve.FinPaymentapplyDetailsBelowEveDto; import com.yxt.anrui.fin.api.finpaymentapplydetailsbeloweve.FinPaymentapplyDetailsBelowEveDto;
import com.yxt.common.core.dto.Dto; import com.yxt.common.core.dto.Dto;
@ -35,21 +35,9 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
import java.util.List; import java.util.List;
/**
* Project: anrui-fin(付款明细) <br/>
* File: FinPaymentapplyDetailsBelowDto.java <br/>
* Class: com.yxt.anrui.fin.api.finpaymentapplydetailsbelow.FinPaymentapplyDetailsBelowDto <br/>
* Description: 付款申请明细-明细 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-12-12 16:08:28 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data @Data
@ApiModel(value = "付款申请明细-明细 数据传输对象", description = "付款申请明细-明细 数据传输对象") @ApiModel(value = "付款申请明细-明细 数据传输对象", description = "付款申请明细-明细 数据传输对象")
public class FinPaymentapplyDetailsBelowDto implements Dto { public class FinPaymentapplyDetailsBelowDto implements Dto {
@ -58,28 +46,37 @@ public class FinPaymentapplyDetailsBelowDto implements Dto {
@ApiModelProperty("备注") @ApiModelProperty("备注")
private String remarks; private String remarks;
@ApiModelProperty("款项名称,数据字典") @ApiModelProperty("款项名称,数据字典")
private String costTitleKey; // 款项名称,数据字典 private String costTitleKey; // 款项名称,数据字典
@ApiModelProperty("款项名称") @ApiModelProperty("款项名称")
private String costTitleValue; // 款项名称 private String costTitleValue; // 款项名称
@ApiModelProperty("付款方式key") @ApiModelProperty("付款方式key")
private String paymentTypeKey; // 付款方式key private String paymentTypeKey; // 付款方式key
@ApiModelProperty("付款方式value") @ApiModelProperty("付款方式value")
private String paymentType; // 付款方式value private String paymentType; // 付款方式value
@ApiModelProperty("收款单位名称") @ApiModelProperty("收款单位名称")
private String receiveCompany; // 收款单位名称 private String receiveCompany; // 收款单位名称
@ApiModelProperty("收款单位sid") @ApiModelProperty("收款单位sid")
private String receiveCompanySid; // 收款单位sid private String receiveCompanySid; // 收款单位sid
@ApiModelProperty("开户行") @ApiModelProperty("开户行")
private String bank; // 开户行 private String bank; // 开户行
@ApiModelProperty("收款银行账号") @ApiModelProperty("收款银行账号")
private String receivingAccount; // 收款银行账号 private String receivingAccount; // 收款银行账号
@ApiModelProperty("付款金额") @ApiModelProperty("付款金额")
private BigDecimal payAccount; // 付款金额 private BigDecimal payAccount; // 付款金额
@ApiModelProperty("付款申请明细sid") @ApiModelProperty("付款申请明细sid")
private String detailSid; // 付款申请明细sid private String detailSid; // 付款申请明细sid
@ApiModelProperty("后期是否有平仓付款") @ApiModelProperty("后期是否有平仓付款")
private String isPay; // 后期是否有平仓付款 private String isPay; // 后期是否有平仓付款
@ApiModelProperty("平仓款名称")
private String closFundName;
@ApiModelProperty("开通日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date openDate;
@ApiModelProperty("付款单位sid")
private String payCompanySid;
@ApiModelProperty("付款单位")
private String payCompany;
@ApiModelProperty @ApiModelProperty
private List<FinPaymentapplyDetailsBelowEveDto> finPaymentapplyDetailsBelowEveList; private List<FinPaymentapplyDetailsBelowEveDto> finPaymentapplyDetailsBelowEveList;

14
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecordDto.java

@ -25,25 +25,11 @@
*********************************************************/ *********************************************************/
package com.yxt.anrui.fin.api.finpaymentrecord; package com.yxt.anrui.fin.api.finpaymentrecord;
import com.yxt.common.core.dto.Dto; import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
/**
* Project: anrui-fin(财务) <br/>
* File: FinPaymentrecordDto.java <br/>
* Class: com.yxt.anrui.fin.api.finpaymentrecord.FinPaymentrecordDto <br/>
* Description: fin_paymentrecord 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-06-23 13:45:10 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data @Data
@ApiModel(value = "fin_paymentrecord 数据传输对象", description = "fin_paymentrecord 数据传输对象") @ApiModel(value = "fin_paymentrecord 数据传输对象", description = "fin_paymentrecord 数据传输对象")
public class FinPaymentrecordDto implements Dto { public class FinPaymentrecordDto implements Dto {

26
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpayment/FinPaymentRest.java

@ -25,6 +25,7 @@
*********************************************************/ *********************************************************/
package com.yxt.anrui.fin.biz.finpayment; package com.yxt.anrui.fin.biz.finpayment;
import com.yxt.anrui.fin.biz.finpaymentapplydetailsbeloweve.FinPaymentapplyDetailsBelowEveService;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo; import com.yxt.common.core.vo.PagerVo;
@ -32,29 +33,13 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List; import java.util.List;
import com.yxt.anrui.fin.api.finpayment.FinPayment;
import com.yxt.anrui.fin.api.finpayment.FinPaymentQuery; import com.yxt.anrui.fin.api.finpayment.FinPaymentQuery;
import com.yxt.anrui.fin.api.finpayment.FinPaymentVo; import com.yxt.anrui.fin.api.finpayment.FinPaymentVo;
import com.yxt.anrui.fin.api.finpayment.FinPaymentDetailsVo; import com.yxt.anrui.fin.api.finpayment.FinPaymentDetailsVo;
import com.yxt.anrui.fin.api.finpayment.FinPaymentDto; import com.yxt.anrui.fin.api.finpayment.FinPaymentDto;
import com.yxt.anrui.fin.api.finpayment.FinPaymentFeign; import com.yxt.anrui.fin.api.finpayment.FinPaymentFeign;
/**
* Project: anrui-fin(付款信息管理) <br/>
* File: FinPaymentFeignFallback.java <br/>
* Class: com.yxt.anrui.fin.biz.finpayment.FinPaymentRest <br/>
* Description: 付款信息管理. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-12-13 14:27:54 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "付款信息管理") @Api(tags = "付款信息管理")
@RestController @RestController
@RequestMapping("v1/finpayment") @RequestMapping("v1/finpayment")
@ -62,6 +47,8 @@ public class FinPaymentRest implements FinPaymentFeign {
@Autowired @Autowired
private FinPaymentService finPaymentService; private FinPaymentService finPaymentService;
@Autowired
private FinPaymentapplyDetailsBelowEveService finPaymentapplyDetailsBelowEveService;
@Override @Override
@ApiOperation("根据条件分页查询数据的列表") @ApiOperation("根据条件分页查询数据的列表")
@ -103,4 +90,11 @@ public class FinPaymentRest implements FinPaymentFeign {
List<FinPaymentDetailsVo> voList = finPaymentService.selectByUseOrgSid(useOrgSid); List<FinPaymentDetailsVo> voList = finPaymentService.selectByUseOrgSid(useOrgSid);
return rb.success().setData(voList); return rb.success().setData(voList);
} }
@Override
public ResultBean updateOpenDate(String sid, String openDate) {
ResultBean rb = ResultBean.fireFail();
finPaymentapplyDetailsBelowEveService.updateOpenDate(sid,openDate);
return rb.success();
}
} }

3
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapply/FinPaymentapplyMapper.xml

@ -104,7 +104,8 @@
fp.isSales, fp.isSales,
fp.isSettle, fp.isSettle,
fp.useOrgSid, fp.useOrgSid,
fp.orgSidPath fp.orgSidPath,
fp.isManageSp
from fin_paymentapply fp from fin_paymentapply fp
where fp.sid = #{sid} where fp.sid = #{sid}
</select> </select>

15
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapply/FinPaymentapplyRest.java

@ -28,7 +28,6 @@ package com.yxt.anrui.fin.biz.finpaymentapply;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.fin.api.finpaymentapply.*; import com.yxt.anrui.fin.api.finpaymentapply.*;
import com.yxt.anrui.fin.api.finpaymentapply.flow.*; import com.yxt.anrui.fin.api.finpaymentapply.flow.*;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
@ -37,22 +36,8 @@ import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.List; import java.util.List;
/**
* Project: anrui-fin(财务) <br/>
* File: FinPaymentapplyFeignFallback.java <br/>
* Class: com.yxt.anrui.fin.biz.finpaymentapply.FinPaymentapplyRest <br/>
* Description: fin_paymentapply. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-06-23 13:45:10 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "付款申请") @Api(tags = "付款申请")
@RestController @RestController
@RequestMapping("v1/finpaymentapply") @RequestMapping("v1/finpaymentapply")

29
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapply/FinPaymentapplyService.java

@ -30,6 +30,7 @@ import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.google.common.util.concurrent.ThreadFactoryBuilder; import com.google.common.util.concurrent.ThreadFactoryBuilder;
import com.yxt.anrui.base.api.basemanufacturerbank.BaseManufacturerBankFeign;
import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign; import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign;
import com.yxt.anrui.base.common.enums.BillTypeEnum; import com.yxt.anrui.base.common.enums.BillTypeEnum;
import com.yxt.anrui.base.common.utils.Rule; import com.yxt.anrui.base.common.utils.Rule;
@ -97,19 +98,6 @@ import java.util.*;
import java.util.concurrent.*; import java.util.concurrent.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/**
* Project: anrui-fin(财务) <br/>
* File: FinPaymentapplyService.java <br/>
* Class: com.yxt.anrui.fin.biz.finpaymentapply.FinPaymentapplyService <br/>
* Description: fin_paymentapply 业务逻辑. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-06-23 13:45:10 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Service @Service
public class FinPaymentapplyService extends MybatisBaseService<FinPaymentapplyMapper, FinPaymentapply> { public class FinPaymentapplyService extends MybatisBaseService<FinPaymentapplyMapper, FinPaymentapply> {
@ -147,6 +135,8 @@ public class FinPaymentapplyService extends MybatisBaseService<FinPaymentapplyMa
private MessageFeign messageFeign; private MessageFeign messageFeign;
@Autowired @Autowired
private BaseVehicleFeign baseVehicleFeign; private BaseVehicleFeign baseVehicleFeign;
@Autowired
private BaseManufacturerBankFeign baseManufacturerBankFeign;
public PagerVo<FinPaymentapplyVo> listPageVo(PagerQuery<FinPaymentapplyQuery> pq) { public PagerVo<FinPaymentapplyVo> listPageVo(PagerQuery<FinPaymentapplyQuery> pq) {
FinPaymentapplyQuery query = pq.getParams(); FinPaymentapplyQuery query = pq.getParams();
@ -644,6 +634,9 @@ public class FinPaymentapplyService extends MybatisBaseService<FinPaymentapplyMa
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
//ToDo:到出纳记录 //ToDo:到出纳记录
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) { if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
finPaymentapply = fetchBySid(bv.getBusinessSid());
finPaymentapply.setFinishTime(new Date());
baseMapper.updateById(finPaymentapply);//更新办结日期
FinPaymentapplyDetailsVo vo = fetchDetailsVoBySid(bv.getBusinessSid()); FinPaymentapplyDetailsVo vo = fetchDetailsVoBySid(bv.getBusinessSid());
FinPaymentrecordDto finPaymentrecordDto = new FinPaymentrecordDto(); FinPaymentrecordDto finPaymentrecordDto = new FinPaymentrecordDto();
finPaymentrecordDto.setCreateBySid(finPaymentapply.getCreateBySid()); finPaymentrecordDto.setCreateBySid(finPaymentapply.getCreateBySid());
@ -669,6 +662,15 @@ public class FinPaymentapplyService extends MybatisBaseService<FinPaymentapplyMa
//款项名称 //款项名称
finPaymentrecordDto.setCostTypeKey(finPaymentapplyDetailVo.getCostTitleKey()); finPaymentrecordDto.setCostTypeKey(finPaymentapplyDetailVo.getCostTitleKey());
finPaymentrecordDto.setCostTypeValue(finPaymentapplyDetailVo.getCostTitleValue()); finPaymentrecordDto.setCostTypeValue(finPaymentapplyDetailVo.getCostTitleValue());
if ("009".equals(finPaymentapplyDetailVo.getCostTitleKey())) {
String paymentAccessNoKey = baseManufacturerBankFeign.selectPaymentAccessNoKey(finPaymentapply.getCarBrandSid(), finPaymentapplyDetailVo.getActualPay()).getData();
finPaymentrecordDto.setPayChannel(paymentAccessNoKey);
finPaymentrecordDto.setPayCostType("payChannel");
} else {
finPaymentrecordDto.setPayChannel(finPaymentapplyDetailVo.getCostTitleKey());
finPaymentrecordDto.setPayCostType("payCostType");
}
finPaymentrecordDto.setFinDataType(0);
//款项详情 //款项详情
finPaymentrecordDto.setCostTitleKey(finPaymentapplyDetailVo.getCostTitleKey()); finPaymentrecordDto.setCostTitleKey(finPaymentapplyDetailVo.getCostTitleKey());
finPaymentrecordDto.setCostTitleValue(finPaymentapplyDetailVo.getCostTitleValue()); finPaymentrecordDto.setCostTitleValue(finPaymentapplyDetailVo.getCostTitleValue());
@ -699,6 +701,7 @@ public class FinPaymentapplyService extends MybatisBaseService<FinPaymentapplyMa
finPaymentrecordService.saveDto(finPaymentrecordDto); finPaymentrecordService.saveDto(finPaymentrecordDto);
List<FinPaymentapplyDetailsBelowDetailsVo> finPaymentapplyDetailsBelowDetailsVos = finPaymentapplyDetailsBelowService.selByMainSid(finPaymentapplyDetailVo.getSid()); List<FinPaymentapplyDetailsBelowDetailsVo> finPaymentapplyDetailsBelowDetailsVos = finPaymentapplyDetailsBelowService.selByMainSid(finPaymentapplyDetailVo.getSid());
for (FinPaymentapplyDetailsBelowDetailsVo finPaymentapplyDetailsBelowDetailsVo : finPaymentapplyDetailsBelowDetailsVos) { for (FinPaymentapplyDetailsBelowDetailsVo finPaymentapplyDetailsBelowDetailsVo : finPaymentapplyDetailsBelowDetailsVos) {
finPaymentrecordDto.setFinDataType(1);
//款项名称 //款项名称
finPaymentrecordDto.setCostTypeKey(finPaymentapplyDetailsBelowDetailsVo.getCostTitleKey()); finPaymentrecordDto.setCostTypeKey(finPaymentapplyDetailsBelowDetailsVo.getCostTitleKey());
finPaymentrecordDto.setCostTypeValue(finPaymentapplyDetailsBelowDetailsVo.getCostTitleValue()); finPaymentrecordDto.setCostTypeValue(finPaymentapplyDetailsBelowDetailsVo.getCostTitleValue());

3
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapplydetails/FinPaymentapplyDetailsService.java

@ -1,6 +1,7 @@
package com.yxt.anrui.fin.biz.finpaymentapplydetails; package com.yxt.anrui.fin.biz.finpaymentapplydetails;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import com.yxt.anrui.fin.api.finpaymentapply.FinPaymentapply; import com.yxt.anrui.fin.api.finpaymentapply.FinPaymentapply;
import com.yxt.anrui.fin.api.finpaymentapplydetails.AppFinPaymentapplyDetailVo; import com.yxt.anrui.fin.api.finpaymentapplydetails.AppFinPaymentapplyDetailVo;
import com.yxt.anrui.fin.api.finpaymentapplydetails.FinPaymentapplyDetailDto; import com.yxt.anrui.fin.api.finpaymentapplydetails.FinPaymentapplyDetailDto;
@ -15,6 +16,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
@ -53,6 +55,7 @@ public class FinPaymentapplyDetailsService extends MybatisBaseService<FinPayment
List<FinPaymentapplyDetailsBelowDto> finPaymentapplyDetailsBelowList = dto.getFinPaymentapplyDetailsBelowList(); List<FinPaymentapplyDetailsBelowDto> finPaymentapplyDetailsBelowList = dto.getFinPaymentapplyDetailsBelowList();
for (FinPaymentapplyDetailsBelowDto finPaymentapplyDetailsBelowDto : finPaymentapplyDetailsBelowList) { for (FinPaymentapplyDetailsBelowDto finPaymentapplyDetailsBelowDto : finPaymentapplyDetailsBelowList) {
finPaymentapplyDetailsBelowDto.setDetailSid(finPaymentapplyDetails.getSid()); finPaymentapplyDetailsBelowDto.setDetailSid(finPaymentapplyDetails.getSid());
finPaymentapplyDetailsBelowDto.setClosFundName(DateUtil.formatDate(new Date()) + dto.getPaymentType() + dto.getBank() + "出票" + new BigDecimal(dto.getPayAccount()).divide(new BigDecimal(10000)) + "万元");
String belowSid = finPaymentapplyDetailsBelowService.insertByDto(finPaymentapplyDetailsBelowDto); String belowSid = finPaymentapplyDetailsBelowService.insertByDto(finPaymentapplyDetailsBelowDto);
List<FinPaymentapplyDetailsBelowEveDto> finPaymentapplyDetailsBelowEveList = finPaymentapplyDetailsBelowDto.getFinPaymentapplyDetailsBelowEveList(); List<FinPaymentapplyDetailsBelowEveDto> finPaymentapplyDetailsBelowEveList = finPaymentapplyDetailsBelowDto.getFinPaymentapplyDetailsBelowEveList();
for (FinPaymentapplyDetailsBelowEveDto finPaymentapplyDetailsBelowEveDto : finPaymentapplyDetailsBelowEveList) { for (FinPaymentapplyDetailsBelowEveDto finPaymentapplyDetailsBelowEveDto : finPaymentapplyDetailsBelowEveList) {

18
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapplydetailsbeloweve/FinPaymentapplyDetailsBelowEveMapper.java

@ -35,22 +35,9 @@ import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
import com.yxt.anrui.fin.api.finpaymentapplydetailsbeloweve.FinPaymentapplyDetailsBelowEve; import com.yxt.anrui.fin.api.finpaymentapplydetailsbeloweve.FinPaymentapplyDetailsBelowEve;
import com.yxt.anrui.fin.api.finpaymentapplydetailsbeloweve.FinPaymentapplyDetailsBelowEveVo; import com.yxt.anrui.fin.api.finpaymentapplydetailsbeloweve.FinPaymentapplyDetailsBelowEveVo;
import org.apache.ibatis.annotations.Update;
import java.util.List; import java.util.List;
/**
* Project: anrui-fin(平仓) <br/>
* File: FinPaymentapplyDetailsBelowEveMapper.java <br/>
* Class: com.yxt.anrui.fin.biz.finpaymentapplydetailsbeloweve.FinPaymentapplyDetailsBelowEveMapper <br/>
* Description: 付款申请明细-明细-平仓. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-12-13 10:03:07 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Mapper @Mapper
public interface FinPaymentapplyDetailsBelowEveMapper extends BaseMapper<FinPaymentapplyDetailsBelowEve> { public interface FinPaymentapplyDetailsBelowEveMapper extends BaseMapper<FinPaymentapplyDetailsBelowEve> {
@ -58,4 +45,7 @@ public interface FinPaymentapplyDetailsBelowEveMapper extends BaseMapper<FinPaym
@Select("select * from fin_paymentapply_details_below_eve where detailSid = #{mainSid}") @Select("select * from fin_paymentapply_details_below_eve where detailSid = #{mainSid}")
List<FinPaymentapplyDetailsBelowEveDetailsVo> selByMainSid(String mainSid); List<FinPaymentapplyDetailsBelowEveDetailsVo> selByMainSid(String mainSid);
@Update("update fin_paymentapply_details_below_eve set openDate = #{openDate} where sid = #{sid}")
void updateOpenDate(@Param("sid") String sid,@Param("openDate") String openDate);
} }

4
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapplydetailsbeloweve/FinPaymentapplyDetailsBelowEveService.java

@ -224,4 +224,8 @@ public class FinPaymentapplyDetailsBelowEveService extends MybatisBaseService<Fi
public List<FinPaymentapplyDetailsBelowEveDetailsVo> selByMainSid(String mainSid) { public List<FinPaymentapplyDetailsBelowEveDetailsVo> selByMainSid(String mainSid) {
return baseMapper.selByMainSid(mainSid); return baseMapper.selByMainSid(mainSid);
} }
public void updateOpenDate(String sid, String openDate) {
baseMapper.updateOpenDate(sid, openDate);
}
} }

2
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/LoanSettleApplyFeign.java

@ -112,7 +112,7 @@ public interface LoanSettleApplyFeign {
); );
@ApiOperation(value = "推送资方结清款凭证") @ApiOperation(value = "推送资方结清款凭证")
@PostMapping(value = "/pushBankVoucher") @PostMapping(value = "/pushBankReturnVoucher")
ResultBean<RskVoucher> pushBankReturnVoucher(@RequestParam("sid") String sid, ResultBean<RskVoucher> pushBankReturnVoucher(@RequestParam("sid") String sid,
@RequestParam("accountNumber") String accountNumber, @RequestParam("accountNumber") String accountNumber,
@RequestParam("payTypeCode") String payTypeCode, @RequestParam("payTypeCode") String payTypeCode,

26
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbeoverdueveh/LoanBeOverdueVehMapper.xml

@ -18,13 +18,13 @@
a1.dueMoney AS bankMonthRep, a1.dueMoney AS bankMonthRep,
MIN(a1.dueDate) AS firstBeDate, -- 改为取最早逾期日期 MIN(a1.dueDate) AS firstBeDate, -- 改为取最早逾期日期
COUNT(a1.sid) AS beOverduePeriod, COUNT(a1.sid) AS beOverduePeriod,
SUM(a1.yq_total) + ROUND(SUM(a1.yq_total) +
COALESCE(lbpv_sum.bankBeInter_sum, 0) + COALESCE(lbpv_sum.bankBeInter_sum, 0) +
COALESCE(lfd_sum.fund_sum, 0) AS beOverdueMoney, CAST(COALESCE(lfd_sum.fund_sum, 0) AS DECIMAL(10,2)),2) AS beOverdueMoney,
ROUND( ROUND(
(SUM(a1.yq_total) + COALESCE(lbpv_sum.bankBeInter_sum, 0) + COALESCE(lfd_sum.fund_sum, 0)) / (SUM(a1.yq_total) + COALESCE(lbpv_sum.bankBeInter_sum, 0) + COALESCE(lfd_sum.fund_sum, 0)) /
MAX(a1.qjyh), -- 保证聚合正确性 MAX(a1.qjyh), -- 保证聚合正确性
1 2
) AS beOverdueMoneyAndPeriod, ) AS beOverdueMoneyAndPeriod,
SUM(a1.yd_dkje) AS advMoney, SUM(a1.yd_dkje) AS advMoney,
SUM(a1.yd_zjzyf) AS fundPossCostMoney, SUM(a1.yd_zjzyf) AS fundPossCostMoney,
@ -62,7 +62,12 @@
WHEN 1 THEN '控制成功' WHEN 1 THEN '控制成功'
WHEN 2 THEN '控制失败' WHEN 2 THEN '控制失败'
WHEN 3 THEN '已解控' WHEN 3 THEN '已解控'
END AS lockCarState END AS lockCarState,
CASE
WHEN lrpd.dueDate > lrpd.updateDate or lrpd.updateDate IS NULL THEN '1'
WHEN lrpd.dueDate &lt;= lrpd.updateDate AND (c.outstandingMoney + IFNULL(c.fund,0) + IFNULL(lrpd.paymentInterest,0)) > 0 THEN '0'
WHEN lrpd.dueDate &lt;= lrpd.updateDate AND (c.outstandingMoney + IFNULL(c.fund,0) + IFNULL(lrpd.paymentInterest,0)) &lt;= 0 THEN '1'
END AS nowOverdue
FROM loan_repayment_plan_details lrpd FROM loan_repayment_plan_details lrpd
LEFT JOIN loan_repayment_history lrh LEFT JOIN loan_repayment_history lrh
ON lrh.planDetailSid = lrpd.sid ON lrh.planDetailSid = lrpd.sid
@ -135,10 +140,13 @@
MAX(a1.vehMark) AS carNum, MAX(a1.vehMark) AS carNum,
MIN(a1.dueDate) AS firstBeDate, -- 根据业务需求确定合适的聚合函数 MIN(a1.dueDate) AS firstBeDate, -- 根据业务需求确定合适的聚合函数
COUNT(a1.sid) AS beOverduePeriod, COUNT(a1.sid) AS beOverduePeriod,
CAST(SUM(a1.yq_total) AS DECIMAL(10,2)) + CAST(IFNULL(MAX(a1.bankBeInter_sum), 0) AS DECIMAL(10,2)) + CAST(IFNULL(MAX(a1.fund_sum), 0) AS DECIMAL(10,2)) AS beOverdueMoney, ROUND(
SUM(a1.yq_total) + IFNULL(MAX(a1.bankBeInter_sum), 0) + IFNULL(MAX(a1.fund_sum), 0),
2
) AS beOverdueMoney,
ROUND( ROUND(
(SUM(a1.yq_total) + IFNULL(MAX(a1.bankBeInter_sum), 0) + IFNULL(MAX(a1.fund_sum), 0)) / MAX(a1.qjyh), (SUM(a1.yq_total) + IFNULL(MAX(a1.bankBeInter_sum), 0) + IFNULL(MAX(a1.fund_sum), 0)) / MAX(a1.qjyh),
1 2
) AS beOverdueMoneyAndPeriod, ) AS beOverdueMoneyAndPeriod,
a1.busVinSid AS saleVehSid, a1.busVinSid AS saleVehSid,
MAX(a1.salesOrderSid) AS salesOrderSid, MAX(a1.salesOrderSid) AS salesOrderSid,
@ -263,13 +271,13 @@
a1.dueMoney AS bankMonthRep, a1.dueMoney AS bankMonthRep,
MIN(a1.dueDate) AS firstBeDate, -- 改为取最早逾期日期 MIN(a1.dueDate) AS firstBeDate, -- 改为取最早逾期日期
COUNT(a1.sid) AS beOverduePeriod, COUNT(a1.sid) AS beOverduePeriod,
SUM(a1.yq_total) + ROUND(SUM(a1.yq_total) +
COALESCE(lbpv_sum.bankBeInter_sum, 0) + COALESCE(lbpv_sum.bankBeInter_sum, 0) +
COALESCE(lfd_sum.fund_sum, 0) AS beOverdueMoney, CAST(COALESCE(lfd_sum.fund_sum, 0) AS DECIMAL(10,2)),2) AS beOverdueMoney,
ROUND( ROUND(
(SUM(a1.yq_total) + COALESCE(lbpv_sum.bankBeInter_sum, 0) + COALESCE(lfd_sum.fund_sum, 0)) / (SUM(a1.yq_total) + COALESCE(lbpv_sum.bankBeInter_sum, 0) + COALESCE(lfd_sum.fund_sum, 0)) /
MAX(a1.qjyh), -- 保证聚合正确性 MAX(a1.qjyh), -- 保证聚合正确性
1 2
) AS beOverdueMoneyAndPeriod, ) AS beOverdueMoneyAndPeriod,
SUM(a1.yd_dkje) AS advMoney, SUM(a1.yd_dkje) AS advMoney,
SUM(a1.yd_zjzyf) AS fundPossCostMoney, SUM(a1.yd_zjzyf) AS fundPossCostMoney,

4
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyService.java

@ -3,7 +3,6 @@ package com.yxt.anrui.riskcenter.biz.loansettleapply;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.google.common.util.concurrent.ThreadFactoryBuilder; import com.google.common.util.concurrent.ThreadFactoryBuilder;
@ -3633,6 +3632,9 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
if (formatDate.compareTo(settingDate) > 0) { if (formatDate.compareTo(settingDate) > 0) {
return rb.setMsg("只能在结清申请发起当日确认客户结清,若需结清,请将结清日期修改为当天,重新发起结清申请!"); return rb.setMsg("只能在结清申请发起当日确认客户结清,若需结清,请将结清日期修改为当天,重新发起结清申请!");
} }
if (loanSettleApply.getState().intValue() == 1) {
return rb.setMsg("该申请已完成客户确认结清,请勿重复点击!");
}
loanSettleApply.setState(1); loanSettleApply.setState(1);
baseMapper.updateById(loanSettleApply); baseMapper.updateById(loanSettleApply);
//结转剩余保证金 //结转剩余保证金

105
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinboundquery/ScmApplyInboundQueryRest.java

@ -34,77 +34,62 @@ import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* Project: anrui-scm(车辆入库单查询) <br/>
* File: ScmApplyInboundQueryFeignFallback.java <br/>
* Class: com.yxt.anrui.scm.biz.scmapplyinboundquery.ScmApplyInboundQueryRest <br/>
* Description: 车辆入库单查询. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2023-01-28 15:55:31 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "车辆入库单查询") @Api(tags = "车辆入库单查询")
@RestController("com.yxt.anrui.scm.biz.scmapplyinboundquery.ScmApplyInboundQueryRest") @RestController
@RequestMapping("v1/scmapplyinboundquery") @RequestMapping("v1/scmapplyinboundquery")
public class ScmApplyInboundQueryRest implements ScmApplyInboundQueryFeign { public class ScmApplyInboundQueryRest implements ScmApplyInboundQueryFeign {
@Autowired @Autowired
private ScmApplyInboundQueryService scmApplyInboundQueryService; private ScmApplyInboundQueryService scmApplyInboundQueryService;
@Override @Override
@ApiOperation("根据条件分页查询数据的列表") @ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage") @PostMapping("/listPage")
public ResultBean<PagerVo<ScmApplyInboundQueryVo>> listPage(@RequestBody PagerQuery<ScmApplyInboundQueryQuery> pq){ public ResultBean<PagerVo<ScmApplyInboundQueryVo>> listPage(@RequestBody PagerQuery<ScmApplyInboundQueryQuery> pq) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
PagerVo<ScmApplyInboundQueryVo> pv = scmApplyInboundQueryService.listPageVo(pq); PagerVo<ScmApplyInboundQueryVo> pv = scmApplyInboundQueryService.listPageVo(pq);
return rb.success().setData(pv); return rb.success().setData(pv);
} }
@Override @Override
@ApiOperation("新增或修改") @ApiOperation("新增或修改")
@PostMapping("/save") @PostMapping("/save")
public ResultBean<String> save(@RequestBody ScmApplyInboundQueryDto dto){ public ResultBean<String> save(@RequestBody ScmApplyInboundQueryDto dto) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
String sid = scmApplyInboundQueryService.saveOrUpdateDto(dto); String sid = scmApplyInboundQueryService.saveOrUpdateDto(dto);
return rb.success().setData(sid); return rb.success().setData(sid);
} }
@Override @Override
@ApiOperation("根据sid批量删除") @ApiOperation("根据sid批量删除")
@DeleteMapping("/delBySids") @DeleteMapping("/delBySids")
public ResultBean delBySids(@RequestBody String[] sids){ public ResultBean delBySids(@RequestBody String[] sids) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
scmApplyInboundQueryService.delBySids(sids); scmApplyInboundQueryService.delBySids(sids);
return rb.success(); return rb.success();
} }
@Override @Override
@ApiOperation("根据SID获取一条记录") @ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}") @GetMapping("/fetchDetailsBySid/{sid}")
public ResultBean<ScmApplyInboundQueryDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid){ public ResultBean<ScmApplyInboundQueryDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
ScmApplyInboundQueryDetailsVo vo = scmApplyInboundQueryService.fetchDetailsVoBySid(sid); ScmApplyInboundQueryDetailsVo vo = scmApplyInboundQueryService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo); return rb.success().setData(vo);
} }
@Override @Override
public ResultBean<PdfPath> createPdf(String cgrkdSid,String printerType) { public ResultBean<PdfPath> createPdf(String cgrkdSid, String printerType) {
return scmApplyInboundQueryService.createPdf(cgrkdSid,printerType); return scmApplyInboundQueryService.createPdf(cgrkdSid, printerType);
} }
@Override @Override
public ResultBean ctcgykd(String cgrkdSid) { public ResultBean ctcgykd(String cgrkdSid) {
return scmApplyInboundQueryService.ctcgykd(cgrkdSid); return scmApplyInboundQueryService.ctcgykd(cgrkdSid);
} }
@Override @Override
public ResultBean<Integer> fetchByApplicationCode(String applicationCode) { public ResultBean<Integer> fetchByApplicationCode(String applicationCode) {
return scmApplyInboundQueryService.fetchByApplicationCode(applicationCode); return scmApplyInboundQueryService.fetchByApplicationCode(applicationCode);
} }
} }

49
yxt-as-ui/src/api/storage/receivingGoods.js

@ -1,7 +1,6 @@
import request from '@/utils/request' import request from '@/utils/request'
export default { export default {
// 查询分页列表 // 查询分页列表
listPage: function(params) { listPage: function(params) {
return request({ return request({
@ -13,24 +12,20 @@ export default {
} }
}) })
}, },
// 根据收货单sid 获取上架单列表 // 根据收货单sid 获取上架单列表
getUpShlefList: function(data) { getUpShlefList: function(data) {
return request({ return request({
url: '/wms/apiadmin/inventory/WmsReceiptBill/getUpShlefListBySid/' + data, url: '/wms/apiadmin/inventory/WmsReceiptBill/getUpShlefListBySid/' + data,
method: 'get' method: 'get'
}); })
}, },
// 初始化 // 初始化
init: function(data) { init: function(data) {
return request({ return request({
url: '/wms/apiadmin/inventory/WmsReceiptBill/getDetailsInit?sid=' + data, url: '/wms/apiadmin/inventory/WmsReceiptBill/getDetailsInit?sid=' + data,
method: 'get' method: 'get'
}); })
}, },
// 新增、保存 // 新增、保存
save: function(data) { save: function(data) {
return request({ return request({
@ -40,9 +35,8 @@ export default {
headers: { headers: {
'Content-Type': 'application/json' 'Content-Type': 'application/json'
} }
}); })
}, },
// 确认 // 确认
submit: function(data) { submit: function(data) {
return request({ return request({
@ -52,23 +46,8 @@ export default {
headers: { headers: {
'Content-Type': 'application/json' 'Content-Type': 'application/json'
} }
}); })
},
// 保存 上架单
saveUpShelf: function(data) {
return request({
url: '/wms/apiadmin/WmsShelfBill/saveOrUpdate',
method: 'post',
data: data,
headers: {
'Content-Type': 'application/json'
}
});
}, },
// 查询所有商品 // 查询所有商品
getGoodsListPage: function(params) { getGoodsListPage: function(params) {
return request({ return request({
@ -80,8 +59,6 @@ export default {
} }
}) })
}, },
deleteBySids: function(data) { deleteBySids: function(data) {
return request({ return request({
url: '/wms/apiadmin/inventory/WmsReceiptBill/delBySids', url: '/wms/apiadmin/inventory/WmsReceiptBill/delBySids',
@ -91,21 +68,5 @@ export default {
'Content-Type': 'application/json' 'Content-Type': 'application/json'
} }
}) })
}, }
// 初始化新增上架单
initUpshelf: function(params) {
return request({
url: '/wms/apiadmin/WmsShelfBill/getInit?sid=' + params.sid + "&orgPath=" + params.orgPath + "&userSid=" +
params.userSid,
method: 'get',
headers: {
'Content-Type': 'application/json'
}
});
},
} }

117
yxt-as-ui/src/views/storage/deliveryNotice/index.vue

@ -40,12 +40,6 @@
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- <el-form-item label="审核状态">
<el-select v-model="queryParams.params.reviewStatus" placeholder="请选择" style="width: 200px;">
<el-option v-for="(item,i) in reviewStatusList" :key="item.sid" :label="item.name" :value="item.name">
</el-option>
</el-select>
</el-form-item> -->
</el-form> </el-form>
<div class="btn" style="text-align: center;"> <div class="btn" style="text-align: center;">
<el-button type="primary" size="small" icon="el-icon-search" @click="dosearch">查询</el-button> <el-button type="primary" size="small" icon="el-icon-search" @click="dosearch">查询</el-button>
@ -81,8 +75,6 @@
<el-table-column prop="mobile" label="联系人电话" align="center" width="150"/> <el-table-column prop="mobile" label="联系人电话" align="center" width="150"/>
<el-table-column prop="deliveryDate" label="预计到货日期" align="center" width="150"/> <el-table-column prop="deliveryDate" label="预计到货日期" align="center" width="150"/>
<el-table-column prop="billState" label="单据状态" align="center" width="150"/> <el-table-column prop="billState" label="单据状态" align="center" width="150"/>
<!-- <el-table-column prop="reviewStatus" label="审核状态" align="center" width="150" /> -->
<!-- <el-table-column prop="refuseReason" label="拒绝原因" align="center" width="150" /> -->
</el-table> </el-table>
</div> </div>
<!-- End 项目列表 --> <!-- End 项目列表 -->
@ -95,44 +87,12 @@
</div> </div>
<!-- End 查询和其列表部分 --> <!-- End 查询和其列表部分 -->
<!-- 新增修改部分组件 --> <!-- 新增修改部分组件 -->
<receiptAdd v-show="viewState == 2 || viewState == 3" ref="divAdd" @doback="resetState" @reloadlist="loadList"/> <!-- 收货单新增 -->
<receivingGoodsAdd v-show="viewState == 2 || viewState == 3" ref="divAdd" @doback="resetState" @reloadlist="loadList"/>
<!-- 预期到货通知单详情 -->
<receiptInfo v-show="viewState == 4" ref="divInfo" @doback="resetState" @reloadlist="loadList"/> <receiptInfo v-show="viewState == 4" ref="divInfo" @doback="resetState" @reloadlist="loadList"/>
<sourceBillInfo v-show="viewState == 5" ref="sourceinfo" @doback="resetState" @reloadlist="loadList"/> <!-- 采购单详情 -->
<procurementInfo v-show="viewState == 5" ref="sourceInfo" @doback="resetState" />
<el-dialog title="审核单据" :visible.sync="dialogVisible" :before-close="handleClose">
<el-form ref="dataForm" class="formadd" style="margin-top: -40px;" :model="formobj">
<el-row class="first_row">
<el-col :span="8" class="trightb">
<el-form-item class="trightb_item">
<span slot="label">审核结果</span>
</el-form-item>
</el-col>
<el-col :span="16">
<el-form-item class="trightb_item">
<el-radio-group v-model="formobj.reviewStatus" size="small">
<el-radio :label="1">合格</el-radio>
<el-radio :label="2">不合格</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8" class="trightb">
<el-form-item class="trightb_item">
<span slot="label">审核意见</span>
</el-form-item>
</el-col>
<el-col :span="16">
<el-form-item class="trightb_item">
<el-input v-model="formobj.remarks" placeholder="请填写审核意见" class="addinputw" style="width:100%" clearable/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div style="display: flex;flex-direction: row;width: 100%;justify-content: center;align-items: center;">
<el-button type="primary" style="margin-top: 20px;" @click="saveExamine"> </el-button>
</div>
</el-dialog>
</div> </div>
</template> </template>
@ -140,27 +100,21 @@
import req from '@/api/storage/deliveryNotice.js' import req from '@/api/storage/deliveryNotice.js'
import ButtonBar from '@/components/ButtonBar' import ButtonBar from '@/components/ButtonBar'
import Pagination from '@/components/pagination' import Pagination from '@/components/pagination'
import receiptAdd from './receiptAdd.vue' import receivingGoodsAdd from '../receivingGoods/receivingGoodsAdd'
import receiptInfo from './receiptInfo.vue' import receiptInfo from './receiptInfo.vue'
import sourceBillInfo from './procurementInfo.vue' import procurementInfo from '../../purchase/procurement/procurementInfo'
import { typeValues } from '@/api/Common/dictcommons' import { typeValues } from '@/api/Common/dictcommons'
export default { export default {
components: { components: {
ButtonBar, ButtonBar,
Pagination, Pagination,
receiptAdd, receivingGoodsAdd,
receiptInfo, receiptInfo,
sourceBillInfo procurementInfo
}, },
data() { data() {
return { return {
dialogVisible: false,
formobj: {
sid: '',
reviewStatus: '',
remarks: ''
},
btndisabled: false, btndisabled: false,
viewState: 1, // 1 2 3 4 viewState: 1, // 1 2 3 4
isSearchShow: false, isSearchShow: false,
@ -168,13 +122,6 @@ export default {
tableLoading: false, tableLoading: false,
dataList: [], dataList: [],
btnList: [ btnList: [
// {
// type: 'primary',
// size: 'small',
// icon: 'plus',
// btnKey: 'toAudit',
// btnLabel: ''
// },
{ {
type: 'primary', type: 'primary',
size: 'small', size: 'small',
@ -202,7 +149,19 @@ export default {
size: 10, size: 10,
total: 0, total: 0,
params: { params: {
name: '' billNo: '',
createTimeStart: '',
createTimeEnd: '',
busTypeKey: '',
supplierName: '',
deliveryDateStart: '',
deliveryDateEnd: '',
billState: '',
reviewStatus: '',
sourceBillNo: '',
menuUrl: '',
orgPath: '',
userSid: ''
} }
}, },
sids: [], sids: [],
@ -274,20 +233,7 @@ export default {
}, },
showSourceBillDetail(row) { showSourceBillDetail(row) {
this.viewState = 5 this.viewState = 5
this.$refs['sourceinfo'].showInfo(row.sourceBillSid) this.$refs['sourceInfo'].showInfo({ sid: row.sourceBillSid })
},
saveExamine() {
},
toAudit() {
if (this.selectionList.length === 1) {
this.dialogVisible = true
} else {
this.$message({ type: 'warning', message: '请选择一条记录进行操作', showClose: true })
}
},
handleClose() {
this.dialogVisible = false
}, },
selectionLineChangeHandle(val) { selectionLineChangeHandle(val) {
this.selectionList = val this.selectionList = val
@ -344,7 +290,6 @@ export default {
this.tableLoading = false this.tableLoading = false
}) })
}, },
// //
indexMethod(index) { indexMethod(index) {
var pagestart = (this.queryParams.current - 1) * this.queryParams.size var pagestart = (this.queryParams.current - 1) * this.queryParams.size
@ -361,7 +306,19 @@ export default {
size: 10, size: 10,
total: 0, total: 0,
params: { params: {
name: '' billNo: '',
createTimeStart: '',
createTimeEnd: '',
busTypeKey: '',
supplierName: '',
deliveryDateStart: '',
deliveryDateEnd: '',
billState: '',
reviewStatus: '',
sourceBillNo: '',
menuUrl: '',
orgPath: '',
userSid: ''
} }
} }
this.loadList() this.loadList()
@ -448,7 +405,7 @@ export default {
return return
} }
this.viewState = 2 this.viewState = 2
this.$refs['divAdd'].showEdit(this.selectionList[0]) this.$refs['divAdd'].showAdd({ sid: this.selectionList[0].sid })
}, },
toInfo(row) { toInfo(row) {
this.viewState = 4 this.viewState = 4

389
yxt-as-ui/src/views/storage/deliveryNotice/procurementInfo.vue

@ -1,389 +0,0 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="listconadd">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="8">
<div class="span-sty">申请部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.deptName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请人</div>
<el-form-item><span class="addinputInfo">{{ formobj.createByName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.createTime }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">采购方式</div>
<el-form-item><span class="addinputInfo">{{ formobj.purchaseTypeValue }}<span
v-show="formobj.purchaseTypeValue == '代理库'"
style="margin-left: 20px">{{ formobj.operateBrandValue }}</span></span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">采购原因</div>
<el-form-item><span class="addinputInfo">{{ formobj.purchaseReasonValue }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">付款方式</div>
<el-form-item><span class="addinputInfo">{{ formobj.payTypeValue }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">供应商</div>
<el-form-item><span class="addinputInfo">{{ formobj.supplierName }}<span
v-show="formobj.purchaseTypeValue == '代理库'"
style="margin-left: 20px">{{ formobj.warehouseTypeValue }}</span></span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">是否开发票</div>
<el-form-item><span
class="addinputInfo">{{ formobj.purchaseBillInvoice.isInvoicing == '1' ? '是' : '否' }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div v-show="formobj.purchaseBillInvoice.isInvoicing == '1'">
<div class="span-sty">发票类型(税率)</div>
<el-form-item><span
class="addinputInfo">{{ formobj.purchaseBillInvoice.billType }}{{ formobj.purchaseBillInvoice.taxRate == '' ? '' : '(' + formobj.purchaseBillInvoice.taxRate + '%)' }}</span></el-form-item>
</div>
</el-col>
</el-row>
<el-row v-show="formobj.payTypeValue == '预付款'">
<el-col :span="24">
<div class="span-sty">预付款情况</div>
<el-form-item><span class="addinputInfo">当前预付款项金额(){{ formobj.prepaymentAmount }}</span></el-form-item>
</el-col>
</el-row>
<el-row v-show="formobj.payTypeValue == '月结'">
<el-col :span="24">
<div class="span-sty">月结欠款情况</div>
<el-form-item><span class="addinputInfo">累计欠款金额(){{ formobj.owedAmount }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="16">
<div class="span-sty">备注</div>
<el-form-item><span class="addinputInfo">{{ formobj.remarks }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">预计到货日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.deliveryDate }}</span></el-form-item>
</el-col>
</el-row>
<div v-if="formobj.payTypeValue == '单笔付款'">
<div class="title">订金及付款申请</div>
<el-row>
<el-col :span="8">
<div class="span-sty">是否先付货款</div>
<el-form-item><span
class="addinputInfo">{{ formobj.purchasePay.isFirstPay == '1' ? '是' : '否' }}</span></el-form-item>
</el-col>
<el-col :span="8" v-if="formobj.purchasePay.isFirstPay == '0'">
<div class="span-sty">审批通过后付订金</div>
<el-form-item><span class="addinputInfo">{{ formobj.purchasePay.deposit }}</span></el-form-item>
</el-col>
<el-col :span="8" v-if="formobj.purchasePay.isFirstPay == '0'">
<div class="span-sty">验货后付货款</div>
<el-form-item><span class="addinputInfo">{{ formobj.purchasePay.goodsMoney }}</span></el-form-item>
</el-col>
<el-col :span="16" v-else>
<div class="span-sty">审批通过后付货款</div>
<el-form-item><span class="addinputInfo">{{ formobj.purchasePay.goodsMoney }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">收款账户名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.purchasePay.accountName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">开户行</div>
<el-form-item><span class="addinputInfo">{{ formobj.purchasePay.bankName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">银行账号</div>
<el-form-item><span class="addinputInfo">{{ formobj.purchasePay.bankAccount }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="16">
<div class="span-sty">其他费用名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.purchasePay.otherAmountName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">其他费用合计</div>
<el-form-item><span class="addinputInfo">{{ formobj.purchasePay.otherAmount }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">付款备注</div>
<el-form-item><span class="addinputInfo">{{ formobj.purchasePay.payRemark }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">附件</div>
<el-form-item><el-image class="addinputInfo" style="width: 150px;height: 150px"
v-for="(item, index) in formobj.purchasePay.filePaths" :key="index" :src="item"
:preview-src-list="formobj.purchasePay.filePaths" /></el-form-item>
</el-col>
</el-row>
</div>
<div class="title ">商品列表</div>
<el-table :key="tableKey" :data="formobj.pmsPurchaseBillDetailList" :index="index" border style="width: 100%">
<el-table-column fixed width="60" label="序号" type="index" :index="index + 1" align="center" />
<el-table-column prop="goodsSpuName" label="商品名称" align="center" width="300" />
<el-table-column prop="goodsSkuCode" label="图号" align="center" width="200" />
<el-table-column prop="goodsSkuOwnSpec" label="规格" align="center" width="200" />
<el-table-column prop="unit" label="单位" align="center" width="100" />
<el-table-column prop="count" label="采购数量" align="center" width="150" />
<el-table-column prop="taxPrice" v-if="formobj.purchaseBillInvoice.isInvoicing == '1'" label="含税单价(元)"
align="center" min-width="150" />
<el-table-column prop="taxPrice" v-else label="不含税单价(元)" align="center" min-width="150" />
<el-table-column prop="amount" label="采购金额(元)" align="center" width="200" />
</el-table>
<el-row>
<el-col :span="24">
<div class="span-sty" style="border-right: 0px">数量</div>
<el-form-item><span class="addinputInfo">{{ slTotal }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty" style="border-right: 0px">应付金额</div>
<el-form-item><span class="addinputInfo">{{ yfTotal }} = 采购金额{{ cgTotal }} + 运费{{ formobj.freight }} -
优惠{{ formobj.discountAmount }} + 误差调整{{ formobj.errorAmount }}</span></el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
</div>
</template>
<script>
import req from '@/api/purchase/procurement'
export default {
name: 'ProcurementInfo',
data() {
return {
viewTitle: '',
viewState: 1,
tableKey: 1,
index: 0,
formobj: {
sid: '',
remarks: '',
createBySid: '',
createByName: '',
createTime: '',
sourceBillSid: '',
sourceBillNo: '',
billNo: '',
purchaseTypeKey: '',
purchaseTypeValue: '',
purchaseReasonKey: '',
purchaseReasonValue: '',
payTypeKey: '',
payTypeValue: '',
errorAmount: '',
supplierSid: '',
supplierName: '',
supplierPhone: '',
purchaserSid: '',
purchaserName: '',
deliveryDate: '',
freight: '',
discountAmount: '',
payableAmount: '',
prepaymentAmount: '',
owedAmount: '',
deptSid: '',
deptName: '',
procDefId: '',
nodeId: '',
procInstId: '',
nodeState: '',
taskId: '',
finishTime: '',
useOrgSid: '',
useOrgName: '',
createOrgSid: '',
createOrgName: '',
operateBrandKey: '',
operateBrandValue: '',
warehouseTypeKey: '',
warehouseTypeValue: '',
purchasePay: {
sid: '',
billSid: '',
isFirstPay: '',
deposit: '',
goodsMoney: '',
accountName: '',
bankName: '',
bankAccount: '',
otherAmountName: '',
otherAmount: '',
payRemark: '',
filePaths: []
},
purchaseBillInvoice: {
billSid: '',
isInvoicing: '',
billTypeKey: '',
billType: '',
taxRate: ''
},
pmsPurchaseBillDetailList: []
},
rules: {}
}
},
computed: {
//
slTotal() {
let sl = '0'
if (this.formobj.pmsPurchaseBillDetailList.length > 0) {
this.formobj.pmsPurchaseBillDetailList.forEach((e) => {
if (e.goodsSpuName !== '') {
sl = Math.round((parseFloat(sl) + parseFloat(e.count !== '' ? e.count : '0')) * 100) / 100
}
})
}
return sl
},
//
cgTotal() {
let cg = '0'
if (this.formobj.pmsPurchaseBillDetailList.length > 0) {
this.formobj.pmsPurchaseBillDetailList.forEach((e) => {
if (e.goodsSpuName !== '') {
cg = Math.round((parseFloat(cg) + parseFloat(e.amount !== '' ? e.amount : '0')) * 100) / 100
}
})
}
return cg
},
yfTotal() {
let yf = '0'
yf = Math.round((parseFloat(yf) + parseFloat(this.cgTotal) + parseFloat(this.formobj.freight !== '' ? this
.formobj.freight : '0') - parseFloat(this.formobj.discountAmount !== '' ? this.formobj.discountAmount :
'0') + parseFloat(this.formobj.errorAmount !== '' ? this.formobj.errorAmount : '0')) * 100) / 100
return yf
}
},
methods: {
showInfo(sid) {
this.viewTitle = '采购单详情'
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
req.fetchDetailsBySid(sid).then((res) => {
if (res.success) {
this.formobj = res.data
if (this.formobj.purchasePay.filePaths.length > 0) {
const aa = []
this.formobj.purchasePay.filePaths.forEach((e) => {
aa.push(e.url)
})
this.formobj.purchasePay.filePaths = aa
}
}
})
},
handleReturn() {
this.formobj = {
sid: '',
remarks: '',
createBySid: '',
createByName: '',
createTime: '',
sourceBillSid: '',
sourceBillNo: '',
billNo: '',
purchaseTypeKey: '',
purchaseTypeValue: '',
purchaseReasonKey: '',
purchaseReasonValue: '',
payTypeKey: '',
payTypeValue: '',
errorAmount: '',
supplierSid: '',
supplierName: '',
supplierPhone: '',
purchaserSid: '',
purchaserName: '',
deliveryDate: '',
freight: '',
discountAmount: '',
payableAmount: '',
prepaymentAmount: '',
owedAmount: '',
deptSid: '',
deptName: '',
procDefId: '',
nodeId: '',
procInstId: '',
nodeState: '',
taskId: '',
finishTime: '',
useOrgSid: '',
useOrgName: '',
createOrgSid: '',
createOrgName: '',
operateBrandKey: '',
operateBrandValue: '',
warehouseTypeKey: '',
warehouseTypeValue: '',
purchasePay: {
sid: '',
billSid: '',
isFirstPay: '',
deposit: '',
goodsMoney: '',
accountName: '',
bankName: '',
bankAccount: '',
otherAmountName: '',
otherAmount: '',
payRemark: '',
filePaths: []
},
purchaseBillInvoice: {
billSid: '',
isInvoicing: '',
billTypeKey: '',
billType: '',
taxRate: ''
},
pmsPurchaseBillDetailList: []
}
this.$emit('doback')
}
}
}
</script>
<style scoped>
.span-sty {
width: 130px !important;
}
.addinputInfo {
margin-left: 120px !important;
}
</style>

385
yxt-as-ui/src/views/storage/deliveryNotice/receiptAdd.vue

@ -1,385 +0,0 @@
<template>
<div>
<div class="tab-header webtop">
<div>新增收货单</div>
<div>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate">保存</el-button>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="submit">确认</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="listconadd">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<el-row class="first_row">
<el-col :span="8">
<div class="span-sty">制单人</div>
<el-form-item><span class="addinputInfo">{{ formobj.createByName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">制单部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.deptName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">单据日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.createTime }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">来源单号</div>
<el-form-item><span class="addinputInfo">{{ formobj.sourceBillNo }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">业务类型</div>
<el-form-item><span class="addinputInfo">{{ formobj.busTypeValue }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty"><span class="must">*</span>供应商</div>
<el-form-item prop="supplierName">
<el-select v-model="formobj.supplierName" placeholder="请选择" clearable @change="selectSupplierName" class="addinputInfo addinputw">
<el-option v-for="item in supplierNameList" :key="item.sid" :label="item.supplierName" :value="item.sid">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty"><span class="must">*</span>到货日期</div>
<el-form-item prop="deliveryDate">
<el-date-picker v-model="formobj.deliveryDate" type="date" class="addinputInfo" value-format="yyyy-MM-dd" placeholder="选择日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">单据状态</div>
<el-form-item><span class="addinputInfo">{{ formobj.billState }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty"><span class="must">*</span>收货人是否与上架人一致</div>
<el-form-item prop="isUpShelf">
<el-radio-group v-model="formobj.isUpShelf" size="small" class="addinputInfo">
<el-radio :label="1"></el-radio>
<el-radio :label="2"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">备注</div>
<el-form-item>
<el-input v-model="formobj.remarks" placeholder="" class="addinputw addinputInfo" type="textarea" :rows="4" clearable/>
</el-form-item>
</el-col>
</el-row>
<div class="title">商品列表</div>
<el-table v-loading="listLoading" :data="formobj.list" border style="width: 100%;">
<el-table-column fixed width="50" type="selection" align="center" />
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column fixed label="操作" wid align="center" width="100">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="doGoods(scope.row)">删除</el-button>
</template>
</el-table-column>
<el-table-column label="商品名称" prop="goodsSpuName" align="center" width="200" />
<el-table-column label="商品编码" prop="goodsSkuCode" align="center" width="150" />
<el-table-column label="规格" prop="goodsSkuOwnSpec" align="center" width="150" />
<el-table-column label="单位" prop="unit" align="center" width="120" />
<el-table-column label="入库单价" prop="cost" align="center" width="100">
<template slot-scope="scope">
<el-input @input="commodityComputeYHAndXSJE(scope.row)" @keyup.native="scope.row.cost = getNumber(scope.row.cost, 0)" v-model="scope.row.cost" clearable placeholder="" />
</template>
</el-table-column>
<el-table-column label="预期到货数量" prop="orderCount" align="center" width="120" />
<el-table-column label="实收数量" align="center" width="120">
<template slot-scope="scope">
<el-input @input="commodityComputeYHAndXSJE(scope.row)" @keyup.native="scope.row.actualInCount = getNumber(scope.row.actualInCount, 0)" v-model="scope.row.actualInCount" clearable placeholder="" />
</template>
</el-table-column>
<el-table-column label="拒收数量" align="center" width="120">
<template slot-scope="scope">
<el-input @keyup.native="scope.row.rejectCount = getNumber(scope.row.rejectCount, 0)" v-model="scope.row.rejectCount" clearable placeholder="" />
</template>
</el-table-column>
<el-table-column label="拒收原因" align="center" width="180">
<template slot-scope="scope">
<el-input v-model="scope.row.rejectReason" clearable placeholder=""/>
</template>
</el-table-column>
<el-table-column label="是否质检" align="center" width="180">
<template slot-scope="scope">
<el-radio-group v-model="scope.row.isQuality" size="small">
<el-radio :label="0"></el-radio>
<el-radio :label="1"></el-radio>
</el-radio-group>
</template>
</el-table-column>
<el-table-column label="质检状态" align="center" width="180">
<template slot-scope="scope">
<el-radio-group v-model="scope.row.qualityState" size="small">
<el-radio :label="0">合格</el-radio>
<el-radio :label="1">不合格</el-radio>
</el-radio-group>
</template>
</el-table-column>
<el-table-column label="载具说明" align="center" width="180">
<template slot-scope="scope">
<el-input v-model="scope.row.packageRemark" clearable placeholder="" />
</template>
</el-table-column>
<el-table-column label="税率" prop="taxAmount" align="center" width="100" />
<el-table-column label="入库金额" prop="amount" align="center" width="100" />
</el-table>
</el-form>
</div>
</div>
</template>
<script>
import req from '@/api/storage/deliveryNotice.js'
import { getCurrentDate } from '@/utils/index.js'
import { choiceSupplierInfo, getOrgSidByPath } from '@/api/Common/dictcommons'
export default {
components: {},
data() {
return {
listLoading: false,
submitdisabled: false,
formobj: {
sourceBillNo: '',
busTypeKey: '',
busTypeValue: '',
createTime: '',
createByName: window.sessionStorage.getItem('name'),
deptName: '',
deptSid: '',
createBySid: window.sessionStorage.getItem('userSid'),
useOrgSid: '',
createOrgSid: '',
billState: '新建',
billStateKey: 0,
reviewStatus: '',
refuseReason: '',
contact: '',
mobile: '',
supplierSid: '',
supplierName: '',
goodsOwnerSid: '',
goodsOwner: '',
deliveryDate: getCurrentDate(),
list: [],
pcList: []
},
supplierNameList: [],
rules: {
deliveryDate: [{ required: true, message: '到货日期不能为空', trigger: 'change' }],
isUpShelf: [{ required: true, message: '请选择是或否', trigger: 'change' }],
supplierName: [{ required: true, message: '供应商不能为空', trigger: 'change' }]
}
}
},
methods: {
getNumber(val, limit) {
val = val.replace(/[^0-9.]/g, '') //
val = val.replace(/^00/, '0.') // 0
val = val.replace(/^\./g, '0.') // 0.
val = val.replace(/\.{2,}/g, '.') //
val = val.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.'); //
/^0\d+/.test(val) ? val = val.slice(1) : '' // 0
const str = '^(\\d+)\\.(\\d{' + limit + '}).*$'
const reg = new RegExp(str)
if (limit === 0) {
//
val = val.replace(reg, '$1')
} else {
//
val = val.replace(reg, '$1.$2')
}
return val
},
init() {
getOrgSidByPath({ orgPath: window.sessionStorage.getItem('defaultOrgPath') }).then((res) => {
if (res.success) {
this.formobj.createOrgSid = res.data
this.formobj.useOrgSid = res.data
}
})
choiceSupplierInfo({ deptSid: window.sessionStorage.getItem('defaultOrgPath').substring(window.sessionStorage.getItem('defaultOrgPath').lastIndexOf('/') + 1) }).then((resp) => {
if (resp.success) {
this.supplierNameList = resp.data
}
})
},
selectSupplierName(val) {
const choose = this.supplierNameList.filter((item) => item.sid === val)
this.formobj.supplierName = choose[0].supplierName
this.formobj.supplierSid = choose[0].sid
},
doGoods(row) {
this.$confirm('是否确定删除此商品?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const index = this.formobj.list.findIndex((item) => item === row)
this.formobj.list.splice(index, 1)
for (var i = this.formobj.pcList.length - 1; i >= 0; i--) {
if (this.formobj.pcList[i].xh === (index + 1)) {
this.formobj.pcList.splice(i, 1)
}
}
})
},
commodityComputeYHAndXSJE(row) {
row.amount = Math.round((parseFloat(row.actualInCount !== '' ? row.actualInCount : 0) * parseFloat(row.cost !== '' ? row.cost : 0)) * 100) / 100
},
indexMethod(index) {
return index + 1
},
saveOrUpdate() {
this.$refs['form_obj'].validate((valid) => {
if (valid) {
for (var i = 0; i < this.formobj.list.length; i++) {
if (parseFloat(this.formobj.list[i].actualInCount) === 0) {
this.$message({ showClose: true, type: 'error', message: '商品实收数量不能为空' })
return
}
}
this.submitdisabled = true
req.save(this.formobj).then((res) => {
if (res.success) {
this.$message({ showClose: true, type: 'success', message: '保存成功' })
this.handleReturn('true')
} else {
this.submitdisabled = false
}
}).catch(() => {
this.submitdisabled = false
})
}
})
},
submit() {
for (var i = 0; i < this.formobj.list.length; i++) {
if (parseFloat(this.formobj.list[i].actualInCount) === 0) {
this.$message({ showClose: true, type: 'error', message: '商品实收数量不能为空' })
return
}
}
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
req.submit(this.formobj).then((res) => {
if (res.success) {
this.$message({ showClose: true, type: 'success', message: '提交成功' })
this.handleReturn('true')
} else {
this.submitdisabled = false
}
}).catch(() => {
this.submitdisabled = false
})
}
})
},
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.submitdisabled = false
this.formobj = {
sourceBillNo: '',
busTypeKey: '',
busTypeValue: '',
createTime: '',
createByName: window.sessionStorage.getItem('name'),
deptName: '',
deptSid: '',
createBySid: window.sessionStorage.getItem('userSid'),
useOrgSid: '',
createOrgSid: '',
billState: '新建',
billStateKey: 0,
reviewStatus: '',
refuseReason: '',
contact: '',
mobile: '',
supplierSid: '',
supplierName: '',
goodsOwnerSid: '',
goodsOwner: '',
deliveryDate: getCurrentDate(),
list: [],
pcList: []
}
this.$emit('doback')
},
showAdd() {
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.init()
},
showEdit(row) {
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.init()
req.getInitDetails(row.sid).then((resp) => {
if (resp.success) {
this.formobj = resp.data
this.formobj.deliveryDate = getCurrentDate()
this.formobj.deptName = window.sessionStorage.getItem('defaultOrgPathName').substring(window.sessionStorage.getItem('defaultOrgPathName').lastIndexOf('/') + 1)
this.formobj.deptSid = window.sessionStorage.getItem('defaultOrgPath').substring(window.sessionStorage.getItem('defaultOrgPath').lastIndexOf('/') + 1)
}
}).catch(e => {
this.formobj = {}
})
}
}
}
</script>
<style scoped>
/deep/ .el-form-item__error {
margin-left: 120px !important;
}
.must {
color: #f00;
}
.span-sty {
width: 190px !important;
}
.addinputInfo {
margin-left: 180px !important;
}
.formaddcopy02 .el-row .el-col /deep/ .el-form-item .addinputw {
margin-left: 180px !important;
width: calc(100% - 175px);
}
.first_row {
border-top: 1px solid #E0E3EB;
}
.titleOne {
padding: 7px;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
/deep/ .el-form-item__error {
margin-left: 180px !important;
}
.formaddcopy02 .el-row .el-col /deep/ .el-form-item .el-radio-group {
display: inline;
line-height: 1px;
vertical-align: middle;
}
</style>

2
yxt-as-ui/src/views/storage/deliveryNotice/receiptInfo.vue

@ -1,5 +1,5 @@
<template> <template>
<div> <div class="app-container">
<div class="tab-header webtop"> <div class="tab-header webtop">
<div>预期到货通知单详情</div> <div>预期到货通知单详情</div>
<div> <div>

732
yxt-as-ui/src/views/storage/receivingGoods/index.vue

@ -1,7 +1,7 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<div v-show="viewState == 1"> <div v-show="viewState == 1">
<button-bar ref="btnbar" view-title="收货单管理" :btndisabled="btndisabled" @btnhandle="btnHandle" /> <button-bar ref="btnbar" view-title="收货单管理" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<div class="main-content"> <div class="main-content">
<div class="searchcon"> <div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow"> <el-button size="small" class="searchbtn" @click="clicksearchShow">
@ -10,47 +10,39 @@
<div v-show="isSearchShow" class="search"> <div v-show="isSearchShow" class="search">
<el-form :inline="true" class="tab-header"> <el-form :inline="true" class="tab-header">
<el-form-item label="单据编号"> <el-form-item label="单据编号">
<el-input v-model="queryParams.params.billNo" placeholder="" clearable /> <el-input v-model="queryParams.params.billNo" placeholder="" clearable/>
</el-form-item> </el-form-item>
<el-form-item label="单据日期"> <el-form-item label="单据日期">
<el-date-picker v-model="queryParams.params.createTimeStart" type="date" placeholder="选择日期" <el-date-picker v-model="queryParams.params.createTimeStart" type="date" placeholder="选择日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;" />
format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;"> <span style="padding: 0 8px"></span>
</el-date-picker> <el-date-picker v-model="queryParams.params.createTimeEnd" type="date" placeholder="选择日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;" />
<el-date-picker v-model="queryParams.params.createTimeEnd" type="date" placeholder="选择日期"
format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;">
</el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="预期到货通知单号"> <el-form-item label="预期到货通知单号">
<el-input v-model="queryParams.params.sourceBillNo" placeholder="" clearable /> <el-input v-model="queryParams.params.sourceBillNo" placeholder="" clearable/>
</el-form-item> </el-form-item>
<el-form-item label="业务类型"> <el-form-item label="业务类型">
<el-select v-model="queryParams.params.busTypeKey" placeholder="请选择" style="width: 200px;"> <el-select v-model="queryParams.params.busTypeKey" placeholder="请选择" style="width: 200px;">
<el-option v-for="(item,i) in busTypeList" :key="item.dictKey" :label="item.dictValue" <el-option v-for="item in busTypeList" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey">
:value="item.dictKey">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="供应商"> <el-form-item label="供应商">
<el-input v-model="queryParams.params.supplierName" placeholder="" clearable /> <el-input v-model="queryParams.params.supplierName" placeholder="" clearable/>
</el-form-item> </el-form-item>
<el-form-item label="到货日期"> <el-form-item label="到货日期">
<el-date-picker v-model="queryParams.params.deliveryDateStart" type="date" placeholder="选择日期" <el-date-picker v-model="queryParams.params.deliveryDateStart" type="date" placeholder="选择日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;" />
format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;"> <span style="padding: 0 8px"></span>
</el-date-picker> <el-date-picker v-model="queryParams.params.deliveryDateEnd" type="date" placeholder="选择日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;" />
<el-date-picker v-model="queryParams.params.deliveryDateEnd" type="date" placeholder="选择日期"
format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;">
</el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="单据状态"> <el-form-item label="单据状态">
<el-select v-model="queryParams.params.billState" placeholder="请选择" style="width: 200px;"> <el-select v-model="queryParams.params.billState" placeholder="请选择" style="width: 200px;">
<el-option v-for="(item,i) in billStateList" :key="i" :label="item.name" :value="item.sid"> <el-option v-for="item in billStateList" :key="item.sid" :label="item.name" :value="item.sid">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="分配状态"> <el-form-item label="分配状态">
<el-select v-model="queryParams.params.distributeType" placeholder="请选择" style="width: 200px;"> <el-select v-model="queryParams.params.distributeType" placeholder="请选择" style="width: 200px;">
<el-option v-for="(item,i) in distributeTypeList" :key="i" :label="item.name" :value="item.sid"> <el-option v-for="item in distributeTypeList" :key="item.sid" :label="item.name" :value="item.sid">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -68,15 +60,13 @@
<!-- End 项目列表头部 --> <!-- End 项目列表头部 -->
<!-- Start 项目列表 --> <!-- Start 项目列表 -->
<div class=""> <div class="">
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%" <el-table v-loading="tableLoading" :data="dataList" border style="width: 100%" @selection-change="selectionLineChangeHandle">
@selection-change="selectionLineChangeHandle"> <el-table-column fixed width="50" type="selection" align="center"/>
<el-table-column fixed width="50" type="selection" align="center" /> <el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column fixed label="操作" align="center" width="150"> <el-table-column fixed label="操作" align="center" width="150">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="primary" size="mini" :disabled="scope.row.billState=='已完成'" <el-button type="primary" size="mini" :disabled="scope.row.billState=='已完成'" @click="toEdit(scope.row)">办理</el-button>
@click="toEdit(scope.row)">办理</el-button> <el-button type="primary" size="mini" @click="toInfo(scope.row)">查看</el-button>
<el-button type="primary" size="mini" @click="toRelevancy(scope.row)">查看</el-button>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="billNo" width="180" label="单据编号" align="center" /> <el-table-column prop="billNo" width="180" label="单据编号" align="center" />
@ -90,476 +80,328 @@
<el-table-column prop="billState" label="单据状态" width="100" align="center" /> <el-table-column prop="billState" label="单据状态" width="100" align="center" />
<el-table-column label="上架单" align="center" width="100"> <el-table-column label="上架单" align="center" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<div style="color: #1890FF; text-decoration: underline ;cursor:pointer;" <span class="bluezi" @click="showUpShelfList(scope.row)">{{ scope.row.upShlefNum }}</span>
@click="showUpShelfList(scope.row)">
{{ scope.row.upShlefNum }}
</div>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
<!-- End 项目列表 --> <!-- End 项目列表 -->
<div class="pages"> <div class="pages">
<div class="tit" /> <div class="tit"/>
<!-- 翻页 --> <!-- 翻页 -->
<pagination v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current" <pagination v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current" :limit.sync="queryParams.size" class="pagination" @pagination="loadList"/>
:limit.sync="queryParams.size" class="pagination" @pagination="loadList" />
</div> </div>
</div> </div>
</div> </div>
<!-- End 查询和其列表部分 --> <!-- End 查询和其列表部分 -->
<!-- 新增修改部分组件 --> <!-- 新增修改部分组件 -->
<!-- 收货单编辑 -->
<divAdd v-show="viewState == 2 || viewState == 3" ref="divadd" @doback="resetState" @reloadlist="loadList" /> <divAdd v-show="viewState == 2 || viewState == 3" ref="divadd" @doback="resetState" @reloadlist="loadList" />
<!-- 收货单详情 -->
<divInfo v-show="viewState == 4" ref="divinfo" @doback="resetState" @reloadlist="loadList" /> <divInfo v-show="viewState == 4" ref="divinfo" @doback="resetState" @reloadlist="loadList" />
<divAddupShelfRecord v-show="viewState == 5" ref="divAddupShelfRecord" @doback="resetState" <!-- 上架单新增 -->
@reloadlist="loadList" /> <upShelfAdd v-show="viewState == 5" ref="upShelfAdd" @doback="resetState" @reloadlist="loadList" />
<!-- 上架单详情 -->
<upShelfInfo v-show="viewState == 6" ref="upShelfInfo" @doback2="resetState2" @reloadlist="loadList" /> <upShelfInfo v-show="viewState == 6" ref="upShelfInfo" @doback2="resetState2" @reloadlist="loadList" />
<el-dialog title="上架单列表" :visible.sync="dialogVisible" :before-close="handleClose"> <el-dialog title="上架单列表" :visible.sync="dialogVisible" :before-close="handleClose">
<el-table :data="upShelfList" border style="width: 100%;margin-top: -30px;"> <el-table :data="upShelfList" border style="width: 100%;margin-top: -30px;">
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod2" align="center" /> <el-table-column fixed width="60" label="序号" type="index" :index="indexMethod2" align="center" />
<el-table-column label="单据编号" align="center"> <el-table-column label="单据编号" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<div style="color: #1890FF; text-decoration: underline ;cursor:pointer;" <span class="bluezi" @click="showUpShelfBill(scope.row)">{{ scope.row.billNo }}</span>
@click="showUpShelfBill(scope.row)">
{{ scope.row.billNo }}
</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="createTime" label="单据日期" align="center" /> <el-table-column prop="createTime" label="单据日期" align="center" />
<el-table-column prop="createByName" label="制单人" align="center" /> <el-table-column prop="createByName" label="制单人" align="center" />
<el-table-column prop="sourceBillNo" label="来源单号" align="center" /> <el-table-column prop="sourceBillNo" label="来源单号" align="center" />
<el-table-column prop="billState" label="单据状态" align="center" /> <el-table-column prop="billState" label="单据状态" align="center" />
</el-table> </el-table>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
import req from '@/api/storage/receivingGoods.js' import req from '@/api/storage/receivingGoods.js'
import ButtonBar from '@/components/ButtonBar' import ButtonBar from '@/components/ButtonBar'
import Pagination from '@/components/pagination' import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye' import divAdd from './receivingGoodsAdd.vue'
import divAdd from './receivingGoodsAdd.vue' import divInfo from './receivingGoodsInfo.vue'
import divInfo from './receivingGoodsInfo.vue' import upShelfAdd from '../upShelf/upShelfAdd.vue'
import divAddupShelfRecord from './upShelfAddRecord.vue' import upShelfInfo from '../upShelf/upShelfInfo.vue'
import upShelfInfo from './upShelfInfo.vue' import { typeValues } from '@/api/Common/dictcommons'
import {
typeValues export default {
} from '@/api/Common/dictcommons' components: {
export default { ButtonBar,
components: { Pagination,
ButtonBar, divAdd,
Pagination, divInfo,
pageye, upShelfAdd,
divAdd, upShelfInfo
divInfo, },
divAddupShelfRecord, data() {
upShelfInfo return {
}, dialogVisible: false,
data() { btndisabled: false,
return { viewState: 1, // 1 2 3 4
dialogVisible: false, isSearchShow: false,
formobj: { searchxianshitit: '显示查询条件',
sid: "", tableLoading: false,
reviewStatus: "", dataList: [],
remarks: '' btnList: [
{
type: 'primary',
size: 'small',
icon: 'plus',
btnKey: 'toPrint',
btnLabel: '打印入库单'
}, },
btndisabled: false, {
viewState: 1, // 1 2 3 4 type: 'primary',
isSearchShow: false, size: 'small',
searchxianshitit: '显示查询条件', icon: 'plus',
tableLoading: false, btnKey: 'toAdd',
dataList: [], btnLabel: '新增上架单'
btnList: [
// {
// type: 'primary',
// size: 'small',
// icon: 'plus',
// btnKey: 'toAudit',
// btnLabel: ''
// },
// {
// type: 'danger',
// size: 'small',
// icon: 'del',
// btnKey: 'doDel',
// btnLabel: ''
// },
{
type: 'primary',
size: 'small',
icon: 'plus',
btnKey: 'toPrint',
btnLabel: '打印入库单'
},
{
type: 'primary',
size: 'small',
icon: 'plus',
btnKey: 'toAdd',
btnLabel: '新增上架单'
},
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
queryParams: {
current: 1,
size: 10,
total: 0,
params: {
name: ''
}
}, },
sids: [], {
selectionList: [], type: 'info',
busTypeList: [], size: 'small',
billStateList: [{ icon: 'cross',
name: "新建", btnKey: 'doClose',
sid: "0" btnLabel: '关闭'
}, }
{ ],
name: "已完成", queryParams: {
sid: "1" current: 1,
}, size: 10,
total: 0,
], params: {
distributeTypeList: [{ billNo: '',
name: "未分配", createTimeStart: '',
sid: "0" createTimeEnd: '',
}, sourceBillNo: '',
{ busTypeKey: '',
name: "部分分配", deliveryDateStart: '',
sid: "2" deliveryDateEnd: '',
}, billState: '',
{ distributeType: '',
name: "已分配", menuUrl: '',
sid: "1" orgPath: '',
}, userSid: ''
}
], },
upShelfList: [ sids: [],
// { selectionList: [],
// billSid: 'sid', busTypeList: [],
// billNo: '', billStateList: [
// createTime: '', {
// createByName: '', name: '新建',
// sourceBillNo: '', sid: '0'
// billState: '' },
// }, {
] name: '已完成',
sid: '1'
}
],
distributeTypeList: [
{
name: '未分配',
sid: '0'
},
{
name: '部分分配',
sid: '2'
},
{
name: '已分配',
sid: '1'
}
],
upShelfList: []
}
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
created() {
this.loadList()
typeValues({ type: 'wms_busType' }).then((res) => {
if (res.success) {
this.busTypeList = res.data
} }
})
},
methods: {
showUpShelfList(row) {
req.getUpShlefList(row.sid).then((resp) => {
if (resp.success) {
this.upShelfList = resp.data
this.dialogVisible = true
}
})
}, },
mounted() { showUpShelfBill(row) {
this.$refs['btnbar'].setButtonList(this.btnList) this.dialogVisible = false
this.viewState = 6
this.$refs['upShelfInfo'].showEdit(row.billSid)
}, },
created() { resetState2() {
this.loadList() this.viewState = 1
this.dialogVisible = true
typeValues({ },
type: 'wms_busType' handleClose() {
}).then((res) => { this.dialogVisible = false
if (res.success) { },
this.busTypeList = res.data selectionLineChangeHandle(val) {
} this.selectionList = val
const aa = []
val.forEach(element => {
aa.push(element.sid)
}) })
this.sids = aa
}, },
methods: { //
clicksearchShow() {
showUpShelfList(row) { this.isSearchShow = !this.isSearchShow
console.log("val", row); if (this.isSearchShow) {
req.getUpShlefList(row.sid).then((resp) => { this.searchxianshitit = '隐藏查询条件'
this.upShelfList = resp.data } else {
this.dialogVisible = true this.searchxianshitit = '显示查询条件'
}
}).catch(() => {}) },
btnHandle(btnKey) {
switch (btnKey) {
}, case 'toPrint':
showUpShelfBill(row) { this.toPrint()
this.dialogVisible = false break
this.viewState = 6 case 'toAdd':
this.$refs['upShelfInfo'].showEdit(row.billSid) this.toAdd()
break
}, case 'doClose':
resetState2() { this.doClose()
this.viewState = 1 break
this.dialogVisible = true default:
}, break
handleClose() { }
this.dialogVisible = false },
}, loadList() {
saveExamine() { this.tableLoading = true
this.queryParams.params.userSid = window.sessionStorage.getItem('userSid')
}, this.queryParams.params.orgPath = window.sessionStorage.getItem('defaultOrgPath')
changeTheme() { this.queryParams.params.menuUrl = this.$route.path
req.listPage(this.queryParams).then((resp) => {
}, this.tableLoading = false
toAudit() { if (resp.success) {
const data = resp.data
this.viewState = 2 this.queryParams.total = data.total
this.$refs['divadd'].showAdd() this.dataList = data.records
},
selectTime1() {
},
selectTime2() {
},
selectionLineChangeHandle(val) {
console.log("val", val);
this.selectionList = val
const aa = []
val.forEach(element => {
aa.push(element.sid)
})
this.sids = aa
},
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else { } else {
this.searchxianshitit = '显示查询条件' // resp.code
this.dataList = []
this.queryParams.total = 0
} }
}, }).catch(() => {
btnHandle(btnKey) { this.tableLoading = false
switch (btnKey) { })
case 'toAudit': },
this.toAudit() //
break indexMethod(index) {
case 'doDel': var pagestart = (this.queryParams.current - 1) * this.queryParams.size
this.doDel() var pageindex = index + 1 + pagestart
break return pageindex
case 'toPrint': },
this.toPrint() indexMethod2(index) {
break return index + 1
case 'toAdd': },
this.toAdd() dosearch() {
break this.queryParams.current = 1
case 'doClose': this.loadList()
this.doClose() },
break resetQuery() {
default: this.queryParams = {
break current: 1,
} size: 10,
}, total: 0,
loadList() { params: {
this.tableLoading = true billNo: '',
this.queryParams.params.userSid = window.sessionStorage.getItem('userSid') createTimeStart: '',
this.queryParams.params.orgPath = window.sessionStorage.getItem('defaultOrgPath') createTimeEnd: '',
this.queryParams.params.menuUrl = this.$route.path sourceBillNo: '',
req.listPage(this.queryParams).then((resp) => { busTypeKey: '',
this.tableLoading = false deliveryDateStart: '',
if (resp.success) { deliveryDateEnd: '',
const data = resp.data billState: '',
this.queryParams.total = data.total distributeType: '',
this.dataList = data.records menuUrl: '',
} else { orgPath: '',
// resp.code userSid: ''
this.dataList = []
this.queryParams.total = 0
}
}).catch(() => {
this.tableLoading = false
})
},
//
indexMethod(index) {
var pagestart = (this.queryParams.current - 1) * this.queryParams.size
var pageindex = index + 1 + pagestart
return pageindex
},
indexMethod2(index) {
return index + 1
},
dosearch() {
this.queryParams.current = 1
this.loadList()
},
resetQuery() {
this.queryParams = {
current: 1,
size: 10,
total: 0,
params: {
name: ''
}
} }
this.loadList() }
}, this.loadList()
doDel() { },
toPrint() {
if (this.sids.length > 0) { for (var i = 0; i < this.selectionList.length; i++) {
const tip = '请确认是否删除所选 ' + this.sids.length + ' 条记录?' if (this.selectionList[i].billState !== '已完成') {
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.deleteBySids(this.sids).then((resp) => {
loading.close()
if (resp.success) {
this.$message({
type: 'success',
message: resp.msg,
showClose: true
})
this.loadList()
} else {
// resp.code
}
}).catch(e => {
loading.close()
})
}).catch(() => {})
} else {
this.$message({ this.$message({
showClose: true, type: 'warning',
message: '请至少选择一条记录进行删除操作' message: '只能选择已完成的记录。',
showClose: true
}) })
return
} }
}, }
toPrint() { this.$message({
type: 'warning',
for (var i = 0; i < this.selectionList.length; i++) { message: '打印功能正在完善中。',
showClose: true
if (this.selectionList[i].billState != '已完成') { })
this.$message({ },
type: 'warning', toAdd() {
message: "只能选择已完成的记录。", if (this.selectionList.length !== 1) {
showClose: true
})
return
}
}
this.$message({ this.$message({
type: 'warning', type: 'warning',
message: "打印功能正在完善中。", message: '请选择一条数据。',
showClose: true showClose: true
}) })
}, return
toAdd() { }
if (this.selectionList.length != 1) { if (this.selectionList[0].billState === '新建') {
this.$message({ this.$message({
type: 'warning', type: 'warning',
message: "请选择一条数据。", message: '此记录未完成,不可操作。',
showClose: true showClose: true
})
return
}
if (this.selectionList[0].billState == '新建') {
this.$message({
type: 'warning',
message: "此记录未完成,不可操作。",
showClose: true
})
return
}
if (this.selectionList[0].distributeType == '已分配') {
this.$message({
type: 'warning',
message: "此记录已全部分配,不可操作。",
showClose: true
})
return
}
this.viewState = 5
this.$refs['divAddupShelfRecord'].showEdit(this.selectionList[0])
},
toEdit(row) {
this.viewState = 3
this.$refs['divadd'].showEdit(row)
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
},
toRelevancy(row) {
this.viewState = 4
this.$refs['divinfo'].showEdit(row)
},
toRelevancyInfo(row) {
const tip = '请确认是否删除所选品牌?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.deleteGoods(row.sid).then((resp) => {
loading.close()
if (resp.success) {
this.$message({
type: 'success',
message: resp.msg,
showClose: true
})
this.loadList()
} else {
// resp.code
}
}).catch(e => {
loading.close()
})
}).catch(() => {})
},
resetState() {
this.viewState = 1
},
enableChange(sid, state) {
console.log('sid', sid)
console.log('state', state)
req.updateIsEnable(sid, state).then((resp) => {
if (resp.success) {
this.$message({
type: 'success',
message: '状态已更新',
showClose: true
})
} else { // resp.code
}
}).catch(e => {
console.log(e)
}) })
return
} }
if (this.selectionList[0].distributeType === '已分配') {
this.$message({
type: 'warning',
message: '此记录已全部分配,不可操作。',
showClose: true
})
return
}
this.viewState = 5
this.$refs['upShelfAdd'].showEdit(this.selectionList[0])
},
toEdit(row) {
this.viewState = 3
this.$refs['divadd'].showEdit(row)
},
toInfo(row) {
this.viewState = 4
this.$refs['divinfo'].showEdit(row)
},
resetState() {
this.viewState = 1
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
} }
} }
}
</script> </script>
<style scoped> <style scoped>
</style> </style>

1231
yxt-as-ui/src/views/storage/receivingGoods/receivingGoodsAdd.vue

File diff suppressed because it is too large

210
yxt-as-ui/src/views/storage/receivingGoods/receivingGoodsInfo.vue

@ -2,24 +2,15 @@
<div class="app-container"> <div class="app-container">
<div v-show="viewState == 1"> <div v-show="viewState == 1">
<div class="tab-header webtop"> <div class="tab-header webtop">
<!-- 标题 -->
<div>收货单详情</div> <div>收货单详情</div>
<!-- start 添加修改按钮 -->
<div> <div>
<el-button type="primary" size="small" v-show="formobj.billState=='已完成'" :disabled="submitdisabled" <el-button type="primary" size="small" v-show="formobj.billState=='已完成'" :disabled="submitdisabled" @click="addUpShelf">新增上架单
@click="addUpShelf">新增上架单</el-button> </el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button> <el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div> </div>
<!-- end 添加修改按钮 -->
<!-- end 详情按钮 -->
</div> </div>
<div class="listconadd"> <div class="listconadd">
<el-form ref="form_obj" :model="formobj" class="formaddcopy02"> <el-form ref="form_obj" :model="formobj" class="formaddcopy02">
<!-- <div class="title">
<div>基础信息</div>
</div> -->
<el-row class="first_row"> <el-row class="first_row">
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">制单人</div> <div class="span-sty">制单人</div>
@ -29,20 +20,16 @@
<div class="span-sty">制单部门</div> <div class="span-sty">制单部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.deptName }}</span></el-form-item> <el-form-item><span class="addinputInfo">{{ formobj.deptName }}</span></el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">单据日期</div> <div class="span-sty">单据日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.createTime }}</span></el-form-item> <el-form-item><span class="addinputInfo">{{ formobj.createTime }}</span></el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">预期到货通知单号</div> <div class="span-sty">预期到货通知单号</div>
<el-form-item><span class="addinputInfo">{{ formobj.sourceBillNo }}</span></el-form-item> <el-form-item><span class="addinputInfo">{{ formobj.sourceBillNo }}</span></el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">业务类型</div> <div class="span-sty">业务类型</div>
<el-form-item><span class="addinputInfo">{{ formobj.busTypeValue }}</span></el-form-item> <el-form-item><span class="addinputInfo">{{ formobj.busTypeValue }}</span></el-form-item>
@ -51,11 +38,8 @@
<div class="span-sty">供应商</div> <div class="span-sty">供应商</div>
<el-form-item><span class="addinputInfo">{{ formobj.supplierName }}</span></el-form-item> <el-form-item><span class="addinputInfo">{{ formobj.supplierName }}</span></el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">到货日期</div> <div class="span-sty">到货日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.deliveryDate }}</span></el-form-item> <el-form-item><span class="addinputInfo">{{ formobj.deliveryDate }}</span></el-form-item>
@ -64,164 +48,102 @@
<div class="span-sty">单据状态</div> <div class="span-sty">单据状态</div>
<el-form-item><span class="addinputInfo">{{ formobj.billState }}</span></el-form-item> <el-form-item><span class="addinputInfo">{{ formobj.billState }}</span></el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<div class="span-sty">备注</div> <div class="span-sty">备注</div>
<el-form-item><span class="addinputInfo">{{formobj.remarks}}</span></el-form-item> <el-form-item><span class="addinputInfo">{{ formobj.remarks }}</span></el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<div class="title">商品列表</div>
<div class="title titleOne">
<div>商品列表</div>
</div>
<el-table v-loading="listLoading" :data="formobj.list" border style="width: 100%;"> <el-table v-loading="listLoading" :data="formobj.list" border style="width: 100%;">
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" /> <el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column fixed label="商品名称" prop="goodsSpuName" align="center" width="200" /> <el-table-column fixed label="商品名称" prop="goodsSpuName" align="center" width="200"/>
<el-table-column label="商品编码" prop="goodsSkuCode" align="center" width="150" /> <el-table-column label="商品编码" prop="goodsSkuCode" align="center" width="150"/>
<el-table-column label="规格" prop="goodsSkuOwnSpec" align="center" width="150" /> <el-table-column label="规格" prop="goodsSkuOwnSpec" align="center" width="150"/>
<el-table-column label="单位" prop="unit" align="center" width="120" /> <el-table-column label="单位" prop="unit" align="center" width="120"/>
<!-- <el-table-column label="仓库" prop="warehouseName" align="center" width="180" /> <el-table-column label="预期到货数量" prop="orderCount" align="center" width="120"/>
<el-table-column label="库位" prop="warehouseRackName" align="center" width="180" />--> <el-table-column label="实收数量" prop="actualInCount" align="center" width="120"/>
<el-table-column label="预期到货数量" prop="orderCount" align="center" width="120" /> <el-table-column label="拒收数量" prop="rejectCount" align="center" width="120"/>
<el-table-column label="实收数量" prop="actualInCount" align="center" width="120" /> <el-table-column label="拒收原因" prop="rejectReason" align="center" width="180"/>
<el-table-column label="拒收数量" prop="rejectCount" align="center" width="120" />
<el-table-column label="拒收原因" prop="rejectReason" align="center" width="180" />
<el-table-column label="是否质检" align="center" width="180"> <el-table-column label="是否质检" align="center" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<el-radio-group v-model="scope.row.isQuality" :disabled="true" size="small"> <span>{{ scope.row.isQuality == '0' ? '是' : scope.row.isQuality == '1' ? '否' : '' }}</span>
<el-radio :label="0"></el-radio>
<el-radio :label="1"></el-radio>
</el-radio-group>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="质检状态" align="center" width="180"> <el-table-column label="质检状态" align="center" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<el-radio-group v-model="scope.row.qualityState" :disabled="true" size="small"> <span>{{ scope.row.qualityState == '0' ? '合格' : scope.row.qualityState == '1' ? '不合格' : '' }}</span>
<el-radio :label="0">合格</el-radio>
<el-radio :label="1">不合格</el-radio>
</el-radio-group>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="载具说明" prop="packageRemark" align="center" width="180" /> <el-table-column label="载具说明" prop="packageRemark" align="center" width="180"/>
<el-table-column label="入库单价" prop="cost" align="center" width="100" /> <el-table-column label="入库单价" prop="cost" align="center" width="100"/>
<el-table-column label="税率" prop="taxAmount" align="center" width="100" /> <el-table-column label="税率" prop="taxAmount" align="center" width="100"/>
<!-- <el-table-column label="含税单价" prop="taxPrice" align="center" width="100" /> --> <el-table-column label="入库金额" prop="amount" align="center" width="100"/>
<el-table-column label="入库金额" prop="amount" align="center" width="100" /> <el-table-column label="已分配数量" prop="allotmentNum" align="center" width="130"/>
<el-table-column label="已分配数量" prop="allotmentNum" align="center" width="130" />
</el-table> </el-table>
<!-- <div class="title titleOne">
<div>商品-批次</div>
</div>
<el-table v-loading="listLoading" :data="formobj.pcList" border style="width: 100%;">
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column label="商品列表序号" prop="xh" align="center" width="120" />
<el-table-column label="商品名称" prop="goodsSkuTitle" align="center" width="200" />
<el-table-column label="商品编码" prop="goodsSkuCode" align="center" width="150" />
<el-table-column label="规格" prop="goodsSkuOwnSpec" align="center" width="150" />
<el-table-column label="单位" prop="unit" align="center" width="120" />
<el-table-column label="仓库" prop="warehouseName" align="center" width="150" />
<el-table-column label="库位" prop="warehouseRackName" align="center" width="150" />
<el-table-column label="批次号" prop="batchNumber" align="center" width="300" />
<el-table-column label="生产日期" prop="manufactureDate" align="center" width="180" />
<el-table-column label="有效期" prop="expirationDate" align="center" width="180" />
<el-table-column label="数量" prop="batchCount" align="center" width="120" />
</el-table> -->
</el-form> </el-form>
</div> </div>
</div> </div>
<!-- 新增上架单 --> <!-- 新增上架单 -->
<upShelf v-show="viewState == 2" ref="divSp" @doback="resetState" /> <upShelf v-show="viewState == 2" ref="divSp" @doback="resetState"/>
</div> </div>
</template> </template>
<script> <script>
import req from '@/api/storage/receivingGoods.js' import req from '@/api/storage/receivingGoods.js'
import upShelf from './upShelfAddRecord' import upShelf from '../upShelf/upShelfAdd'
export default {
components: { export default {
upShelf components: {
}, upShelf
data() { },
return { data() {
viewState: 1, return {
listLoading: false, viewState: 1,
submitdisabled: false, listLoading: false,
formobj: {}, submitdisabled: false,
} formobj: {}
}
},
methods: {
indexMethod(index) {
return index + 1
}, },
methods: {
indexMethod(index) {
return index + 1
},
handleReturn(isreload) { handleReturn() {
if (isreload === 'true') this.$emit('reloadlist') this.$emit('doback')
this.$emit('doback') },
}, showEdit(row) {
req.init(row.sid).then(resp => {
showAdd() { if (resp.success) {
this.formobj = resp.data
},
showEdit(row) {
var params = {
sid: row.sid
} }
req.init(row.sid) }).catch(e => {
.then(resp => { this.formobj = {}
if (resp.success) { })
this.formobj = resp.data },
} resetState() {
}) this.viewState = 1
.catch(e => { },
this.formobj = {} addUpShelf() {
}) this.viewState = 2
}, this.$refs['divSp'].showEdit(this.formobj)
resetState() {
this.viewState = 1
},
addUpShelf() {
this.viewState = 2
this.$refs['divSp'].showEdit(this.formobj)
},
} }
} }
}
</script> </script>
<style scoped> <style scoped>
.span-sty { .span-sty {
width: 130px !important; width: 130px !important;
} }
.addinputInfo { .addinputInfo {
margin-left: 120px !important; margin-left: 120px !important;
} }
.formaddcopy02 .el-row .el-col /deep/ .el-form-item .addinputw { .first_row {
margin-left: 120px !important; border-top: 1px solid #E0E3EB;
width: calc(100% - 115px); }
}
.first_row {
border-top: 1px solid #E0E3EB;
}
.titleOne {
padding: 7px;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
</style> </style>

417
yxt-as-ui/src/views/storage/receivingGoods/upShelfAddRecord.vue

@ -1,417 +0,0 @@
<template>
<div>
<div class="tab-header webtop">
<!-- 标题 -->
<div>新增上架单</div>
<!-- start 添加修改按钮 -->
<div>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate">保存</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
<!-- end 添加修改按钮 -->
<!-- end 详情按钮 -->
</div>
<div class="listconadd">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<!-- <div class="title">
<div>基础信息</div>
</div> -->
<el-row class="first_row">
<el-col :span="8">
<div class="span-sty">制单人</div>
<el-form-item>
<span class="addinputw addinputInfo">{{ formobj.createByName }}</span>
</el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">制单部门</div>
<el-form-item><span class="addinputw addinputInfo">{{ formobj.deptName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty"><span class="must">*</span> 单据日期</div>
<el-form-item prop="createTime"> <el-date-picker v-model="formobj.createTime" type="date"
class="addinputw addinputInfo" value-format="yyyy-MM-dd" placeholder="选择日期">
</el-date-picker></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">来源单号</div>
<el-form-item><span class="addinputw addinputInfo">{{ formobj.sourceBillNo }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">单据状态</div>
<el-form-item><span class="addinputw addinputInfo">{{ formobj.billState }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty"><span class="must">*</span> 上架人</div>
<el-form-item prop="upShelfName">
<el-select v-model="formobj.upShelfName" filterable clearable placeholder="请选择"
class="addinputw addinputInfo" @change="allOrgperSelect">
<el-option v-for="item in allOrgperList" :key="item.sid" :label="item.name" :value="item.sid">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">备注</div>
<el-form-item><el-input v-model="formobj.remarks" placeholder="" class="addinputw addinputInfo"
type="textarea" :rows="1" clearable /></el-form-item>
</el-col>
</el-row>
<div class="title">
<div>商品列表</div>
</div>
<el-table v-loading="listLoading" :data="formobj.list" border>
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column fixed label="操作" wid align="center" width="120">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="doGoodsDel(scope.row.goodsSkuSid)">删除</el-button>
</template>
</el-table-column>
<el-table-column label="商品名称" prop="goodsSpuName" align="center" />
<el-table-column label="商品编码" prop="goodsSkuCode" align="center" />
<el-table-column label="规格" prop="goodsSkuOwnSpec" align="center" />
<el-table-column label="单位" prop="unit" align="center" />
<!-- <el-table-column label="仓库" align="center" width="180">
<template slot-scope="scope">
<el-select v-model="scope.row.warehouseName" placeholder="请选择" clearable
@change="selectWarehouseName(scope.row,$event)">
<el-option v-for="(item,i) in warehouseList" :key="i" :label="item.warehouseName" :value="item.sid">
</el-option>
</el-select>
</template>
</el-table-column>
<el-table-column label="库位" align="center" width="180">
<template slot-scope="scope">
<el-select v-model="scope.row.warehouseRackName" :disabled="scope.row.warehouseName==''" clearable
@focus="getWarehouseAreaList(scope.row.warehouseSid)" placeholder="请选择"
@change="selectWarehouseAreaCode(scope.row,$event)">
<el-option v-for="(item,i) in warehouseRackList" :key="i" :label="item.areaCode" :value="item.sid">
</el-option>
</el-select>
</template>
</el-table-column>
<el-table-column label="批次号" prop="batchNumber" align="center" width="300" /> -->
<el-table-column label="需上架数量" align="center">
<template slot-scope="scope">
<el-input ref="focusAssumptionInput" v-model="scope.row.count" clearable placeholder=""
oninput="value=value.replace(/^(0+)|[^\d]+/g,'')" />
</template>
</el-table-column>
<el-table-column label="载具编号" align="center">
<template slot-scope="scope">
<el-input ref="focusAssumptionInput" v-model="scope.row.packageNo" clearable placeholder="" />
</template>
</el-table-column>
</el-table>
</el-form>
</div>
</div>
</template>
<script>
import req from '@/api/storage/receivingGoods.js'
import req2 from '@/api/storage/allocation.js'
import {
getCurrentDate
} from '@/utils/index.js'
import {
selAllByOrgSidPath,
getOrgSidByPath
} from '@/api/Common/dictcommons'
export default {
components: {},
data() {
return {
listLoading: false,
submitdisabled: false,
formobj: {
"sid": "",
"billNo": "",
"createBySid": window.sessionStorage.getItem('userSid'),
"createByName": window.sessionStorage.getItem('name'),
"deptName": '',
"deptSid": '',
"sourceBillNo": "",
"sourceBillSid": "",
"billState": "新建",
"upShelfSid": "",
"upShelfName": '',
"list": [
],
"remarks": "",
'createOrgSid': "",
'useOrgSid': ""
},
hideUploadBtn: false,
busTypeList: [{
name: "业务类型1",
sid: "1"
},
{
name: "业务类型2",
sid: "2"
}
],
supplierList: [],
warehouseList: [],
warehouseRackList: [],
allOrgperList: [],
rules: {
createTime: [{
required: true,
message: '到货日期不能为空',
trigger: 'change'
}],
upShelfName: [{
required: true,
message: '请选择上架人员',
trigger: 'change'
}],
}
}
},
created() {
},
methods: {
getOrgPathSid() {
getOrgSidByPath({
orgPath: window.sessionStorage.getItem('defaultOrgPath')
}).then((res) => {
if (res.success) {
this.formobj.createOrgSid = res.data
this.formobj.useOrgSid = res.data
}
})
},
doGoodsDel(sid) {
console.log("doGoodsDel》》》》", sid)
this.$confirm("是否确定删除此商品?", '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const index = this.formobj.list.findIndex((item) => item.goodsSkuSid === sid)
console.log("index》》》》", index)
this.formobj.list.splice(index, 1)
})
},
indexMethod(index) {
return index + 1
},
saveOrUpdate() {
console.log('>>>>>>>>>saveOrUpdate', this.formobj)
this.submitdisabled = true
this.$refs['form_obj'].validate((valid) => {
if (valid) {
req.saveUpShelf(this.formobj)
.then(resp => {
if (resp.success) {
this.submitdisabled = false
this.$message({
showClose: true,
type: 'success',
message: resp.msg
})
this.handleReturn('true')
} else {
this.submitdisabled = false
// resp.code
}
})
.catch(() => {
this.submitdisabled = false
})
}
})
},
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.formobj = {
"sid": "",
"billNo": "",
"createBySid": window.sessionStorage.getItem('userSid'),
"createByName": window.sessionStorage.getItem('name'),
"createTime": getCurrentDate(),
"deptName": '',
"deptSid": '',
"sourceBillNo": "",
"sourceBillSid": "",
"billState": "新建",
"upShelfSid": "",
"upShelfName": '',
"list": [
],
"remarks": "",
'createOrgSid': "",
'useOrgSid': ""
}
this.$emit('doback')
},
showAdd() {
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
},
showEdit(row) {
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.getWarehouseList()
this.getAllOrgper()
this.getOrgPathSid()
var params = {
sid: row.sid,
orgPath: window.sessionStorage.getItem('defaultOrgPath'),
userSid: window.sessionStorage.getItem('userSid')
}
req.initUpshelf(params)
.then(resp => {
if (resp.success) {
this.formobj = resp.data
this.formobj.deptName = window.sessionStorage.getItem('defaultOrgPathName').substring(window
.sessionStorage.getItem('defaultOrgPathName').lastIndexOf('/') + 1)
this.formobj.deptSid = window.sessionStorage.getItem('defaultOrgPath').substring(window.sessionStorage
.getItem('defaultOrgPath').lastIndexOf('/') + 1)
}
})
.catch(e => {
this.formobj = {}
})
},
getAllOrgper() {
selAllByOrgSidPath({
orgSidPath: window.sessionStorage.getItem('defaultOrgPath')
}).then((res) => {
if (res.success) {
this.allOrgperList = res.data
console.log("aaaaaa", this.allOrgperList);
}
})
},
allOrgperSelect(val) {
console.log("allOrgperSelect", val);
const choose = this.allOrgperList.filter((item) => item.sid == val)
console.log('>>>>>>>>>selectWarehouseName', choose)
this.formobj.upShelfName = choose[0].name
this.formobj.upShelfSid = choose[0].sid
},
getWarehouseList() {
var parpams = {
orgPath: window.sessionStorage.getItem('defaultOrgPath'),
}
req2.getWarehouses(parpams).then((res) => {
if (res.success) {
this.warehouseList = res.data
console.log("aaaaaa", this.warehouseList);
}
})
},
getWarehouseAreaList(sid) {
var query = {
ckSid: sid
}
req2.getWarehouseareas(query).then((res) => {
if (res.success) {
this.warehouseRackList = res.data
console.log("aaaaaa", this.warehouseRackList);
}
})
},
selectWarehouseName(row, val) {
console.log("selectWarehouseName", row);
console.log("selectWarehouseName", val);
const choose = this.warehouseList.filter((item) => item.sid == val)
console.log('>>>>>>>>>selectWarehouseName', choose)
row.warehouseName = choose[0].warehouseName
row.warehouseSid = choose[0].sid
},
selectWarehouseAreaCode(row, val) {
console.log("selectWarehouseAreaCode", val);
const choose = this.warehouseRackList.filter((item) => item.sid == val)
console.log('>>>>>>>>>selectWarehouseAreaCode', choose)
row.warehouseRackName = choose[0].areaCode
row.warehouseRackSid = choose[0].sid
},
}
}
</script>
<style scoped>
/deep/ .el-form-item__error {
margin-left: 120px !important;
}
.must {
color: #f00;
}
.span-sty {
width: 130px !important;
}
.addinputInfo {
margin-left: 120px !important;
}
.formaddcopy02 .el-row .el-col /deep/ .el-form-item .addinputw {
margin-left: 120px !important;
width: calc(100% - 115px);
}
.first_row {
border-top: 1px solid #E0E3EB;
}
.titleOne {
padding: 7px;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
</style>

158
yxt-as-ui/src/views/storage/receivingGoods/upShelfInfo.vue

@ -1,158 +0,0 @@
<template>
<div>
<div class="tab-header webtop">
<!-- 标题 -->
<div>上架单详情</div>
<!-- start 添加修改按钮 -->
<div>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
<!-- end 添加修改按钮 -->
<!-- end 详情按钮 -->
</div>
<div class="listconadd">
<el-form ref="form_obj" :model="formobj" class="formaddcopy02">
<div class="title">
<div>基础信息</div>
</div>
<el-row class="first_row">
<el-col :span="8">
<div class="span-sty">制单人</div>
<el-form-item><span class="addinputInfo">{{ formobj.createByName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">制单部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.deptName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">单据日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.createTime }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">来源单号</div>
<el-form-item><span class="addinputInfo">{{ formobj.sourceBillNo }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">单据状态</div>
<el-form-item><span class="addinputInfo">{{ formobj.billState }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">上架人</div>
<el-form-item><span class="addinputInfo">{{ formobj.upShelfName }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">备注</div>
<el-form-item><span class="addinputInfo">{{ formobj.remarks }}</span></el-form-item>
</el-col>
</el-row>
<div class="title">
<div>商品列表</div>
</div>
<el-table v-loading="listLoading" :data="formobj.list" border>
<el-table-column fixed label="序号" type="index" :index="indexMethod" align="center" width="80" />
<el-table-column fixed label="商品名称" prop="goodsSpuName" align="center" width="200" />
<el-table-column label="商品编码" prop="goodsSkuCode" align="center" />
<el-table-column label="规格" prop="goodsSkuOwnSpec" align="center" />
<el-table-column label="单位" prop="unit" align="center" />
<!-- <el-table-column label="批次号" prop="batchNumber" align="center" />
<el-table-column label="仓库" prop="warehouseName" align="center" />
<el-table-column label="库位" prop="warehouseRackCode" align="center" /> -->
<el-table-column label="需上架数量" prop="count" align="center" />
<el-table-column label="已上架数量" prop="actualCount" align="center" />
<el-table-column label="未上架数量" prop="noShelfCount" align="center" />
<el-table-column label="载具编号" prop="packageNo" align="center" />
</el-table>
</el-form>
</div>
</div>
</template>
<script>
import req from '@/api/storage/upShelf.js'
export default {
components: {},
data() {
return {
listLoading: false,
submitdisabled: false,
formobj: {},
}
},
methods: {
indexMethod(index) {
return index + 1
},
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.$emit('doback2')
},
showAdd() {
},
showEdit(sid) {
req.init(sid)
.then(resp => {
if (resp.success) {
this.formobj = resp.data
}
})
.catch(e => {
this.formobj = {}
})
}
}
}
</script>
<style scoped>
.span-sty {
width: 130px !important;
}
.addinputInfo {
margin-left: 120px !important;
}
.formaddcopy02 .el-row .el-col /deep/ .el-form-item .addinputw {
margin-left: 120px !important;
width: calc(100% - 115px);
}
.first_row {
border-top: 1px solid #E0E3EB;
}
.titleOne {
padding: 7px;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
</style>

527
yxt-as-ui/src/views/storage/upShelf/index.vue

@ -1,7 +1,7 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<div v-show="viewState == 1"> <div v-show="viewState == 1">
<button-bar ref="btnbar" view-title="上架单管理" :btndisabled="btndisabled" @btnhandle="btnHandle" /> <button-bar ref="btnbar" view-title="上架单管理" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<div class="main-content"> <div class="main-content">
<div class="searchcon"> <div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow"> <el-button size="small" class="searchbtn" @click="clicksearchShow">
@ -10,22 +10,19 @@
<div v-show="isSearchShow" class="search"> <div v-show="isSearchShow" class="search">
<el-form :inline="true" class="tab-header"> <el-form :inline="true" class="tab-header">
<el-form-item label="单据编号"> <el-form-item label="单据编号">
<el-input v-model="queryParams.params.billNo" placeholder="" clearable /> <el-input v-model="queryParams.params.billNo" placeholder="" clearable/>
</el-form-item> </el-form-item>
<el-form-item label="单据日期"> <el-form-item label="单据日期">
<el-date-picker v-model="queryParams.params.createTimeStart" type="date" placeholder="选择日期" <el-date-picker v-model="queryParams.params.createTimeStart" type="date" placeholder="选择日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;" />
format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;"> <span style="padding: 0 8px"></span>
</el-date-picker> <el-date-picker v-model="queryParams.params.createTimeEnd" type="date" placeholder="选择日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;" />
<el-date-picker v-model="queryParams.params.createTimeEnd" type="date" placeholder="选择日期"
format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;">
</el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="来源单号"> <el-form-item label="来源单号">
<el-input v-model="queryParams.params.sourceBillNo" placeholder="" clearable /> <el-input v-model="queryParams.params.sourceBillNo" placeholder="" clearable/>
</el-form-item> </el-form-item>
<el-form-item label="单据状态"> <el-form-item label="单据状态">
<el-select v-model="queryParams.params.billState" placeholder="请选择"> <el-select v-model="queryParams.params.billState" placeholder="请选择">
<el-option v-for="(item,i) in billStateList" :key="item.sid" :label="item.name" :value="item.name"> <el-option v-for="item in billStateList" :key="item.sid" :label="item.name" :value="item.name">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -36,317 +33,275 @@
</div> </div>
</div> </div>
</div> </div>
<!-- Start 项目列表头部 -->
<div class="listtop"> <div class="listtop">
<div class="tit">上架单列表</div> <div class="tit">上架单列表</div>
</div> </div>
<!-- End 项目列表头部 -->
<!-- Start 项目列表 -->
<div class=""> <div class="">
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%" <el-table v-loading="tableLoading" :data="dataList" border style="width: 100%" @selection-change="selectionLineChangeHandle">
@selection-change="selectionLineChangeHandle"> <el-table-column fixed width="50" type="selection" align="center"/>
<el-table-column fixed width="50" type="selection" align="center" /> <el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column fixed label="操作" align="center" width="100"> <el-table-column fixed label="操作" align="center" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="primary" size="mini" @click="toRelevancy(scope.row)">查看</el-button> <el-button type="primary" size="mini" @click="toInfo(scope.row)">查看</el-button>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="billNo" label="单据编号" align="center" /> <el-table-column prop="billNo" label="单据编号" align="center"/>
<el-table-column prop="createTime" label="单据日期" align="center" /> <el-table-column prop="createTime" label="单据日期" align="center"/>
<el-table-column prop="createByName" label="制单人" align="center" /> <el-table-column prop="createByName" label="制单人" align="center"/>
<el-table-column prop="sourceBillNo" label="来源单号" align="center" /> <el-table-column prop="sourceBillNo" label="来源单号" align="center"/>
<el-table-column prop="billState" label="单据状态" align="center" /> <el-table-column prop="billState" label="单据状态" align="center"/>
</el-table> </el-table>
</div> </div>
<!-- End 项目列表 --> <!-- End 项目列表 -->
<div class="pages"> <div class="pages">
<div class="tit" /> <div class="tit"/>
<!-- 翻页 --> <!-- 翻页 -->
<pagination v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current" <pagination v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current" :limit.sync="queryParams.size" class="pagination" @pagination="loadList"/>
:limit.sync="queryParams.size" class="pagination" @pagination="loadList" />
</div> </div>
</div> </div>
</div> </div>
<!-- End 查询和其列表部分 --> <!-- End 查询和其列表部分 -->
<!-- 新增修改部分组件 --> <!-- 新增修改部分组件 -->
<divAdd v-show="viewState == 2 || viewState == 3" ref="divadd" @doback="resetState" @reloadlist="loadList" /> <divAdd v-show="viewState == 2 || viewState == 3" ref="divadd" @doback="resetState" @reloadlist="loadList"/>
<divInfo v-show="viewState == 4" ref="divinfo" @doback="resetState" @reloadlist="loadList" /> <divInfo v-show="viewState == 4" ref="divinfo" @doback="resetState" @reloadlist="loadList"/>
</div> </div>
</template> </template>
<script> <script>
import req from '@/api/storage/upShelf.js' import req from '@/api/storage/upShelf.js'
import ButtonBar from '@/components/ButtonBar' import ButtonBar from '@/components/ButtonBar'
import Pagination from '@/components/pagination' import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye' import divAdd from './upShelfAdd.vue'
import divAdd from './upShelfAdd.vue' import divInfo from './upShelfInfo.vue'
import divInfo from './upShelfInfo.vue'
export default { export default {
components: { components: {
ButtonBar, ButtonBar,
Pagination, Pagination,
pageye, divAdd,
divAdd, divInfo
divInfo },
}, data() {
data() { return {
return { btndisabled: false,
formobj: { viewState: 1, // 1 2 3 4
sid: "", isSearchShow: false,
reviewStatus: "", searchxianshitit: '显示查询条件',
remarks: '' tableLoading: false,
dataList: [],
btnList: [
{
type: 'danger',
size: 'small',
icon: 'del',
btnKey: 'doDel',
btnLabel: '删除'
}, },
btndisabled: false, // {
viewState: 1, // 1 2 3 4 // type: 'primary',
isSearchShow: false, // size: 'small',
searchxianshitit: '显示查询条件', // icon: 'plus',
tableLoading: false, // btnKey: 'toAdd',
dataList: [], // btnLabel: ''
btnList: [{ // },
type: 'danger', {
size: 'small', type: 'info',
icon: 'del', size: 'small',
btnKey: 'doDel', icon: 'cross',
btnLabel: '删除' btnKey: 'doClose',
}, btnLabel: '关闭'
{ }
type: 'primary', ],
size: 'small', queryParams: {
icon: 'plus', current: 1,
btnKey: 'toPrintLabel', size: 10,
btnLabel: '打印标签' total: 0,
}, params: {
// { name: '',
// type: 'primary', billNo: '',
// size: 'small', sourceBillNo: '',
// icon: 'plus', createTimestart: '',
// btnKey: 'toAdd', createTimeEnd: '',
// btnLabel: '' billstate: '',
// }, menuUrl: '',
{ orgPath: '',
type: 'info', usersid: ''
size: 'small', }
icon: 'cross', },
btnKey: 'doClose', sids: [],
btnLabel: '关闭' selectionList: [],
} billStateList: [
], {
queryParams: { name: '新建',
current: 1, sid: '0'
size: 10,
total: 0,
params: {
name: '',
billNo: "",
sourceBillNo: "",
createTimestart: '',
createTimeEnd: '',
billstate: '',
menuUrl: '',
orgPath: '',
usersid: ""
}
}, },
sids: [], {
selectionList: [], name: '已完成',
billStateList: [{ sid: '1'
name: "新建", }
sid: "0" ]
}, }
{ },
name: "已完成", mounted() {
sid: "1" this.$refs['btnbar'].setButtonList(this.btnList)
} },
], created() {
sids: [] this.loadList()
} },
methods: {
selectionLineChangeHandle(val) {
this.selectionList = val
const aa = []
val.forEach(element => {
aa.push(element.sid)
})
this.sids = aa
}, },
mounted() { //
this.$refs['btnbar'].setButtonList(this.btnList) clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
}, },
created() { btnHandle(btnKey) {
this.loadList() switch (btnKey) {
case 'doDel':
this.doDel()
break
case 'toAdd':
this.toAdd()
break
case 'doClose':
this.doClose()
break
default:
break
}
}, },
methods: { doDel() {
toPrintLabel() { if (this.sids.length > 0) {
if (this.selectionList.length != 1) { const tip = '请确认是否删除所选 ' + this.sids.length + ' 条记录?'
this.$message({ this.$confirm(tip, '提示', {
type: 'warning', confirmButtonText: '确定',
message: "请选择一条数据。", cancelButtonText: '取消',
showClose: true type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
}) })
return req.deleteBySids(this.sids).then((resp) => {
} loading.close()
}, if (resp.success) {
selectionLineChangeHandle(val) { this.$message({
console.log("val", val); type: 'success',
message: resp.msg,
this.selectionList = val showClose: true
const aa = [] })
val.forEach(element => { this.loadList()
aa.push(element.sid) } else {
}) // resp.code
this.sids = aa }
}).catch(e => {
loading.close()
},
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
switch (btnKey) {
case 'toPrintLabel':
this.toPrintLabel()
break
case 'doDel':
this.doDel()
break
case 'toAdd':
this.toAdd()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
doDel() {
if (this.sids.length > 0) {
const tip = '请确认是否删除所选 ' + this.sids.length + ' 条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.deleteBySids(this.sids).then((resp) => {
loading.close()
if (resp.success) {
this.$message({
type: 'success',
message: resp.msg,
showClose: true
})
this.loadList()
} else {
// resp.code
}
}).catch(e => {
loading.close()
})
}).catch(() => {})
} else {
this.$message({
showClose: true,
message: '请至少选择一条记录进行删除操作'
}) })
}
},
loadList() {
this.tableLoading = true
this.queryParams.params.userSid = window.sessionStorage.getItem('userSid')
this.queryParams.params.orgPath = window.sessionStorage.getItem('defaultOrgPath')
this.queryParams.params.menuUrl = this.$route.path
req.listPage(this.queryParams).then((resp) => {
this.tableLoading = false
if (resp.success) {
const data = resp.data
this.queryParams.total = data.total
this.dataList = data.records
} else {
// resp.code
this.dataList = []
this.queryParams.total = 0
}
}).catch(() => { }).catch(() => {
this.tableLoading = false
}) })
}, } else {
this.$message({
// showClose: true,
indexMethod(index) { message: '请至少选择一条记录进行删除操作'
var pagestart = (this.queryParams.current - 1) * this.queryParams.size })
var pageindex = index + 1 + pagestart }
return pageindex },
}, loadList() {
dosearch() { this.tableLoading = true
this.queryParams.current = 1 this.queryParams.params.userSid = window.sessionStorage.getItem('userSid')
this.loadList() this.queryParams.params.orgPath = window.sessionStorage.getItem('defaultOrgPath')
}, this.queryParams.params.menuUrl = this.$route.path
resetQuery() { req.listPage(this.queryParams).then((resp) => {
this.queryParams = { this.tableLoading = false
current: 1, if (resp.success) {
size: 10, const data = resp.data
total: 0, this.queryParams.total = data.total
params: { this.dataList = data.records
name: '', } else {
billNo: "", // resp.code
sourceBillNo: "", this.dataList = []
createTimestart: '', this.queryParams.total = 0
createTimeEnd: '',
billstate: '',
menuUrl: '',
orgPath: '',
usersid: ""
}
}
this.loadList()
},
toAdd(row) {
if (this.selectionList.length != 1) {
this.$message({
type: 'warning',
message: "请选择一条数据。",
showClose: true
})
return
} }
}).catch(() => {
if (this.selectionList[0].billState == '完成') { this.tableLoading = false
this.$message({ })
type: 'warning', },
message: "此记录已完成,不可操作。", //
showClose: true indexMethod(index) {
}) var pagestart = (this.queryParams.current - 1) * this.queryParams.size
return var pageindex = index + 1 + pagestart
return pageindex
},
dosearch() {
this.queryParams.current = 1
this.loadList()
},
resetQuery() {
this.queryParams = {
current: 1,
size: 10,
total: 0,
params: {
name: '',
billNo: '',
sourceBillNo: '',
createTimestart: '',
createTimeEnd: '',
billstate: '',
menuUrl: '',
orgPath: '',
usersid: ''
} }
}
this.viewState = 2 this.loadList()
this.$refs['divadd'].showEdit(this.selectionList[0]) },
toAdd(row) {
}, if (this.selectionList.length !== 1) {
this.$message({
doClose() { type: 'warning',
this.$store.dispatch('tagsView/delView', this.$route) message: '请选择一条数据。',
this.$router.go(-1) showClose: true
}, })
toRelevancy(row) { return
this.viewState = 4 }
this.$refs['divinfo'].showEdit(row) if (this.selectionList[0].billState === '完成') {
}, this.$message({
type: 'warning',
resetState() { message: '此记录已完成,不可操作。',
this.viewState = 1 showClose: true
}, })
return
}
this.viewState = 2
this.$refs['divadd'].showEdit(this.selectionList[0])
},
toInfo(row) {
this.viewState = 4
this.$refs['divinfo'].showEdit(row)
},
resetState() {
this.viewState = 1
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
} }
} }
}
</script> </script>
<style scoped> <style scoped>
</style> </style>

531
yxt-as-ui/src/views/storage/upShelf/upShelfAdd.vue

@ -1,20 +1,13 @@
<template> <template>
<div> <div class="app-container">
<div class="tab-header webtop"> <div class="tab-header webtop">
<!-- 标题 --> <div>{{ title }}上架单</div>
<div>{{title}}上架单</div>
<!-- start 添加修改按钮 -->
<div> <div>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate">保存</el-button> <el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate">保存</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button> <el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div> </div>
<!-- end 添加修改按钮 -->
<!-- end 详情按钮 -->
</div> </div>
<div class="listconadd"> <div class="listconadd">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02"> <el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<div class="title"> <div class="title">
<div>基础信息</div> <div>基础信息</div>
@ -30,21 +23,19 @@
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">制单人</div> <div class="span-sty">制单人</div>
<el-form-item><el-input v-model="formobj.createByName" placeholder="" class="addinputw addinputInfo" <el-form-item>
clearable /></el-form-item> <el-input v-model="formobj.createByName" placeholder="" class="addinputw addinputInfo" clearable/>
</el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty"><span class="must">*</span> 单据日期</div> <div class="span-sty"><span class="must">*</span>单据日期</div>
<el-form-item prop="createTime"> <el-date-picker v-model="formobj.createTime" type="date" <el-form-item prop="createTime">
class="addinputw addinputInfo" value-format="yyyy-MM-dd" placeholder="选择日期"> <el-date-picker v-model="formobj.createTime" type="date" class="addinputw addinputInfo" value-format="yyyy-MM-dd" placeholder="选择日期">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">来源单号</div> <div class="span-sty">来源单号</div>
<el-form-item><span class="addinputInfo">{{ formobj.sourceBillNo }}</span></el-form-item> <el-form-item><span class="addinputInfo">{{ formobj.sourceBillNo }}</span></el-form-item>
@ -54,371 +45,229 @@
<el-form-item><span class="addinputInfo">{{ formobj.billState }}</span></el-form-item> <el-form-item><span class="addinputInfo">{{ formobj.billState }}</span></el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty"><span class="must">*</span> 上架人</div> <div class="span-sty"><span class="must">*</span>上架人</div>
<el-form-item prop="upShelfName"> <el-form-item prop="upShelfName">
<el-select v-model="formobj.upShelfName" filterable clearable placeholder="请选择" <el-select v-model="formobj.upShelfName" filterable clearable placeholder="请选择" class="addinputw addinputInfo" @change="allOrgperSelect">
class="addinputw addinputInfo" @change="allOrgperSelect">
<el-option v-for="item in allOrgperList" :key="item.sid" :label="item.name" :value="item.sid"> <el-option v-for="item in allOrgperList" :key="item.sid" :label="item.name" :value="item.sid">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<div class="span-sty">备注</div> <div class="span-sty">备注</div>
<el-form-item><el-input v-model="formobj.remarks" placeholder="" class="addinputw addinputInfo" <el-form-item>
clearable /></el-form-item> <el-input v-model="formobj.remarks" placeholder="" class="addinputw addinputInfo" clearable/>
</el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<div class="title">商品列表</div>
<div class="title">
<div>商品列表</div>
</div>
<el-table v-loading="listLoading" :data="formobj.list" border> <el-table v-loading="listLoading" :data="formobj.list" border>
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" /> <el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column fixed label="操作" wid align="center" width="120"> <el-table-column fixed label="操作" wid align="center" width="120">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="primary" size="mini" @click="doGoodsBatch(scope.row)">删除</el-button> <el-button type="primary" size="mini" @click="doGoodsBatch(scope.$index)">删除</el-button>
</template>
</el-table-column>
<el-table-column label="商品名称" prop="goodsSkuTitle" align="center" width="200" />
<el-table-column label="商品编码" prop="goodsSkuCode" align="center" width="150" />
<el-table-column label="规格" prop="goodsSkuOwnSpec" align="center" width="150" />
<el-table-column label="单位" prop="unit" align="center" width="120" />
<!-- <el-table-column label="仓库" align="center" width="180">
<template slot-scope="scope">
<el-select v-model="scope.row.warehouseName" placeholder="请选择" clearable
@change="selectWarehouseName(scope.row,$event)">
<el-option v-for="(item,i) in warehouseList" :key="i" :label="item.warehouseName" :value="item.sid">
</el-option>
</el-select>
</template>
</el-table-column>
<el-table-column label="库位" align="center" width="180">
<template slot-scope="scope">
<el-select v-model="scope.row.warehouseRackName" :disabled="scope.row.warehouseName==''" clearable
@focus="getWarehouseAreaList(scope.row.warehouseSid)" placeholder="请选择"
@change="selectWarehouseAreaCode">
<el-option v-for="(item,i) in warehouseRackList" :key="i" :label="item.areaCode" :value="item.sid">
</el-option>
</el-select>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="批次号" prop="batchNumber" align="center" width="300" /> --> <el-table-column label="商品名称" prop="goodsSkuTitle" align="center" width="200"/>
<el-table-column label="需要上架数量" align="center" width="120"> <el-table-column label="图号" prop="goodsSkuCode" align="center" width="150"/>
<el-table-column label="规格" prop="goodsSkuOwnSpec" align="center" width="150"/>
<el-table-column label="单位" prop="unit" align="center" width="120"/>
<el-table-column label="需上架数量" align="center" width="120">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input ref="focusAssumptionInput" v-model="scope.row.count" clearable placeholder="" <el-input @keyup.native="scope.row.count = getNumber(scope.row.count, 0)" v-model="scope.row.count" clearable placeholder="" @input="inputCount(scope.row)"/>
oninput="value=value.replace(/^(0+)|[^\d]+/g,'')" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="载具编号" align="center" width="180"> <el-table-column label="备注" align="center" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input ref="focusAssumptionInput" v-model="scope.row.packageNo" clearable placeholder="" /> <el-input v-model="scope.row.remarks" clearable placeholder=""/>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</el-form> </el-form>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import req from '@/api/storage/upShelf.js' import req from '@/api/storage/upShelf.js'
import req2 from '@/api/storage/allocation.js' import { getCurrentDate } from '@/utils/index.js'
import { import { selAllByOrgSidPath } from '@/api/Common/dictcommons'
getCurrentDate
} from '@/utils/index.js' export default {
import { data() {
selAllByOrgSidPath return {
} from '@/api/Common/dictcommons' title: '【新增】',
listLoading: false,
export default { submitdisabled: false,
components: {}, formobj: {
data() { sid: '',
return { billNo: '',
title: "【新增】", createBySid: window.sessionStorage.getItem('userSid'),
listLoading: false, createByName: window.sessionStorage.getItem('name'),
submitdisabled: false, createTime: getCurrentDate(),
formobj: { deptName: '',
"sid": "", deptSid: '',
"billNo": "", sourceBillNo: '',
"createBySid": window.sessionStorage.getItem('userSid'), sourceBillSid: '',
"createByName": window.sessionStorage.getItem('name'), billState: '新建',
"createTime": getCurrentDate(), upShelfSid: '',
"deptName": '', upShelfName: '',
"deptSid": '', list: [],
"sourceBillNo": "", remarks: ''
"sourceBillSid": "", },
"billState": "新建", warehouseRackList: [],
"upShelfSid": "", allOrgperList: [],
"upShelfName": '', rules: {
"list": [ createTime: [{ required: true, message: '到货日期不能为空', trigger: 'change' }],
upShelfName: [{ required: true, message: '请选择上架人员', trigger: 'change' }]
], }
"remarks": "" }
}, },
hideUploadBtn: false, methods: {
supplierList: [], getNumber(val, limit) {
warehouseList: [], val = val.replace(/[^0-9.]/g, '') //
warehouseRackList: [], val = val.replace(/^00/, '0.') // 0
// commodity val = val.replace(/^\./g, '0.') // 0.
commodityKey: 1, val = val.replace(/\.{2,}/g, '.') //
commodityLoading: false, val = val.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.'); //
commodityQuery: { /^0\d+/.test(val) ? val = val.slice(1) : '' // 0
current: 1, const str = '^(\\d+)\\.(\\d{' + limit + '}).*$'
size: 2, const reg = new RegExp(str)
total: 0, if (limit === 0) {
params: { //
name: '', val = val.replace(reg, '$1')
inOrg: "", } else {
outOrg: "" //
} val = val.replace(reg, '$1.$2')
},
commodityData: [],
isUpdata: false,
allOrgperList: [],
rules: {
createTime: [{
required: true,
message: '到货日期不能为空',
trigger: 'change'
}],
upShelfName: [{
required: true,
message: '请选择上架人员',
trigger: 'change'
}],
}
} }
return val
}, },
created() {}, indexMethod(index) {
return index + 1
methods: { },
saveOrUpdate() {
indexMethod(index) { if (this.formobj.list.length === 0) {
return index + 1 this.$message({ showClose: true, type: 'error', message: '请添加商品' })
}, return
saveOrUpdate() { }
console.log('>>>>>>>>>saveOrUpdate', this.formobj) for (var i = 0; i < this.formobj.list.length; i++) {
if (parseFloat(this.formobj.list[i].actualCount) === 0 && this.formobj.list[i].actualCount !== '') {
this.$message({ showClose: true, type: 'error', message: '商品上架数量不能为空' })
if (this.formobj.list.length == 0) {
this.$message({
showClose: true,
type: 'error',
message: '请添加商品'
})
return return
} }
}
for (var i = 0; i < this.formobj.list.length; i++) { this.$refs['form_obj'].validate((valid) => {
var item = this.formobj.list[i] if (valid) {
if (item.actualCount == 0) { this.submitdisabled = true
this.$message({ req.save(this.formobj).then((res) => {
showClose: true, if (res.success) {
type: 'error', this.$message({
message: '商品上架数量不能为空' showClose: true,
}) type: 'success',
message: '保存成功'
return })
} this.handleReturn('true')
} else {
}
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
req.save(this.formobj).then((res) => {
if (res.success) {
this.$message({
showClose: true,
type: 'success',
message: '保存成功'
})
this.handleReturn('true')
} else {
this.submitdisabled = false
}
}).catch(() => {
this.submitdisabled = false this.submitdisabled = false
})
}
})
},
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.formobj = {
"sid": "",
"billNo": "",
"createBySid": window.sessionStorage.getItem('userSid'),
"createByName": window.sessionStorage.getItem('name'),
"createTime": getCurrentDate(),
"deptName": '',
"deptSid": '',
"sourceBillNo": "",
"sourceBillSid": "",
"billState": "新建",
"upShelfSid": "",
"upShelfName": '',
"list": [
],
"remarks": ""
}
this.submitdisabled = false
this.$emit('doback')
},
showAdd() {
this.title = "【新增】"
this.getWarehouseList()
this.getAllOrgper()
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
},
showEdit(row) {
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.getWarehouseList()
this.getAllOrgper()
this.title = "【修改】"
var params = {
sid: row.sid
}
req.init(params)
.then(resp => {
if (resp.success) {
this.formobj = resp.data
this.formobj.deptName = window.sessionStorage.getItem('defaultOrgPathName').substring(window
.sessionStorage.getItem('defaultOrgPathName').lastIndexOf('/') + 1)
this.formobj.deptSid = window.sessionStorage.getItem('defaultOrgPath').substring(window.sessionStorage
.getItem('defaultOrgPath').lastIndexOf('/') + 1)
} }
}).catch(() => {
this.submitdisabled = false
}) })
.catch(e => {
this.formobj = {}
})
},
getAllOrgper() {
selAllByOrgSidPath({
orgSidPath: window.sessionStorage.getItem('defaultOrgPath')
}).then((res) => {
if (res.success) {
this.allOrgperList = res.data
console.log("aaaaaa", this.allOrgperList);
}
})
},
allOrgperSelect(val) {
console.log("allOrgperSelect", val);
const choose = this.allOrgperList.filter((item) => item.sid == val)
console.log('>>>>>>>>>selectWarehouseName', choose)
this.formobj.upShelfName = choose[0].name
this.formobj.upShelfSid = choose[0].sid
},
getWarehouseList() {
var parpams = {
orgPath: window.sessionStorage.getItem('defaultOrgPath'),
} }
req2.getWarehouses(parpams).then((res) => { })
if (res.success) { },
this.warehouseList = res.data handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
console.log("aaaaaa", this.warehouseList); this.formobj = {
sid: '',
} billNo: '',
}) createBySid: window.sessionStorage.getItem('userSid'),
}, createByName: window.sessionStorage.getItem('name'),
getWarehouseAreaList(sid) { createTime: getCurrentDate(),
var query = { deptName: '',
ckSid: sid deptSid: '',
sourceBillNo: '',
sourceBillSid: '',
billState: '新建',
upShelfSid: '',
upShelfName: '',
list: [],
remarks: ''
}
this.submitdisabled = false
this.$emit('doback')
},
showAdd() {
this.title = '【新增】'
this.getAllOrgper()
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
},
showEdit(row) {
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.getAllOrgper()
this.title = '【修改】'
req.init({ sid: row.sid }).then(resp => {
if (resp.success) {
this.formobj = resp.data
this.formobj.deptName = window.sessionStorage.getItem('defaultOrgPathName').substring(window.sessionStorage.getItem('defaultOrgPathName').lastIndexOf('/') + 1)
this.formobj.deptSid = window.sessionStorage.getItem('defaultOrgPath').substring(window.sessionStorage.getItem('defaultOrgPath').lastIndexOf('/') + 1)
} }
req2.getWarehouseareas(query).then((res) => { }).catch(e => {
if (res.success) { this.formobj = {}
this.warehouseRackList = res.data })
},
console.log("aaaaaa", this.warehouseRackList); getAllOrgper() {
selAllByOrgSidPath({ orgSidPath: window.sessionStorage.getItem('defaultOrgPath') }).then((res) => {
} if (res.success) {
}) this.allOrgperList = res.data
}, }
selectWarehouseName(row, val) { })
console.log("selectWarehouseName", row); },
console.log("selectWarehouseName", val); allOrgperSelect(val) {
const choose = this.warehouseList.filter((item) => item.sid == val) const choose = this.allOrgperList.filter((item) => item.sid === val)
console.log('>>>>>>>>>selectWarehouseName', choose) this.formobj.upShelfName = choose[0].name
row.warehouseName = choose[0].warehouseName this.formobj.upShelfSid = choose[0].sid
row.warehouseSid = choose[0].sid },
doGoodsBatch(index) {
}, this.formobj.list.splice(index, 1)
selectWarehouseAreaCode(val) { },
console.log("selectWarehouseAreaCode", val); inputCount(row) {
if (row.count !== '' && row.maxCount !== '' && parseFloat(row.count) - parseFloat(row.maxCount) < 0) {
const choose = this.warehouseRackList.filter((item) => item.sid == val) row.count = row.maxCount
console.log('>>>>>>>>>selectWarehouseAreaCode', choose) }
row.warehouseRackName = choose[0].areaCode
row.warehouseRackSid = choose[0].sid
},
} }
} }
}
</script> </script>
<style scoped> <style scoped>
/deep/ .el-form-item__error { /deep/ .el-form-item__error {
margin-left: 120px !important; margin-left: 120px !important;
} }
.must { .must {
color: #f00; color: #f00;
} }
.span-sty { .span-sty {
width: 130px !important; width: 130px !important;
} }
.addinputInfo { .addinputInfo {
margin-left: 120px !important; margin-left: 120px !important;
} }
.formaddcopy02 .el-row .el-col /deep/ .el-form-item .addinputw { .formaddcopy02 .el-row .el-col /deep/ .el-form-item .addinputw {
margin-left: 120px !important; margin-left: 120px !important;
width: calc(100% - 115px); width: calc(100% - 115px);
} }
.first_row { .first_row {
border-top: 1px solid #E0E3EB; border-top: 1px solid #E0E3EB;
} }
.titleOne {
padding: 7px;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
</style> </style>

128
yxt-as-ui/src/views/storage/upShelf/upShelfInfo.vue

@ -1,42 +1,28 @@
<template> <template>
<div> <div class="app-container">
<div class="tab-header webtop"> <div class="tab-header webtop">
<!-- 标题 -->
<div>上架单</div> <div>上架单</div>
<!-- start 添加修改按钮 -->
<div> <div>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button> <el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div> </div>
<!-- end 添加修改按钮 -->
<!-- end 详情按钮 -->
</div> </div>
<div class="listconadd"> <div class="listconadd">
<el-form ref="form_obj" :model="formobj" class="formaddcopy02"> <el-form ref="form_obj" :model="formobj" class="formaddcopy02">
<div class="title">
<div>基础信息</div>
</div>
<el-row class="first_row"> <el-row class="first_row">
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">制单人</div> <div class="span-sty">制单人</div>
<el-form-item><span class="addinputInfo">{{ formobj.createByName }}</span></el-form-item> <el-form-item><span class="addinputInfo">{{ formobj.createByName }}</span></el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">制单部门</div> <div class="span-sty">制单部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.deptName }}</span></el-form-item> <el-form-item><span class="addinputInfo">{{ formobj.deptName }}</span></el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">单据日期</div> <div class="span-sty">单据日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.createTime }}</span></el-form-item> <el-form-item><span class="addinputInfo">{{ formobj.createTime }}</span></el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">来源单号</div> <div class="span-sty">来源单号</div>
<el-form-item><span class="addinputInfo">{{ formobj.sourceBillNo }}</span></el-form-item> <el-form-item><span class="addinputInfo">{{ formobj.sourceBillNo }}</span></el-form-item>
@ -45,117 +31,75 @@
<div class="span-sty">单据状态</div> <div class="span-sty">单据状态</div>
<el-form-item><span class="addinputInfo">{{ formobj.billState }}</span></el-form-item> <el-form-item><span class="addinputInfo">{{ formobj.billState }}</span></el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">上架人</div> <div class="span-sty">上架人</div>
<el-form-item><span class="addinputInfo">{{ formobj.upShelfName }}</span></el-form-item> <el-form-item><span class="addinputInfo">{{ formobj.upShelfName }}</span></el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<div class="span-sty">备注</div> <div class="span-sty">备注</div>
<el-form-item><span class="addinputInfo">{{ formobj.remarks }}</span></el-form-item> <el-form-item><span class="addinputInfo">{{ formobj.remarks }}</span></el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<div class="title">商品列表</div>
<div class="title">
<div>商品列表</div>
</div>
<el-table v-loading="listLoading" :data="formobj.list" border> <el-table v-loading="listLoading" :data="formobj.list" border>
<el-table-column fixed label="序号" type="index" :index="indexMethod" align="center" width="80" /> <el-table-column fixed label="序号" type="index" :index="indexMethod" align="center" width="80" />
<el-table-column fixed label="商品名称" prop="goodsSpuName" align="center" width="200" /> <el-table-column fixed label="商品名称" prop="goodsSpuName" align="center" width="200" />
<el-table-column label="商品编码" prop="goodsSkuCode" align="center" /> <el-table-column label="图号" prop="goodsSkuCode" align="center" />
<el-table-column label="规格" prop="goodsSkuOwnSpec" align="center" /> <el-table-column label="规格" prop="goodsSkuOwnSpec" align="center" />
<el-table-column label="单位" prop="unit" align="center" /> <el-table-column label="单位" prop="unit" align="center" />
<!-- <el-table-column label="批次号" prop="batchNumber" align="center" />
<el-table-column label="仓库" prop="warehouseName" align="center" />
<el-table-column label="库位" prop="warehouseRackCode" align="center" /> -->
<el-table-column label="需上架数量" prop="count" align="center" /> <el-table-column label="需上架数量" prop="count" align="center" />
<el-table-column label="已上架数量" prop="actualCount" align="center" /> <el-table-column label="已上架数量" prop="actualCount" align="center" />
<el-table-column label="未上架数量" prop="noShelfCount" align="center" /> <el-table-column label="未上架数量" prop="noShelfCount" align="center" />
<el-table-column label="载具编号" prop="packageNo" align="center" /> <el-table-column label="备注" prop="remarks" align="center" />
</el-table> </el-table>
</el-form> </el-form>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import req from '@/api/storage/upShelf.js' import req from '@/api/storage/upShelf.js'
export default { export default {
components: {}, data() {
data() { return {
return { listLoading: false,
listLoading: false, formobj: {}
submitdisabled: false, }
formobj: {}, },
} methods: {
indexMethod(index) {
return index + 1
}, },
methods: {
indexMethod(index) {
return index + 1
},
handleReturn(isreload) { handleReturn() {
if (isreload === 'true') this.$emit('reloadlist') this.formobj = {}
this.$emit('doback') this.$emit('doback')
}, },
showEdit(row) {
showAdd() { req.init(row.sid).then(resp => {
if (resp.success) {
}, this.formobj = resp.data
showEdit(row) {
var params = {
sid: row.sid
} }
req.init(row.sid) }).catch(e => {
.then(resp => { this.formobj = {}
if (resp.success) { })
this.formobj = resp.data
}
})
.catch(e => {
this.formobj = {}
})
}
} }
} }
}
</script> </script>
<style scoped> <style scoped>
.span-sty { .span-sty {
width: 130px !important; width: 130px !important;
} }
.addinputInfo {
margin-left: 120px !important;
}
.formaddcopy02 .el-row .el-col /deep/ .el-form-item .addinputw { .addinputInfo {
margin-left: 120px !important; margin-left: 120px !important;
width: calc(100% - 115px); }
}
.first_row { .first_row {
border-top: 1px solid #E0E3EB; border-top: 1px solid #E0E3EB;
} }
.titleOne {
padding: 7px;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
</style> </style>

12
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbillsettelapply/AsBillSettelApplyService.java

@ -790,14 +790,17 @@ public class AsBillSettelApplyService extends MybatisBaseService<AsBillSettelApp
flowNodeQuery.setParameter("销售价折扣"); flowNodeQuery.setParameter("销售价折扣");
flowNodeQuery.setValue(discountC); flowNodeQuery.setValue(discountC);
boolean f0 = sysFlowPowerFeign.flowPermissions(flowNodeQuery); boolean f0 = sysFlowPowerFeign.flowPermissions(flowNodeQuery);
flowNodeQuery.setType(1);
flowNodeQuery.setNodeNames("发起申请"); flowNodeQuery.setNodeNames("发起申请");
flowNodeQuery.setParameter("优惠金额"); flowNodeQuery.setParameter("优惠金额");
flowNodeQuery.setValue(discountAmountC); flowNodeQuery.setValue(discountAmountC);
boolean f1 = sysFlowPowerFeign.flowPermissions(flowNodeQuery); boolean f1 = sysFlowPowerFeign.flowPermissions(flowNodeQuery);
flowNodeQuery.setType(0);
flowNodeQuery.setNodeNames("前台主管审批"); flowNodeQuery.setNodeNames("前台主管审批");
flowNodeQuery.setParameter("销售价折扣"); flowNodeQuery.setParameter("销售价折扣");
flowNodeQuery.setValue(discountC); flowNodeQuery.setValue(discountC);
boolean f2 = sysFlowPowerFeign.flowPermissions(flowNodeQuery); boolean f2 = sysFlowPowerFeign.flowPermissions(flowNodeQuery);
flowNodeQuery.setType(0);
flowNodeQuery.setNodeNames("自有二级站长审批"); flowNodeQuery.setNodeNames("自有二级站长审批");
flowNodeQuery.setParameter("销售价折扣"); flowNodeQuery.setParameter("销售价折扣");
flowNodeQuery.setValue(discountC); flowNodeQuery.setValue(discountC);
@ -841,15 +844,17 @@ public class AsBillSettelApplyService extends MybatisBaseService<AsBillSettelApp
flowNodeQuery.setParameter("销售价折扣"); flowNodeQuery.setParameter("销售价折扣");
flowNodeQuery.setValue(discountC); flowNodeQuery.setValue(discountC);
boolean f0 = sysFlowPowerFeign.flowPermissions(flowNodeQuery); boolean f0 = sysFlowPowerFeign.flowPermissions(flowNodeQuery);
flowNodeQuery.setType(1);
flowNodeQuery.setNodeNames("发起申请"); flowNodeQuery.setNodeNames("发起申请");
flowNodeQuery.setParameter("优惠金额"); flowNodeQuery.setParameter("优惠金额");
flowNodeQuery.setValue(discountAmountC); flowNodeQuery.setValue(discountAmountC);
boolean f1 = sysFlowPowerFeign.flowPermissions(flowNodeQuery); boolean f1 = sysFlowPowerFeign.flowPermissions(flowNodeQuery);
flowNodeQuery.setType(0);
flowNodeQuery.setNodeNames("前台主管审批"); flowNodeQuery.setNodeNames("前台主管审批");
flowNodeQuery.setParameter("销售价折扣"); flowNodeQuery.setParameter("销售价折扣");
flowNodeQuery.setValue(discountC); flowNodeQuery.setValue(discountC);
boolean f2 = sysFlowPowerFeign.flowPermissions(flowNodeQuery); boolean f2 = sysFlowPowerFeign.flowPermissions(flowNodeQuery);
flowNodeQuery.setType(0);
flowNodeQuery.setNodeNames("自有二级站长审批"); flowNodeQuery.setNodeNames("自有二级站长审批");
flowNodeQuery.setParameter("销售价折扣"); flowNodeQuery.setParameter("销售价折扣");
flowNodeQuery.setValue(discountC); flowNodeQuery.setValue(discountC);
@ -2434,7 +2439,7 @@ public class AsBillSettelApplyService extends MybatisBaseService<AsBillSettelApp
cost = new BigDecimal(s.getGoodsCost()); cost = new BigDecimal(s.getGoodsCost());
} }
SysFlowNodeQuery flowNodeQuery = new SysFlowNodeQuery(); SysFlowNodeQuery flowNodeQuery = new SysFlowNodeQuery();
flowNodeQuery.setType(0); flowNodeQuery.setType(1);
flowNodeQuery.setFlowName("商品配件销售结算申请"); flowNodeQuery.setFlowName("商品配件销售结算申请");
flowNodeQuery.setCreateOrgName(vo.getUseOrgName()); flowNodeQuery.setCreateOrgName(vo.getUseOrgName());
flowNodeQuery.setProcDefId("process_q2p7s958752"); flowNodeQuery.setProcDefId("process_q2p7s958752");
@ -2442,14 +2447,17 @@ public class AsBillSettelApplyService extends MybatisBaseService<AsBillSettelApp
flowNodeQuery.setParameter("优惠金额"); flowNodeQuery.setParameter("优惠金额");
flowNodeQuery.setValue(discountAmountC); flowNodeQuery.setValue(discountAmountC);
boolean f0 = sysFlowPowerFeign.flowPermissions(flowNodeQuery); boolean f0 = sysFlowPowerFeign.flowPermissions(flowNodeQuery);
flowNodeQuery.setType(0);
flowNodeQuery.setNodeNames("发起申请"); flowNodeQuery.setNodeNames("发起申请");
flowNodeQuery.setParameter("销售价折扣"); flowNodeQuery.setParameter("销售价折扣");
flowNodeQuery.setValue(discountC); flowNodeQuery.setValue(discountC);
boolean f1 = sysFlowPowerFeign.flowPermissions(flowNodeQuery); boolean f1 = sysFlowPowerFeign.flowPermissions(flowNodeQuery);
flowNodeQuery.setType(0);
flowNodeQuery.setNodeNames("配件主管审批"); flowNodeQuery.setNodeNames("配件主管审批");
flowNodeQuery.setParameter("销售价折扣"); flowNodeQuery.setParameter("销售价折扣");
flowNodeQuery.setValue(discountC); flowNodeQuery.setValue(discountC);
boolean f2 = sysFlowPowerFeign.flowPermissions(flowNodeQuery); boolean f2 = sysFlowPowerFeign.flowPermissions(flowNodeQuery);
flowNodeQuery.setType(0);
flowNodeQuery.setNodeNames("自有二级站长审批"); flowNodeQuery.setNodeNames("自有二级站长审批");
flowNodeQuery.setParameter("销售价折扣"); flowNodeQuery.setParameter("销售价折扣");
flowNodeQuery.setValue(discountC); flowNodeQuery.setValue(discountC);

17
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybill/AsBusrepairInventorybillService.java

@ -76,6 +76,7 @@ public class AsBusrepairInventorybillService extends MybatisBaseService<AsBusrep
private AsBusrepairBillNodeService asBusrepairBillNodeService; private AsBusrepairBillNodeService asBusrepairBillNodeService;
@Autowired @Autowired
private WmsInventoryRecordFeign wmsInventoryRecordFeign; private WmsInventoryRecordFeign wmsInventoryRecordFeign;
/** /**
* 维修出/退库分页列表 * 维修出/退库分页列表
* *
@ -297,7 +298,7 @@ public class AsBusrepairInventorybillService extends MybatisBaseService<AsBusrep
} }
if (count.compareTo(BigDecimal.ZERO) > 0) { if (count.compareTo(BigDecimal.ZERO) > 0) {
AsBusrepairInventorybillDetail detail = new AsBusrepairInventorybillDetail(); AsBusrepairInventorybillDetail detail = new AsBusrepairInventorybillDetail();
BeanUtil.copyProperties(sDto, detail,"id","sid"); BeanUtil.copyProperties(sDto, detail, "id", "sid");
if (isEnable == 1) { if (isEnable == 1) {
detail.setCurrentCount(count); detail.setCurrentCount(count);
} else if (isEnable == 2) { } else if (isEnable == 2) {
@ -307,10 +308,15 @@ public class AsBusrepairInventorybillService extends MybatisBaseService<AsBusrep
BigDecimal discount = BigDecimal.ZERO;//折扣 BigDecimal discount = BigDecimal.ZERO;//折扣
BigDecimal cost = BigDecimal.ZERO;//成本单价 BigDecimal cost = BigDecimal.ZERO;//成本单价
BigDecimal price = BigDecimal.ZERO;// 单价 BigDecimal price = BigDecimal.ZERO;// 单价
BigDecimal amountBefore = BigDecimal.ZERO;//退货之前材料费
BigDecimal amountSub = BigDecimal.ZERO;//退货后材料费差额
if (null != detailUpdate) { if (null != detailUpdate) {
if (null != detailUpdate.getCurrentCount()) { if (null != detailUpdate.getCurrentCount()) {
currentCount = detailUpdate.getCurrentCount(); currentCount = detailUpdate.getCurrentCount();
} }
if (null != detailUpdate.getAmount()) {
amountBefore = detailUpdate.getAmount();
}
if (null != detailUpdate.getDiscount()) { if (null != detailUpdate.getDiscount()) {
discount = new BigDecimal(detailUpdate.getDiscount()).multiply(new BigDecimal("0.1")); discount = new BigDecimal(detailUpdate.getDiscount()).multiply(new BigDecimal("0.1"));
} }
@ -332,6 +338,15 @@ public class AsBusrepairInventorybillService extends MybatisBaseService<AsBusrep
if (StringUtils.isNotBlank(sDto.getReturnAmount())) { if (StringUtils.isNotBlank(sDto.getReturnAmount())) {
detail.setAmount(new BigDecimal(sDto.getReturnAmount())); detail.setAmount(new BigDecimal(sDto.getReturnAmount()));
} }
//退货后修改维修单应收实收材料费
amountSub = amountBefore.subtract(priceSubtract);
BigDecimal receivableAmount = asBusrepairBill.getReceivableAmount();
BigDecimal actualAmount = asBusrepairBill.getActualAmount();
BigDecimal goodsAmount = asBusrepairBill.getGoodsAmount();
asBusrepairBill.setReceivableAmount(receivableAmount.subtract(amountSub));
asBusrepairBill.setActualAmount(actualAmount.subtract(amountSub));
asBusrepairBill.setGoodsAmount(goodsAmount.subtract(amountSub));
asBusrepairBillService.updateById(asBusrepairBill);
} }
} }
detail.setBillSid(entity.getSid()); detail.setBillSid(entity.getSid());

5
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsansbill/WmsAnsBillMapper.xml

@ -48,9 +48,10 @@
wab.supplierName, wab.supplierName,
DATE_FORMAT(wab.deliveryDate, '%Y-%m-%d') as deliveryDate, DATE_FORMAT(wab.deliveryDate, '%Y-%m-%d') as deliveryDate,
case wab.billState when 0 then '在途' when 1 then '部分收货' case wab.billState when 0 then '在途' when 1 then '部分收货'
when 2 then '已收货' when 3 then '已取消' when 2 then '已收货' when 3 then '已收货(部分终止)'
end as billState, end as billState,
wab.reviewStatus wab.reviewStatus,
wab.manufactorBillNo
from wms_ans_bill wab from wms_ans_bill wab
where sid = #{sid} where sid = #{sid}
</select> </select>

6
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsansbill/WmsAnsBillService.java

@ -9,11 +9,7 @@ import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo; import com.yxt.common.core.vo.PagerVo;
import com.yxt.wms.biz.base.wmswarehousearea.WmsWarehouseAreaVo;
import com.yxt.wms.biz.inventory.wmsansbilldetail.*; import com.yxt.wms.biz.inventory.wmsansbilldetail.*;
import com.yxt.wms.biz.inventory.wmsreceiptbill.WmsReceiptBill;
import com.yxt.wms.biz.inventory.wmsreceiptbill.WmsReceiptBillQuery;
import com.yxt.wms.biz.inventory.wmsreceiptbill.WmsReceiptBillVo;
import com.yxt.wms.feign.portal.privilege.PrivilegeQuery; import com.yxt.wms.feign.portal.privilege.PrivilegeQuery;
import com.yxt.wms.feign.portal.sysorganization.SysOrganizationFeign; import com.yxt.wms.feign.portal.sysorganization.SysOrganizationFeign;
import com.yxt.wms.feign.portal.sysorganization.SysOrganizationVo; import com.yxt.wms.feign.portal.sysorganization.SysOrganizationVo;
@ -83,7 +79,7 @@ public class WmsAnsBillService extends MybatisBaseService<WmsAnsBillMapper, WmsA
String orgCode = resultBean1.getData().getOrgCode(); String orgCode = resultBean1.getData().getOrgCode();
BillNo b = new BillNo(); BillNo b = new BillNo();
b.setOrgCode(orgCode); b.setOrgCode(orgCode);
b.setBillType("YGDHTZD"); b.setBillType("YQDHTZD");
String bill = Rule.getBill(b); String bill = Rule.getBill(b);
String i = baseMapper.selectNum(bill); String i = baseMapper.selectNum(bill);
String billNo = ""; String billNo = "";

2
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsansbill/WmsAnsDetailsVo.java

@ -5,7 +5,6 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
@ -35,6 +34,7 @@ public class WmsAnsDetailsVo {
//单据状态 //单据状态
private String billState; private String billState;
private String manufactorBillNo; //厂家订单号
@ApiModelProperty("审核状态(待审核、审核通过、审核拒绝)") @ApiModelProperty("审核状态(待审核、审核通过、审核拒绝)")
private String reviewStatus; private String reviewStatus;

7
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbill/WmsReceiptBillService.java

@ -2,7 +2,6 @@ package com.yxt.wms.biz.inventory.wmsreceiptbill;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.service.MybatisBaseService;
@ -13,26 +12,21 @@ import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo; import com.yxt.common.core.vo.PagerVo;
import com.yxt.wms.biz.inventory.wmsansbill.WmsAnsBill; import com.yxt.wms.biz.inventory.wmsansbill.WmsAnsBill;
import com.yxt.wms.biz.inventory.wmsansbill.WmsAnsBillService; import com.yxt.wms.biz.inventory.wmsansbill.WmsAnsBillService;
import com.yxt.wms.biz.inventory.wmsansbill.WmsAnsBillVo;
import com.yxt.wms.biz.inventory.wmsansbilldetail.WmsAnsBillDetail; import com.yxt.wms.biz.inventory.wmsansbilldetail.WmsAnsBillDetail;
import com.yxt.wms.biz.inventory.wmsansbilldetail.WmsAnsBillDetailService; import com.yxt.wms.biz.inventory.wmsansbilldetail.WmsAnsBillDetailService;
import com.yxt.wms.biz.inventory.wmsansbilldetail.WmsAnsListDetailsVo; import com.yxt.wms.biz.inventory.wmsansbilldetail.WmsAnsListDetailsVo;
import com.yxt.wms.biz.inventory.wmsreceiptbilldetail.*; import com.yxt.wms.biz.inventory.wmsreceiptbilldetail.*;
import com.yxt.wms.biz.inventory.wmsreceiptbilldetailbatch.WmsReceiptBillDetailBatch;
import com.yxt.wms.biz.inventory.wmsreceiptbilldetailbatch.WmsReceiptBillDetailBatchDto2; import com.yxt.wms.biz.inventory.wmsreceiptbilldetailbatch.WmsReceiptBillDetailBatchDto2;
import com.yxt.wms.biz.inventory.wmsreceiptbilldetailbatch.WmsReceiptBillDetailBatchMapper; import com.yxt.wms.biz.inventory.wmsreceiptbilldetailbatch.WmsReceiptBillDetailBatchMapper;
import com.yxt.wms.biz.inventory.wmsreceiptbilldetailbatch.WmsReceiptBillDetailBatchService; import com.yxt.wms.biz.inventory.wmsreceiptbilldetailbatch.WmsReceiptBillDetailBatchService;
import com.yxt.wms.biz.inventory.wmsshelfbill.ShelfInitVo;
import com.yxt.wms.biz.inventory.wmsshelfbill.WmsShelfBillDto; import com.yxt.wms.biz.inventory.wmsshelfbill.WmsShelfBillDto;
import com.yxt.wms.biz.inventory.wmsshelfbill.WmsShelfBillService; import com.yxt.wms.biz.inventory.wmsshelfbill.WmsShelfBillService;
import com.yxt.wms.biz.inventory.wmsshelfbilldetail.ShelfInitListVo;
import com.yxt.wms.biz.inventory.wmsshelfbilldetail.WmsShelfBillDetailDto; import com.yxt.wms.biz.inventory.wmsshelfbilldetail.WmsShelfBillDetailDto;
import com.yxt.wms.biz.inventory.wmsshelfbilldetail.WmsShelfBillDetailService; import com.yxt.wms.biz.inventory.wmsshelfbilldetail.WmsShelfBillDetailService;
import com.yxt.wms.feign.portal.privilege.PrivilegeQuery; import com.yxt.wms.feign.portal.privilege.PrivilegeQuery;
import com.yxt.wms.feign.portal.sysorganization.SysOrganizationFeign; import com.yxt.wms.feign.portal.sysorganization.SysOrganizationFeign;
import com.yxt.wms.feign.portal.sysorganization.SysOrganizationVo; import com.yxt.wms.feign.portal.sysorganization.SysOrganizationVo;
import com.yxt.wms.feign.portal.sysuser.SysUserFeign; import com.yxt.wms.feign.portal.sysuser.SysUserFeign;
import com.yxt.wms.feign.portal.sysuser.SysUserVo;
import com.yxt.wms.utils.BillNo; import com.yxt.wms.utils.BillNo;
import com.yxt.wms.utils.Rule; import com.yxt.wms.utils.Rule;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -40,7 +34,6 @@ import org.springframework.stereotype.Service;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
/** /**
* @description: * @description:

3
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbilldetail/WmsReceiptBillDetailDto2.java

@ -4,8 +4,6 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal;
/** /**
* @description: * @description:
* @author: dimengzhe * @author: dimengzhe
@ -72,4 +70,5 @@ public class WmsReceiptBillDetailDto2 {
private String shelfLife; private String shelfLife;
@ApiModelProperty("已分配数量 ") @ApiModelProperty("已分配数量 ")
private String allotmentNum; private String allotmentNum;
private String maxCount;
} }

6
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbilldetail/WmsReceiptBillDetailVo.java

@ -1,13 +1,8 @@
package com.yxt.wms.biz.inventory.wmsreceiptbilldetail; package com.yxt.wms.biz.inventory.wmsreceiptbilldetail;
import com.yxt.wms.biz.inventory.wmsreceiptbilldetailbatch.WmsReceiptBillDetailBatchDto;
import com.yxt.wms.biz.inventory.wmsreceiptbilldetailbatch.WmsReceiptBillDetailBatchVo;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/** /**
* @description: * @description:
* @author: dimengzhe * @author: dimengzhe
@ -65,6 +60,7 @@ public class WmsReceiptBillDetailVo {
private Integer shelfLife; private Integer shelfLife;
@ApiModelProperty("预约数量(采购订单数量)") @ApiModelProperty("预约数量(采购订单数量)")
private String orderCount; private String orderCount;
private String maxCount;

1
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillService.java

@ -546,6 +546,7 @@ public class WmsShelfBillService extends MybatisBaseService<WmsShelfBillMapper,
} }
BigDecimal subtract = actualInCount.subtract(shelfCount); BigDecimal subtract = actualInCount.subtract(shelfCount);
shelfInitListVo.setCount(subtract.toString()); shelfInitListVo.setCount(subtract.toString());
shelfInitListVo.setMaxCount(subtract.toString());
// shelfInitListVo.setBatchNumber(wmsReceiptBillDetailBatch.getBatchNumber()); // shelfInitListVo.setBatchNumber(wmsReceiptBillDetailBatch.getBatchNumber());
// shelfInitListVo.setWarehouseSid(v.getWarehouseSid()); // shelfInitListVo.setWarehouseSid(v.getWarehouseSid());
// shelfInitListVo.setWarehouseRackSid(v.getWarehouseRackSid()); // shelfInitListVo.setWarehouseRackSid(v.getWarehouseRackSid());

4
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/app/AppDetailsVo.java

@ -59,8 +59,8 @@ public class AppDetailsVo {
private String count; private String count;
@ApiModelProperty("已上/未上架数量") @ApiModelProperty("已上/未上架数量")
private String actualNoCount; private String actualNoCount;
//载具编号 //备注
private String packageNo; private String remarks;
} }

4
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbilldetail/ShelfDetailsListVo.java

@ -45,8 +45,8 @@ public class ShelfDetailsListVo implements Vo {
private String warehouseRackName; private String warehouseRackName;
//已上架数量 //已上架数量
private String actualCount; private String actualCount;
//载具编号 //备注
private String packageNo; private String remarks;
} }

8
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbilldetail/ShelfInitListVo.java

@ -3,8 +3,6 @@ package com.yxt.wms.biz.inventory.wmsshelfbilldetail;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal;
/** /**
* @description: * @description:
* @author: dimengzhe * @author: dimengzhe
@ -37,6 +35,8 @@ public class ShelfInitListVo {
private String actualCount; private String actualCount;
@ApiModelProperty("未上架数量") @ApiModelProperty("未上架数量")
private String noShelfCount; private String noShelfCount;
@ApiModelProperty("载具编号") @ApiModelProperty("备注")
private String packageNo; private String remarks;
@ApiModelProperty("上架数量最大值")
private String maxCount;
} }

4
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbilldetail/WmsShelfBillDetail.java

@ -37,7 +37,7 @@ public class WmsShelfBillDetail extends BaseEntity {
private BigDecimal count; private BigDecimal count;
@ApiModelProperty("已上架数量(根据上架记录计算)") @ApiModelProperty("已上架数量(根据上架记录计算)")
private BigDecimal actualCount; private BigDecimal actualCount;
@ApiModelProperty("载具编号") @ApiModelProperty("备注")
private String packageNo; private String remarks;
} }

6
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbilldetail/WmsShelfBillDetailDto.java

@ -3,8 +3,6 @@ package com.yxt.wms.biz.inventory.wmsshelfbilldetail;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal;
/** /**
* @description: * @description:
* @author: dimengzhe * @author: dimengzhe
@ -35,7 +33,7 @@ public class WmsShelfBillDetailDto {
private String count; private String count;
@ApiModelProperty("已上架数量(根据上架记录计算)") @ApiModelProperty("已上架数量(根据上架记录计算)")
private String actualCount; private String actualCount;
@ApiModelProperty("载具编号") @ApiModelProperty("备注")
private String packageNo; private String remarks;
} }

Loading…
Cancel
Save