|
|
@ -4,17 +4,19 @@ import cn.hutool.core.bean.BeanUtil; |
|
|
|
import com.alibaba.fastjson.JSON; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
import com.yxt.anrui.as.api.asbusrepairbill.AsBusrepairBill; |
|
|
|
import com.yxt.anrui.as.api.asbusrepairbill.AsBusrepairBillDetailsVo; |
|
|
|
import com.yxt.anrui.as.api.asbusrepairbill.GoodsDetailsVo; |
|
|
|
import com.yxt.anrui.as.api.asbusrepairbill.SitemVo; |
|
|
|
import com.yxt.anrui.as.api.asbusrepairinventorybill.*; |
|
|
|
import com.yxt.anrui.as.api.asbusrepairinventorybilldetail.AsBusrepairInventorybillDetail; |
|
|
|
import com.yxt.anrui.as.api.asbusrepairinventorybilldetail.AsBusrepairInventorybillDetailDto; |
|
|
|
import com.yxt.anrui.as.api.asbusrepairinventorybilldetail.AsBusrepairInventorybillDetailSDto; |
|
|
|
import com.yxt.anrui.as.api.asbusrepairinventorybilldetail.SitemsVo; |
|
|
|
import com.yxt.anrui.as.api.enums.AsBillTypeEnum; |
|
|
|
import com.yxt.anrui.as.api.utils.AsRule; |
|
|
|
import com.yxt.anrui.as.api.utils.domain.AsBillNo; |
|
|
|
import com.yxt.anrui.as.biz.asbusrepairbill.AsBusrepairBillService; |
|
|
|
import com.yxt.anrui.as.biz.asbusrepairinventorybilldetail.AsBusrepairInventorybillDetailService; |
|
|
|
import com.yxt.anrui.as.feign.portal.sysorganization.SysOrganizationFeign; |
|
|
|
import com.yxt.anrui.as.feign.portal.sysorganization.SysOrganizationVo; |
|
|
|
import com.yxt.anrui.as.feign.portal.sysstafforg.SysStaffOrgFeign; |
|
|
|
import com.yxt.anrui.as.feign.wms.wmsinventorybill.WmsInventoryBillDetailDto; |
|
|
|
import com.yxt.anrui.as.feign.wms.wmsinventorybill.WmsInventoryBillDto; |
|
|
@ -29,6 +31,7 @@ import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
import javax.annotation.Resource; |
|
|
|
import java.math.BigDecimal; |
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.Collections; |
|
|
|
import java.util.List; |
|
|
@ -51,6 +54,8 @@ public class AsBusrepairInventorybillService extends MybatisBaseService<AsBusrep |
|
|
|
private SysStaffOrgFeign sysStaffOrgFeign; |
|
|
|
@Autowired |
|
|
|
private AsBusrepairBillService asBusrepairBillService; |
|
|
|
@Autowired |
|
|
|
private SysOrganizationFeign sysOrganizationFeign; |
|
|
|
|
|
|
|
/** |
|
|
|
* 维修出/退库分页列表 |
|
|
@ -166,6 +171,61 @@ public class AsBusrepairInventorybillService extends MybatisBaseService<AsBusrep |
|
|
|
return rb.success(); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 生成单据编号 |
|
|
|
* |
|
|
|
* @param orgSid |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
public String getApplyCode(String orgSid, String billType) { |
|
|
|
//获取分公司sid
|
|
|
|
ResultBean<SysOrganizationVo> resultBean1 = sysOrganizationFeign.fetchBySid(orgSid); |
|
|
|
String orgCode = resultBean1.getData().getOrgCode(); |
|
|
|
AsBillNo b = new AsBillNo(); |
|
|
|
b.setOrgCode(orgCode); |
|
|
|
b.setBillType(billType); |
|
|
|
String bill = AsRule.getBill(b); |
|
|
|
int i = baseMapper.selectNum(bill); |
|
|
|
String billNo = AsRule.getBillNo(bill, i); |
|
|
|
return billNo; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public ResultBean newOutBill(AsBusrepairInventorybillDto dto) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
String sid = saveBill(dto, "0"); |
|
|
|
return rb.success().setData(sid); |
|
|
|
} |
|
|
|
|
|
|
|
public String saveBill(AsBusrepairInventorybillDto dto, String busTypeKey) { |
|
|
|
AsBusrepairInventorybill entity = new AsBusrepairInventorybill(); |
|
|
|
BeanUtil.copyProperties(dto, entity, "id", "sid"); |
|
|
|
if (busTypeKey.equals("0")) { |
|
|
|
entity.setBusTypeKey("0"); |
|
|
|
entity.setBusTypeValue("维修出库"); |
|
|
|
String billNo = getApplyCode(dto.getCreateOrgSid(), "WXCKD"); |
|
|
|
entity.setBillNo(billNo); |
|
|
|
} else if (busTypeKey.equals("1")) { |
|
|
|
entity.setBusTypeKey("1"); |
|
|
|
entity.setBusTypeValue("维修退库"); |
|
|
|
String billNo = getApplyCode(dto.getCreateOrgSid(), "WXTKD"); |
|
|
|
entity.setBillNo(billNo); |
|
|
|
} |
|
|
|
baseMapper.insert(entity); |
|
|
|
List<AsBusrepairInventorybillDetailSDto> detailList = dto.getDetailList(); |
|
|
|
if (!detailList.isEmpty()) { |
|
|
|
for (AsBusrepairInventorybillDetailSDto sDto : detailList) { |
|
|
|
AsBusrepairInventorybillDetail detail = new AsBusrepairInventorybillDetail(); |
|
|
|
BeanUtil.copyProperties(sDto, detail); |
|
|
|
if (StringUtils.isNotBlank(sDto.getOutboundCount())) { |
|
|
|
detail.setCurrentCount(new BigDecimal(sDto.getOutboundCount())); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
return entity.getSid(); |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean<InventoryBillDetailsVo> details(String sid) { |
|
|
|
ResultBean<InventoryBillDetailsVo> rb = ResultBean.fireFail(); |
|
|
|
AsBusrepairInventorybill asBusrepairInventorybill = fetchBySid(sid); |
|
|
|