Browse Source

维修单结算

master
fanzongzhe 5 months ago
parent
commit
e197bca243
  1. 24
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysflowpower/SysFlowNodeQuery.java
  2. 13
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysflowpower/SysFlowPowerFeign.java
  3. 11
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysflowpower/SysFlowPowerRest.java
  4. 41
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysflowpower/SysFlowPowerService.java
  5. 26
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbillsettelapply/AsBillSettelApply.java
  6. 1
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbillsettelapply/AsBillSettelApplyDetailsVo.java
  7. 35
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbillsettelapplyaitem/AsBillSettelApplyAitem.java
  8. 2
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbillsettelapplyaitemspec/AsBillSettelApplyAitemspec.java
  9. 1
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbillsettelapplydetail/AsBillSettelApplyDetail.java
  10. 2
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbillsettelapply/AsBillSettelApplyMapper.java
  11. 8
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbillsettelapply/AsBillSettelApplyMapper.xml
  12. 1324
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbillsettelapply/AsBillSettelApplyService.java
  13. 21
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java
  14. 21
      yxt-as/src/main/java/com/yxt/anrui/as/feign/portal/sysflowpower/SysFlowNodeQuery.java
  15. 61
      yxt-as/src/main/java/com/yxt/anrui/as/feign/portal/sysflowpower/SysFlowPowerFeign.java
  16. 41
      yxt-as/src/main/java/com/yxt/anrui/as/feign/portal/sysrole/SysRoleFeign.java
  17. 47
      yxt-as/src/main/java/com/yxt/anrui/as/feign/portal/sysrole/SysRoleVo.java

24
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysflowpower/SysFlowNodeQuery.java

@ -0,0 +1,24 @@
package com.yxt.anrui.portal.api.sysflowpower;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @author Fan
* @description
* @date 2024/11/27 14:49
*/
@Data
public class SysFlowNodeQuery {
private String flowName;//流程申请名称
private String createOrgName;//分公司
private String procDefId;//流程定义id
private String nodeNames;//环节名称
private String parameter;//参数名称
private String value;//值
private int type; //比较类型 0是否小于权限范围 1是否大于权限范围
}

13
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysflowpower/SysFlowPowerFeign.java

@ -64,14 +64,21 @@ public interface SysFlowPowerFeign {
@PostMapping("/save")
@ResponseBody
public ResultBean save(@RequestBody SysFlowPowerDto dto);
@ApiOperation("根据sid删除记录")
@DeleteMapping("/delBySids")
@ResponseBody
public ResultBean delBySids(@RequestParam("sid") String sid);
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
@ResponseBody
public ResultBean<SysFlowPowerDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid);
}
@ApiOperation("审批权限校验")
@PostMapping("/flowPermissions")
public boolean flowPermissions(@RequestBody SysFlowNodeQuery query);
}

11
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysflowpower/SysFlowPowerRest.java

@ -25,6 +25,7 @@
*********************************************************/
package com.yxt.anrui.portal.biz.sysflowpower;
import com.yxt.anrui.portal.api.sysflowpower.*;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
@ -34,11 +35,6 @@ import org.springframework.web.bind.annotation.*;
import java.util.List;
import com.yxt.anrui.portal.api.sysflowpower.SysFlowPowerVo;
import com.yxt.anrui.portal.api.sysflowpower.SysFlowPowerDetailsVo;
import com.yxt.anrui.portal.api.sysflowpower.SysFlowPowerDto;
import com.yxt.anrui.portal.api.sysflowpower.SysFlowPowerFeign;
/**
* Project: anrui-portal(流程权限) <br/>
* File: SysFlowPowerFeignFallback.java <br/>
@ -93,4 +89,9 @@ public class SysFlowPowerRest implements SysFlowPowerFeign {
SysFlowPowerDetailsVo vo = sysFlowPowerService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo);
}
@Override
public boolean flowPermissions(SysFlowNodeQuery query) {
return sysFlowPowerService.flowPermissions(query);
}
}

41
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysflowpower/SysFlowPowerService.java

@ -28,6 +28,7 @@ package com.yxt.anrui.portal.biz.sysflowpower;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.portal.api.sysflowpower.*;
import com.yxt.anrui.portal.api.sysflowpowerdetail.SysFlowPowerDetailDetailsVo;
import com.yxt.anrui.portal.api.sysflowpowerdetail.SysFlowPowerDetailDto;
import com.yxt.anrui.portal.biz.sysflowpowerdetail.SysFlowPowerDetailService;
@ -38,14 +39,11 @@ import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.anrui.portal.api.sysflowpower.SysFlowPower;
import com.yxt.anrui.portal.api.sysflowpower.SysFlowPowerVo;
import com.yxt.anrui.portal.api.sysflowpower.SysFlowPowerDetailsVo;
import com.yxt.anrui.portal.api.sysflowpower.SysFlowPowerDto;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@ -140,4 +138,37 @@ public class SysFlowPowerService extends MybatisBaseService<SysFlowPowerMapper,
String[] sids = StringUtils.stripAll(sid);
delBySids(sids);
}
}
public boolean flowPermissions(SysFlowNodeQuery query) {
List<SysFlowPowerVo> sysFlowPowerVoList = baseMapper.selectPageVo(query.getProcDefId());
if (!sysFlowPowerVoList.isEmpty()) {
for (SysFlowPowerVo sysFlowPowerVo : sysFlowPowerVoList) {
if (sysFlowPowerVo.getFlowName().equals(query.getFlowName())) {
if (sysFlowPowerVo.getUseOrgNames().contains(query.getCreateOrgName())) {
String sid = sysFlowPowerVo.getSid();
SysFlowPowerDetailsVo vo = fetchDetailsVoBySid(sid);
if (null != vo) {
List<SysFlowPowerDetailDetailsVo> detailList = vo.getSysFlowPowerDetailList();
for (SysFlowPowerDetailDetailsVo d : detailList) {
if (d.getTaskDefName().equals(query.getNodeNames()) && d.getParamName().equals(query.getParameter())) {
BigDecimal powerRange = new BigDecimal(d.getPowerRange());
BigDecimal value = new BigDecimal(query.getValue());
if (query.getType() == 0) {
if (value.compareTo(powerRange) < 0) {
return true;
}
} else if (query.getType() == 1) {
if (value.compareTo(powerRange) > 0) {
return true;
}
}
}
}
}
}
}
}
}
return false;
}
}

26
yxt-as/src/main/java/com/yxt/anrui/as/api/asbillsettelapply/AsBillSettelApply.java

@ -93,4 +93,30 @@ public class AsBillSettelApply extends BaseEntity {
private String customerName; // 客户名称
@ApiModelProperty("单据编号")
private String billNo; // 单据编号
/**
* 成本合计
*/
private BigDecimal costAmount;
/**
* 材料费
*/
private BigDecimal goodsAmount;
/**
* 工时费
*/
private BigDecimal hourAmount;
/**
* 优惠
*/
private BigDecimal discountAmount;
/**
* 附加费
*/
private BigDecimal addAmount;
/**
* 利润
*/
private BigDecimal profit;
}

1
yxt-as/src/main/java/com/yxt/anrui/as/api/asbillsettelapply/AsBillSettelApplyDetailsVo.java

@ -60,6 +60,7 @@ public class AsBillSettelApplyDetailsVo implements Vo {
*/
private String addAmount;
private String sid;
private String customerSid;
/**
* 附加项目
*/

35
yxt-as/src/main/java/com/yxt/anrui/as/api/asbillsettelapplyaitem/AsBillSettelApplyAitem.java

@ -19,20 +19,25 @@ import java.math.BigDecimal;
public class AsBillSettelApplyAitem extends BaseEntity {
@ApiModelProperty("结算单sid")
private String mainSid;
@ApiModelProperty("附加项目sid")
/**
* 成本
*/
private String aitemCost;
/**
* 其它附加项目
*/
private String aitemName;
/**
* 利润额
*/
private String aitemPrint;
/**
* 应收金额销售价
*/
private String aitemReceivableAmount;
/**
* 备注
*/
private String remarks;
private String attachItemSid;
@ApiModelProperty("附加项目名称")
private String attachItem;
@ApiModelProperty("销售价")
private BigDecimal price;
@ApiModelProperty("销售价常量")
private BigDecimal aitemPrice;
@ApiModelProperty("业务类型Key")
private String billBusTypeKey;
@ApiModelProperty("业务类型Value")
private String billBusTypeValue;
@ApiModelProperty("成本价")
private BigDecimal cost;
@ApiModelProperty("成本合计(成本价*数量)")
private BigDecimal costTotal;
}

2
yxt-as/src/main/java/com/yxt/anrui/as/api/asbillsettelapplyaitemspec/AsBillSettelApplyAitemspec.java

@ -29,5 +29,7 @@ public class AsBillSettelApplyAitemspec extends BaseEntity {
private BigDecimal taxPrice;
@ApiModelProperty("成本合计(成本价*数量)")
private BigDecimal costTotal;
@ApiModelProperty("利润")
private BigDecimal print;
}

1
yxt-as/src/main/java/com/yxt/anrui/as/api/asbillsettelapplydetail/AsBillSettelApplyDetail.java

@ -20,7 +20,6 @@ public class AsBillSettelApplyDetail extends BaseEntity {
private static final long serialVersionUID = 7134535185685249599L;
@ApiModelProperty("单据sid")
private String mainSid;
private String sid;
@ApiModelProperty("出/退库数量")
private String count;
@ApiModelProperty("销售价(元)")

2
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbillsettelapply/AsBillSettelApplyMapper.java

@ -67,4 +67,6 @@ public interface AsBillSettelApplyMapper extends BaseMapper<AsBillSettelApply> {
int selectNum(String bill);
int updateFlowFiled(Map<String, Object> map);
int selCount(@Param("sourceSid") String sourceSid);
}

8
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbillsettelapply/AsBillSettelApplyMapper.xml

@ -52,4 +52,12 @@
from as_bill_settel_apply
where billNo LIKE concat(#{bill}, '%')
</select>
<select id="selCount" resultType="java.lang.Integer">
SELECT
count(*)
FROM
as_bill_settel_apply AS a
WHERE a.sourceSid = #{sourceSid} and a.nodeState != '终止' and a.nodeState != '发起申请' AND
(SELECT IFNULL(count(*),0) FROM as_busrepair_bill_reverse_settle as r WHERE r.sourceSid = #{sourceSid} AND r.nodeState = '已办结') = 0
</select>
</mapper>

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

File diff suppressed because it is too large

21
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java

@ -394,11 +394,24 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
AsBusrepairBillInvoice invoice = new AsBusrepairBillInvoice();
BeanUtil.copyProperties(dto.getInvoiceVo(), invoice, "id", "sid");
invoice.setBillSid(sid);
List<String> taxItems = dto.getInvoiceVo().getTaxItems();
if (!taxItems.isEmpty()) {
String taxItem = String.join(",", taxItems);
invoice.setTaxItems(taxItem);
if (dto.getInvoiceVo().getIsInvoicing().equals("1")) {
List<String> taxItems = dto.getInvoiceVo().getTaxItems();
if (!taxItems.isEmpty()) {
StringBuffer sb = new StringBuffer();
for (String taxItem : taxItems) {
if (StringUtils.isNotBlank(taxItem)) {
sb.append(taxItem).append(",");
}
}
if (sb.length() > 0) {
sb.delete(sb.length() - 1, sb.length());
}
if (StringUtils.isNotBlank(sb)) {
invoice.setTaxItems(sb.toString());
}
}
}
asBusrepairBillInvoiceService.insert(invoice);
}
//保险信息

21
yxt-as/src/main/java/com/yxt/anrui/as/feign/portal/sysflowpower/SysFlowNodeQuery.java

@ -0,0 +1,21 @@
package com.yxt.anrui.as.feign.portal.sysflowpower;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/11/27 14:49
*/
@Data
public class SysFlowNodeQuery {
private String flowName;//流程申请名称
private String createOrgName;//分公司
private String procDefId;//流程定义id
private String nodeNames;//环节名称
private String parameter;//参数名称
private String value;//值
private int type; //比较类型 0是否小于权限范围 1是否大于权限范围
}

61
yxt-as/src/main/java/com/yxt/anrui/as/feign/portal/sysflowpower/SysFlowPowerFeign.java

@ -0,0 +1,61 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.as.feign.portal.sysflowpower;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* Project: anrui-portal(流程权限) <br/>
* File: SysFlowPowerFeign.java <br/>
* Class: com.yxt.anrui.portal.api.sysflowpower.SysFlowPowerFeign <br/>
* Description: 流程权限. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-08-27 14:31:01 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "流程权限")
@FeignClient(
contextId = "anrui-portal-SysFlowPower",
name = "anrui-portal",
path = "v1/sysflowpower")
public interface SysFlowPowerFeign {
@ApiOperation("审批权限校验")
@PostMapping("/flowPermissions")
public boolean flowPermissions(@RequestBody SysFlowNodeQuery query);
}

41
yxt-as/src/main/java/com/yxt/anrui/as/feign/portal/sysrole/SysRoleFeign.java

@ -0,0 +1,41 @@
package com.yxt.anrui.as.feign.portal.sysrole;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* Project: anrui_portal(门户建设) <br/>
* File: SysRoleFeign.java <br/>
* Class: com.yxt.anrui.portal.api.sysrole.SysRoleFeign <br/>
* Description: 角色. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-08-03 00:24:29 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "角色")
@FeignClient(
contextId = "anrui-portal-SysRole",
name = "anrui-portal",
path = "v1/sysrole"
)
public interface SysRoleFeign {
@ApiOperation("根据用户sid查询用户的角色列表")
@PostMapping("/fetchByUserSid/{userSid}")
public ResultBean<List<SysRoleVo>> fetchByUserSid(@PathVariable("userSid") String userSid);
}

47
yxt-as/src/main/java/com/yxt/anrui/as/feign/portal/sysrole/SysRoleVo.java

@ -0,0 +1,47 @@
package com.yxt.anrui.as.feign.portal.sysrole;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui_portal(门户建设) <br/>
* File: SysRoleVo.java <br/>
* Class: com.yxt.anrui.portal.api.sysrole.SysRoleVo <br/>
* Description: 角色 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-08-03 00:24:29 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "角色 视图数据对象", description = "角色 视图数据对象")
@Data
public class SysRoleVo implements Vo {
@ApiModelProperty("角色名称")
private String name;
@ApiModelProperty("排序")
private Integer sort;
@ApiModelProperty("编码")
private String code;
@ApiModelProperty("1、系统管理员、2、普通角色")
private Integer type;
@ApiModelProperty("角色sid")
private String sid;
@ApiModelProperty("说明")
private String remarks;
@ApiModelProperty("是否选中,1:未选中,0:选中")
private String checked;
@ApiModelProperty("是否可用")
private String isEnable;
@ApiModelProperty("岗位sid")
private String postSid;
@ApiModelProperty("岗位名称")
private String postName;
@ApiModelProperty(value = "组织层级")
private String roleTypeValue;
}
Loading…
Cancel
Save