73 changed files with 4004 additions and 305 deletions
@ -0,0 +1,34 @@ |
|||
package com.yxt.anrui.flowable.api.flow3; |
|||
|
|||
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; |
|||
import com.yxt.anrui.flowable.api.flow2.FlowFeignback; |
|||
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; |
|||
import com.yxt.common.core.result.ResultBean; |
|||
import io.swagger.annotations.ApiOperation; |
|||
import org.springframework.cloud.openfeign.FeignClient; |
|||
import org.springframework.web.bind.annotation.PostMapping; |
|||
import org.springframework.web.bind.annotation.RequestBody; |
|||
import org.springframework.web.bind.annotation.ResponseBody; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2025/2/12 |
|||
**/ |
|||
@FeignClient( |
|||
contextId = "anrui-flowable-Flow3", |
|||
name = "anrui-flowable", |
|||
path = "v3/flow", |
|||
fallback = Flow3Feignback.class) |
|||
public interface Flow3Feign { |
|||
|
|||
@ApiOperation(value = "启动流程") |
|||
@PostMapping(value = "/startProcess") |
|||
@ResponseBody |
|||
ResultBean<UpdateFlowFieldVo> startProcess(@RequestBody BusinessVariables dto); |
|||
|
|||
@ApiOperation(value = "处理流程") |
|||
@PostMapping(value = "/handleProsess") |
|||
@ResponseBody |
|||
ResultBean<UpdateFlowFieldVo> handleProsess(@RequestBody BusinessVariables bv); |
|||
} |
@ -0,0 +1,12 @@ |
|||
package com.yxt.anrui.flowable.api.flow3; |
|||
|
|||
import org.springframework.stereotype.Component; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2025/2/12 |
|||
**/ |
|||
@Component |
|||
public class Flow3Feignback { |
|||
} |
@ -0,0 +1,23 @@ |
|||
package com.yxt.anrui.terminal.api.as.storechange; |
|||
|
|||
import com.yxt.anrui.terminal.api.as.firstshelves.AppFirstShelvesGoodsDto; |
|||
import com.yxt.common.core.dto.Dto; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.util.List; |
|||
|
|||
@Data |
|||
public class AppStoreChangeDto implements Dto { |
|||
|
|||
@ApiModelProperty("库存sid") |
|||
private String sid; |
|||
@ApiModelProperty("移位数量") |
|||
private String count; |
|||
@ApiModelProperty("移位仓库") |
|||
private String houseInfo2; |
|||
@ApiModelProperty("移位库位编码") |
|||
private String houseCode2; |
|||
@ApiModelProperty("移位仓库") |
|||
private String store; |
|||
} |
@ -0,0 +1,29 @@ |
|||
package com.yxt.anrui.terminal.api.as.storechange; |
|||
|
|||
import com.yxt.common.core.result.ResultBean; |
|||
import io.swagger.annotations.ApiOperation; |
|||
import org.springframework.cloud.openfeign.FeignClient; |
|||
import org.springframework.web.bind.annotation.*; |
|||
|
|||
/** |
|||
* @Author |
|||
* @Date |
|||
* @Description |
|||
*/ |
|||
@FeignClient( |
|||
contextId = "terminal-AppStoreChange", |
|||
name = "anrui-terminal", |
|||
path = "v1/storeChange") |
|||
public interface AppStoreChangeFeign { |
|||
|
|||
@ApiOperation("标签扫描") |
|||
@GetMapping("/scan") |
|||
@ResponseBody |
|||
public ResultBean<AppStoreChangeScanVo> scan(@RequestParam("content") String content, @RequestParam("type") String type, @RequestParam("orgPath") String orgPath, @RequestParam(value = "storeSid", required = false) String storeSid); |
|||
|
|||
@ApiOperation("保存") |
|||
@PostMapping("/save") |
|||
@ResponseBody |
|||
public ResultBean save(@RequestBody AppStoreChangeDto dto); |
|||
|
|||
} |
@ -0,0 +1,24 @@ |
|||
package com.yxt.anrui.terminal.api.as.storechange; |
|||
|
|||
import com.yxt.common.core.vo.Vo; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.util.List; |
|||
|
|||
@Data |
|||
public class AppStoreChangeScanVo implements Vo { |
|||
|
|||
@ApiModelProperty("0商品码,1库位码") |
|||
private String type; |
|||
@ApiModelProperty("商品sid") |
|||
private String sid; |
|||
@ApiModelProperty("商品下的库存表里的sid集合") |
|||
private List<String> storeSids; |
|||
@ApiModelProperty("库位码") |
|||
private String houseCode; |
|||
@ApiModelProperty("库区名+库位名") |
|||
private String houseName; |
|||
@ApiModelProperty("仓库地址") |
|||
private String houseAddress; |
|||
} |
@ -0,0 +1,52 @@ |
|||
/********************************************************* |
|||
********************************************************* |
|||
******************** ******************* |
|||
************* ************ |
|||
******* _oo0oo_ ******* |
|||
*** o8888888o *** |
|||
* 88" . "88 * |
|||
* (| -_- |) * |
|||
* 0\ = /0 * |
|||
* ___/`---'\___ * |
|||
* .' \\| |// '. *
|
|||
* / \\||| : |||// \ *
|
|||
* / _||||| -:- |||||- \ * |
|||
* | | \\\ - /// | | *
|
|||
* | \_| ''\---/'' |_/ | * |
|||
* \ .-\__ '-' ___/-. / * |
|||
* ___'. .' /--.--\ `. .'___ * |
|||
* ."" '< `.___\_<|>_/___.' >' "". * |
|||
* | | : `- \`.;`\ _ /`;.`/ - ` : | | * |
|||
* \ \ `_. \_ __\ /__ _/ .-` / / * |
|||
* =====`-.____`.___ \_____/___.-`___.-'===== * |
|||
* `=---=' * |
|||
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * |
|||
*********__佛祖保佑__永无BUG__验收通过__钞票多多__********* |
|||
*********************************************************/ |
|||
package com.yxt.anrui.terminal.biz.as.storechange; |
|||
|
|||
import com.yxt.anrui.terminal.api.as.storechange.AppStoreChangeDto; |
|||
import com.yxt.anrui.terminal.api.as.storechange.AppStoreChangeFeign; |
|||
import com.yxt.anrui.terminal.api.as.storechange.AppStoreChangeScanVo; |
|||
import com.yxt.common.core.result.ResultBean; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.web.bind.annotation.RequestMapping; |
|||
import org.springframework.web.bind.annotation.RestController; |
|||
|
|||
@RestController |
|||
@RequestMapping("v1/storeChange") |
|||
public class AppStoreChangeRest implements AppStoreChangeFeign { |
|||
|
|||
@Autowired |
|||
private AppStoreChangeService appStoreChangeService; |
|||
|
|||
@Override |
|||
public ResultBean<AppStoreChangeScanVo> scan(String content, String type, String orgPath, String storeSid) { |
|||
return appStoreChangeService.scan(content, type, orgPath, storeSid); |
|||
} |
|||
|
|||
@Override |
|||
public ResultBean save(AppStoreChangeDto dto) { |
|||
return null; |
|||
} |
|||
} |
@ -0,0 +1,210 @@ |
|||
/********************************************************* |
|||
********************************************************* |
|||
******************** ******************* |
|||
************* ************ |
|||
******* _oo0oo_ ******* |
|||
*** o8888888o *** |
|||
* 88" . "88 * |
|||
* (| -_- |) * |
|||
* 0\ = /0 * |
|||
* ___/`---'\___ * |
|||
* .' \\| |// '. *
|
|||
* / \\||| : |||// \ *
|
|||
* / _||||| -:- |||||- \ * |
|||
* | | \\\ - /// | | *
|
|||
* | \_| ''\---/'' |_/ | * |
|||
* \ .-\__ '-' ___/-. / * |
|||
* ___'. .' /--.--\ `. .'___ * |
|||
* ."" '< `.___\_<|>_/___.' >' "". * |
|||
* | | : `- \`.;`\ _ /`;.`/ - ` : | | * |
|||
* \ \ `_. \_ __\ /__ _/ .-` / / * |
|||
* =====`-.____`.___ \_____/___.-`___.-'===== * |
|||
* `=---=' * |
|||
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * |
|||
*********__佛祖保佑__永无BUG__验收通过__钞票多多__********* |
|||
*********************************************************/ |
|||
package com.yxt.anrui.terminal.biz.as.storechange; |
|||
|
|||
import cn.hutool.core.date.DateUtil; |
|||
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; |
|||
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; |
|||
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; |
|||
import com.yxt.anrui.terminal.api.as.firstshelves.*; |
|||
import com.yxt.anrui.terminal.api.as.storechange.AppStoreChangeScanVo; |
|||
import com.yxt.anrui.terminal.fegin.wmsInventory.WmsInventory; |
|||
import com.yxt.anrui.terminal.fegin.wmsInventory.WmsInventoryFeign; |
|||
import com.yxt.anrui.terminal.fegin.wmsInventory.WmsInventorySaveDto; |
|||
import com.yxt.anrui.terminal.fegin.wmsgoodstag.GoodsTagListQuery; |
|||
import com.yxt.anrui.terminal.fegin.wmsgoodstag.WmsGoodsTag; |
|||
import com.yxt.anrui.terminal.fegin.wmsgoodstag.WmsGoodsTagFeign; |
|||
import com.yxt.anrui.terminal.fegin.wmsinitialdetail.WmsInitialDetail; |
|||
import com.yxt.anrui.terminal.fegin.wmsinitialdetail.WmsInitialDetailFeign; |
|||
import com.yxt.anrui.terminal.fegin.wmswarehouserack.WmsHouseInfoVo; |
|||
import com.yxt.anrui.terminal.fegin.wmswarehouserack.WmsWarehouseRackFeign; |
|||
import com.yxt.common.core.query.PagerQuery; |
|||
import com.yxt.common.core.result.ResultBean; |
|||
import com.yxt.common.core.vo.PagerVo; |
|||
import org.apache.commons.lang3.StringUtils; |
|||
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.Arrays; |
|||
import java.util.List; |
|||
import java.util.stream.Collectors; |
|||
|
|||
@Service |
|||
public class AppStoreChangeService { |
|||
|
|||
@Resource |
|||
private WmsGoodsTagFeign wmsGoodsTagFeign; |
|||
@Resource |
|||
private WmsWarehouseRackFeign wmsWarehouseRackFeign; |
|||
@Resource |
|||
private WmsInventoryFeign wmsInventoryFeign; |
|||
@Resource |
|||
private WmsInitialDetailFeign wmsInitialDetailFeign; |
|||
@Autowired |
|||
private SysStaffOrgFeign sysStaffOrgFeign; |
|||
@Autowired |
|||
private SysOrganizationFeign sysOrganizationFeign; |
|||
|
|||
public ResultBean<AppFirstShelvesVo> list(PagerQuery<AppFirstShelvesQuery> pagerQuery) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
PagerQuery<GoodsTagListQuery> pagerQuery1 = new PagerQuery<>(); |
|||
GoodsTagListQuery params = new GoodsTagListQuery(); |
|||
AppFirstShelvesQuery params1 = pagerQuery.getParams(); |
|||
params.setUserSid(params1.getUserSid()); |
|||
params.setOrgPath(params1.getOrgPath()); |
|||
params.setMenuSid(params1.getMenuSid()); |
|||
params.setName(params1.getName()); |
|||
pagerQuery1.setParams(params); |
|||
pagerQuery1.setSize(1000); |
|||
PagerVo<WmsGoodsTag> data = wmsGoodsTagFeign.goodsTagList(pagerQuery1).getData(); |
|||
AppFirstShelvesVo appFirstShelvesVo = new AppFirstShelvesVo(); |
|||
List<AppFirstShelvesGoodsVo> goods = new ArrayList<>(); |
|||
List<WmsGoodsTag> list = data.getRecords(); |
|||
for (WmsGoodsTag wmsGoodsTag : list) { |
|||
AppFirstShelvesGoodsVo appFirstShelvesGoodsVo = new AppFirstShelvesGoodsVo(); |
|||
appFirstShelvesGoodsVo.setSid(wmsGoodsTag.getSid()); |
|||
appFirstShelvesGoodsVo.setName(wmsGoodsTag.getGoodsSkuTitle()); |
|||
appFirstShelvesGoodsVo.set_id(wmsGoodsTag.getGoodsID()); |
|||
appFirstShelvesGoodsVo.setNum(wmsGoodsTag.getGoodsCount()); |
|||
appFirstShelvesGoodsVo.setUnit(wmsGoodsTag.getUnit()); |
|||
appFirstShelvesGoodsVo.setSpecs(wmsGoodsTag.getGoodsSkuOwnSpec()); |
|||
goods.add(appFirstShelvesGoodsVo); |
|||
} |
|||
appFirstShelvesVo.setGoods(goods); |
|||
return rb.success().setData(appFirstShelvesVo); |
|||
} |
|||
|
|||
public ResultBean<AppStoreChangeScanVo> scan(String content, String type, String orgPath, String storeSid) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
String deptSid = ""; |
|||
if (StringUtils.isNotBlank(orgPath)) { |
|||
List<String> split = Arrays.asList(orgPath.split("/")); |
|||
if (split.size() > 1) { |
|||
//获取本级sid获取本级部门信息
|
|||
SysOrganizationVo sysOrganization1 = sysOrganizationFeign.fetchBySid(split.get(split.size() - 1)).getData(); |
|||
deptSid = sysOrganization1.getSid(); |
|||
} else { |
|||
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(0)).getData(); |
|||
deptSid = sysOrganization.getSid(); |
|||
} |
|||
} |
|||
AppStoreChangeScanVo appStoreChangeScanVo = new AppStoreChangeScanVo(); |
|||
if ("0".equals(type)) {//商品码
|
|||
if (content.contains("#")) { |
|||
return rb.setMsg("请扫描商品码"); |
|||
} |
|||
if (StringUtils.isBlank(storeSid)) { |
|||
List<WmsInventory> wmsInventoryList = wmsInventoryFeign.selByGoodsIDAndUseOrgSid(content, deptSid).getData(); |
|||
if (wmsInventoryList == null) { |
|||
return rb.setMsg("当前商品不可移位"); |
|||
} |
|||
appStoreChangeScanVo.setType(type); |
|||
appStoreChangeScanVo.setSid(wmsInventoryList.get(0).getGoodsSpuSid()); |
|||
appStoreChangeScanVo.setStoreSids(wmsInventoryList.stream().map(WmsInventory::getWarehouseSid).collect(Collectors.toList())); |
|||
} else { |
|||
List<WmsInventory> wmsInventoryList = wmsInventoryFeign.selByGoodsIDAndUseOrgSidAndWarehouseSid(content, deptSid, storeSid).getData(); |
|||
if (wmsInventoryList == null) { |
|||
return rb.setMsg("当前商品不可移位"); |
|||
} |
|||
appStoreChangeScanVo.setType(type); |
|||
appStoreChangeScanVo.setSid(wmsInventoryList.get(0).getGoodsSpuSid()); |
|||
appStoreChangeScanVo.setStoreSids(wmsInventoryList.stream().map(WmsInventory::getWarehouseSid).collect(Collectors.toList())); |
|||
} |
|||
} else if ("1".equals(type)) {//库位码
|
|||
if (!content.contains("#")) { |
|||
return rb.setMsg("请扫描库位码"); |
|||
} |
|||
String[] split = content.split("#"); |
|||
String houseCode = split[0]; |
|||
ResultBean<WmsHouseInfoVo> wmsHouseInfoVoResultBean = wmsWarehouseRackFeign.selHouseInfoByFullCode(houseCode); |
|||
if (wmsHouseInfoVoResultBean.getSuccess()) { |
|||
WmsHouseInfoVo houseInfoVo = wmsHouseInfoVoResultBean.getData(); |
|||
if (null != houseInfoVo) { |
|||
String houseName = ""; |
|||
String areaName = ""; |
|||
String rackName = ""; |
|||
String zoneName = ""; |
|||
if (StringUtils.isNotBlank(houseInfoVo.getWarehouseName())) { |
|||
houseName = houseInfoVo.getWarehouseName(); |
|||
} |
|||
if (StringUtils.isNotBlank(houseInfoVo.getWareAreaName())) { |
|||
areaName = houseInfoVo.getWareAreaName(); |
|||
} |
|||
if (StringUtils.isNotBlank(houseInfoVo.getWarehouseRackName())) { |
|||
rackName = houseInfoVo.getWarehouseRackName(); |
|||
} |
|||
if (StringUtils.isNotBlank(houseInfoVo.getWarehouseZoneName())) { |
|||
zoneName = houseInfoVo.getWarehouseZoneName(); |
|||
} |
|||
appStoreChangeScanVo.setHouseName(houseName + "-" + zoneName + "-" + areaName); |
|||
appStoreChangeScanVo.setHouseAddress(houseInfoVo.getWarehouseRackCode()); |
|||
appStoreChangeScanVo.setHouseCode(houseCode); |
|||
appStoreChangeScanVo.setType(type); |
|||
} else { |
|||
return rb.setMsg("扫描库位码为空"); |
|||
} |
|||
} |
|||
} |
|||
return rb.success().setData(appStoreChangeScanVo); |
|||
} |
|||
|
|||
public ResultBean save(AppFirstShelvesDto dto) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
List<AppFirstShelvesGoodsDto> goodsList = dto.getGoodsList(); |
|||
WmsInventorySaveDto wmsInventorySaveDto = new WmsInventorySaveDto(); |
|||
wmsInventorySaveDto.setCreateBySid(dto.getUserSid()); |
|||
String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgPath()).getData(); |
|||
wmsInventorySaveDto.setCreateOrgSid(useOrgSid); |
|||
wmsInventorySaveDto.setUseOrgSid(useOrgSid); |
|||
wmsInventorySaveDto.setFirstInDate(DateUtil.today()); |
|||
for (AppFirstShelvesGoodsDto appFirstShelvesGoodsDto : goodsList) { |
|||
WmsGoodsTag wmsGoodsTag = wmsGoodsTagFeign.selectByGoodsId(appFirstShelvesGoodsDto.getGoodsID()).getData(); |
|||
WmsInitialDetail wmsInitialDetail = wmsInitialDetailFeign.selBySid(wmsGoodsTag.getBillDetailSid()).getData(); |
|||
WmsHouseInfoVo wmsHouseInfoVo = wmsWarehouseRackFeign.selHouseInfoByFullCode(appFirstShelvesGoodsDto.getHouseCode()).getData(); |
|||
wmsInventorySaveDto.setGoodsSpuSid(wmsGoodsTag.getGoodsSpuSid()); |
|||
wmsInventorySaveDto.setGoodsSpuName(wmsGoodsTag.getGoodsSpuName()); |
|||
wmsInventorySaveDto.setGoodsSkuSid(wmsGoodsTag.getGoodsSkuSid()); |
|||
wmsInventorySaveDto.setGoodsSkuTitle(wmsGoodsTag.getGoodsSkuTitle()); |
|||
wmsInventorySaveDto.setGoodsSkuCode(wmsGoodsTag.getGoodsSkuCode()); |
|||
wmsInventorySaveDto.setGoodsSkuOwnSpec(wmsGoodsTag.getGoodsSkuOwnSpec()); |
|||
wmsInventorySaveDto.setUnit(wmsGoodsTag.getUnit()); |
|||
wmsInventorySaveDto.setCount(appFirstShelvesGoodsDto.getCount()); |
|||
wmsInventorySaveDto.setGoodsID(appFirstShelvesGoodsDto.getGoodsID()); |
|||
wmsInventorySaveDto.setManufacturerSid(wmsInitialDetail.getManufacturerSid()); |
|||
wmsInventorySaveDto.setManufacturerName(wmsInitialDetail.getManufacturerName()); |
|||
wmsInventorySaveDto.setFirstInDate(DateUtil.formatDate(wmsInitialDetail.getFirstInDate())); |
|||
wmsInventorySaveDto.setWarehouseSid(wmsHouseInfoVo.getWarehouseSid()); |
|||
wmsInventorySaveDto.setWarehouseName(wmsHouseInfoVo.getWarehouseName()); |
|||
wmsInventorySaveDto.setWarehouseRackSid(wmsHouseInfoVo.getWarehouseRackSid()); |
|||
wmsInventorySaveDto.setWarehouseRackCode(appFirstShelvesGoodsDto.getHouseCode()); |
|||
wmsInventoryFeign.saveWmsInventory(wmsInventorySaveDto).getData(); |
|||
} |
|||
return rb.success(); |
|||
} |
|||
} |
@ -0,0 +1,66 @@ |
|||
package com.yxt.anrui.terminal.fegin.wmsInventory; |
|||
|
|||
import com.yxt.common.core.domain.BaseEntity; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
import java.math.BigDecimal; |
|||
import java.util.Date; |
|||
|
|||
@Data |
|||
public class WmsInventory extends BaseEntity { |
|||
|
|||
@ApiModelProperty("批次号") |
|||
private String batchNumber; |
|||
@ApiModelProperty("商品ID(唯一编码,入库时生成,生成规则为商品编码+YYMMdd+4位流水)") |
|||
private String goodsID; |
|||
@ApiModelProperty("商品基础信息sid") |
|||
private String goodsSpuSid; |
|||
@ApiModelProperty("商品名称") |
|||
private String goodsSpuName; |
|||
@ApiModelProperty("商品Skusid") |
|||
private String goodsSkuSid; |
|||
@ApiModelProperty("商品Sku名称") |
|||
private String goodsSkuTitle; |
|||
@ApiModelProperty("商品编码(图号)") |
|||
private String goodsSkuCode; |
|||
@ApiModelProperty("规格型号") |
|||
private String goodsSkuOwnSpec; |
|||
@ApiModelProperty("计量单位") |
|||
private String unit; |
|||
@ApiModelProperty("现有量") |
|||
private BigDecimal count; |
|||
@ApiModelProperty("分配量(锁定数量,出库申请通过,但未实际出库)") |
|||
private BigDecimal allocateCount; |
|||
@ApiModelProperty("拣货量") |
|||
private BigDecimal pickCount; |
|||
@ApiModelProperty("冻结量") |
|||
private BigDecimal freezeCount; |
|||
@ApiModelProperty("入库单价") |
|||
private BigDecimal cost; |
|||
@ApiModelProperty("税率") |
|||
private BigDecimal taxRate; |
|||
@ApiModelProperty("仓库sid") |
|||
private String warehouseSid; |
|||
@ApiModelProperty("仓库名称") |
|||
private String warehouseName; |
|||
@ApiModelProperty("库位sid") |
|||
private String warehouseRackSid; |
|||
@ApiModelProperty("库位编码") |
|||
private String warehouseRackCode; |
|||
@ApiModelProperty("首次入库日期-计算库龄的依据") |
|||
private Date firstInDate; |
|||
@ApiModelProperty("创建组织sid") |
|||
private String createOrgSid; |
|||
@ApiModelProperty("使用组织sid") |
|||
private String useOrgSid; |
|||
@ApiModelProperty("厂家订单号") |
|||
private String manufactorBillNo; |
|||
@ApiModelProperty("厂家sid") |
|||
private String manufacturerSid; // 库位sid
|
|||
@ApiModelProperty("厂家名称") |
|||
private String manufacturerName; // 库位编号
|
|||
@ApiModelProperty("客户/供应商sid,出库是为客户,入库时为供应商") |
|||
private String supplierSid; |
|||
@ApiModelProperty("客户/供应商名称") |
|||
private String supplierName; |
|||
} |
@ -0,0 +1,27 @@ |
|||
package com.yxt.base.biz.base.basegoodsspu; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.util.Map; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2025/1/16 |
|||
**/ |
|||
@Data |
|||
public class YxtBaseFormCommon { |
|||
|
|||
private String id; |
|||
private String dictValue; |
|||
|
|||
private Map<String, Object> extra; |
|||
|
|||
// 静态方法,直接通过方法创建对象并赋值
|
|||
public static YxtBaseFormCommon of(String id, String dictValue) { |
|||
YxtBaseFormCommon formCommon = new YxtBaseFormCommon(); |
|||
formCommon.setId(id); |
|||
formCommon.setDictValue(dictValue); |
|||
return formCommon; |
|||
} |
|||
} |
@ -0,0 +1,91 @@ |
|||
package com.yxt.anrui.oa.api; |
|||
|
|||
import com.yxt.anrui.oa.biz.adallocateassetapply.AdAllocateAssetApplyDetailVo; |
|||
import com.yxt.anrui.oa.biz.adallocateassetapply.AdAllocateAssetApplyDto; |
|||
import com.yxt.anrui.oa.biz.adallocateassetapply.AdAllocateAssetApplyService; |
|||
import com.yxt.anrui.oa.biz.adallocateassetapply.AdAllocateAssetApplyVo; |
|||
import com.yxt.anrui.oa.biz.oaform.flowable.CompleteDto; |
|||
import com.yxt.anrui.oa.biz.oaform.flowable.NodeQuery; |
|||
import com.yxt.anrui.oa.biz.oaform.flowable.TaskDto; |
|||
import com.yxt.common.core.result.ResultBean; |
|||
import io.swagger.annotations.ApiOperation; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.cloud.openfeign.SpringQueryMap; |
|||
import org.springframework.web.bind.annotation.*; |
|||
|
|||
import javax.validation.Valid; |
|||
|
|||
@RestController |
|||
@RequestMapping("v1/AdAllocateAssetApply") |
|||
public class AdAllocateAssetApplyRest { |
|||
|
|||
|
|||
@Autowired |
|||
private AdAllocateAssetApplyService adAllocateAssetApplyService; |
|||
|
|||
@ApiOperation("初始化(新增或修改)") |
|||
@GetMapping({"/getInit", "/getInit/{sid}"}) |
|||
public ResultBean<AdAllocateAssetApplyVo> getInit( |
|||
@PathVariable(value = "sid", required = false) String sid, |
|||
@RequestParam(value = "userSid", required = false) String userSid, |
|||
@RequestParam(value = "orgPath", required = false) String orgPath) { |
|||
ResultBean<AdAllocateAssetApplyVo> rb = ResultBean.fireFail(); |
|||
if (sid == null || sid.isEmpty()) { |
|||
// 执行新增初始化
|
|||
if (userSid == null || orgPath == null) { |
|||
return rb.setMsg("userSid和orgPath不能为空"); |
|||
} |
|||
return adAllocateAssetApplyService.getSaveInit(userSid, orgPath); |
|||
} else { |
|||
// 执行修改初始化
|
|||
return adAllocateAssetApplyService.getUpdateInit(sid); |
|||
} |
|||
} |
|||
|
|||
@ApiOperation("新增或修改") |
|||
@PostMapping("/save") |
|||
public ResultBean save(@RequestBody AdAllocateAssetApplyDto dto) { |
|||
return adAllocateAssetApplyService.saveOrUpdateDto(dto); |
|||
} |
|||
|
|||
@ApiOperation("根据sid批量删除") |
|||
@DeleteMapping("/delBySids") |
|||
public ResultBean delBySids(@RequestBody String[] sids) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
adAllocateAssetApplyService.delAll(sids); |
|||
return rb.success(); |
|||
} |
|||
|
|||
@ApiOperation("详情") |
|||
@GetMapping("/details/{sid}") |
|||
ResultBean<AdAllocateAssetApplyDetailVo> details(@PathVariable("sid") String sid |
|||
, @RequestParam(value = "application", required = false) String application) { |
|||
return adAllocateAssetApplyService.details(sid,application); |
|||
} |
|||
|
|||
@ApiOperation("提交审批流程") |
|||
@PostMapping("/submit") |
|||
public ResultBean submit(@RequestBody @Valid AdAllocateAssetApplyDto dto) { |
|||
return adAllocateAssetApplyService.submit(dto); |
|||
} |
|||
|
|||
@ApiOperation(value = "办理(同意)") |
|||
@PutMapping("/complete") |
|||
public ResultBean complete(@Valid @RequestBody CompleteDto dto) { |
|||
return adAllocateAssetApplyService.complete(dto); |
|||
} |
|||
|
|||
@ApiOperation(value = "驳回任务") |
|||
@PutMapping(value = "/reject") |
|||
public ResultBean reject(@Valid @RequestBody TaskDto dto) { |
|||
return adAllocateAssetApplyService.reject(dto); |
|||
} |
|||
|
|||
@ApiOperation("获取流程操作标题") |
|||
@GetMapping("/getFlowOperateTitle") |
|||
@ResponseBody |
|||
ResultBean<String> getFlowOperateTitle(@SpringQueryMap NodeQuery query) { |
|||
return adAllocateAssetApplyService.getFlowOperateTitle(query); |
|||
} |
|||
|
|||
} |
@ -0,0 +1,92 @@ |
|||
package com.yxt.anrui.oa.api; |
|||
|
|||
import com.yxt.anrui.oa.biz.adpurchaseassetapply.AdPurchaseAssetApplyDetailVo; |
|||
import com.yxt.anrui.oa.biz.adpurchaseassetapply.AdPurchaseAssetApplyDto; |
|||
import com.yxt.anrui.oa.biz.adpurchaseassetapply.AdPurchaseAssetApplyService; |
|||
import com.yxt.anrui.oa.biz.adpurchaseassetapply.AdPurchaseAssetApplyVo; |
|||
import com.yxt.anrui.oa.biz.oaform.flowable.CompleteDto; |
|||
import com.yxt.anrui.oa.biz.oaform.flowable.NodeQuery; |
|||
import com.yxt.anrui.oa.biz.oaform.flowable.TaskDto; |
|||
import com.yxt.common.core.result.ResultBean; |
|||
import io.swagger.annotations.ApiOperation; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.cloud.openfeign.SpringQueryMap; |
|||
import org.springframework.web.bind.annotation.*; |
|||
|
|||
import javax.validation.Valid; |
|||
|
|||
@RestController |
|||
@RequestMapping("v1/AdPurchaseAssetApply") |
|||
public class AdPurchaseAssetApplyRest { |
|||
|
|||
|
|||
@Autowired |
|||
private AdPurchaseAssetApplyService adPurchaseAssetApplyService; |
|||
|
|||
@ApiOperation("初始化(新增或修改)") |
|||
@GetMapping({"/getInit", "/getInit/{sid}"}) |
|||
public ResultBean<AdPurchaseAssetApplyVo> getInit( |
|||
@PathVariable(value = "sid", required = false) String sid, |
|||
@RequestParam(value = "userSid", required = false) String userSid, |
|||
@RequestParam(value = "orgPath", required = false) String orgPath) { |
|||
ResultBean<AdPurchaseAssetApplyVo> rb = ResultBean.fireFail(); |
|||
if (sid == null || sid.isEmpty()) { |
|||
// 执行新增初始化
|
|||
if (userSid == null || orgPath == null) { |
|||
return rb.setMsg("userSid和orgPath不能为空"); |
|||
} |
|||
return adPurchaseAssetApplyService.getSaveInit(userSid, orgPath); |
|||
} else { |
|||
// 执行修改初始化
|
|||
return adPurchaseAssetApplyService.getUpdateInit(sid); |
|||
} |
|||
} |
|||
|
|||
@ApiOperation("新增或修改") |
|||
@PostMapping("/save") |
|||
public ResultBean save(@RequestBody AdPurchaseAssetApplyDto dto) { |
|||
return adPurchaseAssetApplyService.saveOrUpdateDto(dto); |
|||
} |
|||
|
|||
@ApiOperation("根据sid批量删除") |
|||
@DeleteMapping("/delBySids") |
|||
public ResultBean delBySids(@RequestBody String[] sids) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
adPurchaseAssetApplyService.delAll(sids); |
|||
return rb.success(); |
|||
} |
|||
|
|||
@ApiOperation("详情") |
|||
@GetMapping("/details/{sid}") |
|||
ResultBean<AdPurchaseAssetApplyDetailVo> details(@PathVariable("sid") String sid |
|||
, @RequestParam(value = "application", required = false) String application) { |
|||
return adPurchaseAssetApplyService.details(sid,application); |
|||
} |
|||
|
|||
@ApiOperation("提交审批流程") |
|||
@PostMapping("/submit") |
|||
public ResultBean submit(@RequestBody @Valid AdPurchaseAssetApplyDto dto) { |
|||
return adPurchaseAssetApplyService.submit(dto); |
|||
} |
|||
|
|||
@ApiOperation(value = "办理(同意)") |
|||
@PutMapping("/complete") |
|||
public ResultBean complete(@Valid @RequestBody CompleteDto dto) { |
|||
return adPurchaseAssetApplyService.complete(dto); |
|||
} |
|||
|
|||
@ApiOperation(value = "驳回任务") |
|||
@PutMapping(value = "/reject") |
|||
public ResultBean reject(@Valid @RequestBody TaskDto dto) { |
|||
return adPurchaseAssetApplyService.reject(dto); |
|||
} |
|||
|
|||
@ApiOperation("获取流程操作标题") |
|||
@GetMapping("/getFlowOperateTitle") |
|||
@ResponseBody |
|||
ResultBean<String> getFlowOperateTitle(@SpringQueryMap NodeQuery query) { |
|||
return adPurchaseAssetApplyService.getFlowOperateTitle(query); |
|||
} |
|||
|
|||
|
|||
} |
@ -0,0 +1,66 @@ |
|||
/********************************************************* |
|||
********************************************************* |
|||
******************** ******************* |
|||
************* ************ |
|||
******* _oo0oo_ ******* |
|||
*** o8888888o *** |
|||
* 88" . "88 * |
|||
* (| -_- |) * |
|||
* 0\ = /0 * |
|||
* ___/`---'\___ * |
|||
* .' \\| |// '. *
|
|||
* / \\||| : |||// \ *
|
|||
* / _||||| -:- |||||- \ * |
|||
* | | \\\ - /// | | *
|
|||
* | \_| ''\---/'' |_/ | * |
|||
* \ .-\__ '-' ___/-. / * |
|||
* ___'. .' /--.--\ `. .'___ * |
|||
* ."" '< `.___\_<|>_/___.' >' "". * |
|||
* | | : `- \`.;`\ _ /`;.`/ - ` : | | * |
|||
* \ \ `_. \_ __\ /__ _/ .-` / / * |
|||
* =====`-.____`.___ \_____/___.-`___.-'===== * |
|||
* `=---=' * |
|||
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * |
|||
*********__佛祖保佑__永无BUG__验收通过__钞票多多__********* |
|||
*********************************************************/ |
|||
package com.yxt.anrui.oa.biz.adallocateassetapply; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import com.yxt.common.core.domain.BaseEntity; |
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.math.BigDecimal; |
|||
|
|||
@Data |
|||
@ApiModel(value = "固定资产调拨", description = "固定资产调拨") |
|||
@TableName("ad_allocate_asset_apply") |
|||
public class AdAllocateAssetApply extends BaseEntity { |
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
@ApiModelProperty("基础表单sid") |
|||
private String formSid; // 基础表单sid
|
|||
@ApiModelProperty("固定资产类别key") |
|||
private String assetTypeKey; // 固定资产类别key
|
|||
@ApiModelProperty("固定资产类别value") |
|||
private String assetTypeValue; // 固定资产类别value
|
|||
@ApiModelProperty("调拨类别key") |
|||
private String allocateKey; // 调拨类别key
|
|||
@ApiModelProperty("调拨类别value") |
|||
private String allocateValue; // 调拨类别value
|
|||
@ApiModelProperty("调入部门sid") |
|||
private String intoDeptSid; // 调入部门sid
|
|||
@ApiModelProperty("调入部门") |
|||
private String intoDept; // 调入部门
|
|||
@ApiModelProperty("调出部门sid") |
|||
private String pullDeptSid; // 调出部门sid
|
|||
@ApiModelProperty("调出部门") |
|||
private String pullDept; // 调出部门
|
|||
@ApiModelProperty("调拨事由") |
|||
private String allocateReason; // 调拨事由
|
|||
@ApiModelProperty("调拨资产金额合计") |
|||
private BigDecimal totalAmount; // 调拨资产金额合计
|
|||
|
|||
|
|||
} |
@ -0,0 +1,38 @@ |
|||
package com.yxt.anrui.oa.biz.adallocateassetapply; |
|||
|
|||
import com.yxt.anrui.oa.biz.adallocateassetdetails.AdAllocateAssetListDetailsVo; |
|||
import com.yxt.anrui.oa.biz.oaform.OaFormCommonVo; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2025/1/21 |
|||
**/ |
|||
@Data |
|||
public class AdAllocateAssetApplyDetailVo extends OaFormCommonVo { |
|||
|
|||
|
|||
@ApiModelProperty("固定资产类别value") |
|||
private String assetTypeValue; // 固定资产类别value
|
|||
@ApiModelProperty("调拨类别value") |
|||
private String allocateValue; // 调拨类别value
|
|||
@ApiModelProperty("调入部门") |
|||
private String intoDept; // 调入部门
|
|||
@ApiModelProperty("调出部门") |
|||
private String pullDept; // 调出部门
|
|||
@ApiModelProperty("调拨事由") |
|||
private String allocateReason; // 调拨事由
|
|||
@ApiModelProperty("调拨资产金额合计") |
|||
private String totalAmount; // 调拨资产金额合计
|
|||
@ApiModelProperty("图片") |
|||
private List<String> files = new ArrayList<>(); |
|||
@ApiModelProperty("附件") |
|||
private List<String> appes = new ArrayList<>(); |
|||
private List<AdAllocateAssetListDetailsVo> list = new ArrayList<>(); |
|||
|
|||
} |
@ -0,0 +1,85 @@ |
|||
/********************************************************* |
|||
********************************************************* |
|||
******************** ******************* |
|||
************* ************ |
|||
******* _oo0oo_ ******* |
|||
*** o8888888o *** |
|||
* 88" . "88 * |
|||
* (| -_- |) * |
|||
* 0\ = /0 * |
|||
* ___/`---'\___ * |
|||
* .' \\| |// '. *
|
|||
* / \\||| : |||// \ *
|
|||
* / _||||| -:- |||||- \ * |
|||
* | | \\\ - /// | | *
|
|||
* | \_| ''\---/'' |_/ | * |
|||
* \ .-\__ '-' ___/-. / * |
|||
* ___'. .' /--.--\ `. .'___ * |
|||
* ."" '< `.___\_<|>_/___.' >' "". * |
|||
* | | : `- \`.;`\ _ /`;.`/ - ` : | | * |
|||
* \ \ `_. \_ __\ /__ _/ .-` / / * |
|||
* =====`-.____`.___ \_____/___.-`___.-'===== * |
|||
* `=---=' * |
|||
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * |
|||
*********__佛祖保佑__永无BUG__验收通过__钞票多多__********* |
|||
*********************************************************/ |
|||
package com.yxt.anrui.oa.biz.adallocateassetapply; |
|||
|
|||
|
|||
import com.yxt.anrui.oa.biz.adallocateassetdetails.AdAllocateAssetDetailsDto; |
|||
import com.yxt.anrui.oa.biz.oaform.FormCommon; |
|||
import com.yxt.anrui.oa.biz.oaform.OaFormDto; |
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @author liupopo |
|||
* @version 1.0 |
|||
* @since 1.0 |
|||
*/ |
|||
@Data |
|||
@ApiModel(value = "固定资产调拨 数据传输对象", description = "固定资产调拨 数据传输对象") |
|||
public class AdAllocateAssetApplyDto extends OaFormDto { |
|||
|
|||
|
|||
private FormCommon allocateObj; |
|||
@ApiModelProperty("调拨类别key") |
|||
private String allocateKey; // 调拨类别key
|
|||
@ApiModelProperty("调拨类别value") |
|||
private String allocateValue; // 调拨类别value
|
|||
|
|||
private FormCommon assetTypeObj; |
|||
@ApiModelProperty("固定资产类别key") |
|||
private String assetTypeKey; // 固定资产类别key
|
|||
@ApiModelProperty("固定资产类别value") |
|||
private String assetTypeValue; // 固定资产类别value
|
|||
|
|||
private FormCommon intoDeptObj; |
|||
@ApiModelProperty("调入部门sid") |
|||
private String intoDeptSid; // 调入部门sid
|
|||
@ApiModelProperty("调入部门") |
|||
private String intoDept; // 调入部门
|
|||
|
|||
private FormCommon pullDeptObj; |
|||
@ApiModelProperty("调出部门sid") |
|||
private String pullDeptSid; // 调出部门sid
|
|||
@ApiModelProperty("调出部门") |
|||
private String pullDept; // 调出部门
|
|||
|
|||
@ApiModelProperty("调拨事由") |
|||
private String allocateReason; // 调拨事由
|
|||
@ApiModelProperty("调拨资产金额合计") |
|||
private String totalAmount; // 调拨资产金额合计
|
|||
|
|||
@ApiModelProperty("图片") |
|||
private List<String> files = new ArrayList<>(); |
|||
@ApiModelProperty("附件") |
|||
private List<String> appes = new ArrayList<>(); |
|||
|
|||
private List<AdAllocateAssetDetailsDto> list = new ArrayList<>(); |
|||
|
|||
} |
@ -0,0 +1,37 @@ |
|||
/********************************************************* |
|||
********************************************************* |
|||
******************** ******************* |
|||
************* ************ |
|||
******* _oo0oo_ ******* |
|||
*** o8888888o *** |
|||
* 88" . "88 * |
|||
* (| -_- |) * |
|||
* 0\ = /0 * |
|||
* ___/`---'\___ * |
|||
* .' \\| |// '. *
|
|||
* / \\||| : |||// \ *
|
|||
* / _||||| -:- |||||- \ * |
|||
* | | \\\ - /// | | *
|
|||
* | \_| ''\---/'' |_/ | * |
|||
* \ .-\__ '-' ___/-. / * |
|||
* ___'. .' /--.--\ `. .'___ * |
|||
* ."" '< `.___\_<|>_/___.' >' "". * |
|||
* | | : `- \`.;`\ _ /`;.`/ - ` : | | * |
|||
* \ \ `_. \_ __\ /__ _/ .-` / / * |
|||
* =====`-.____`.___ \_____/___.-`___.-'===== * |
|||
* `=---=' * |
|||
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * |
|||
*********__佛祖保佑__永无BUG__验收通过__钞票多多__********* |
|||
*********************************************************/ |
|||
package com.yxt.anrui.oa.biz.adallocateassetapply; |
|||
|
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
|
|||
@Mapper |
|||
public interface AdAllocateAssetApplyMapper extends BaseMapper<AdAllocateAssetApply> { |
|||
|
|||
int selectBySid(String join); |
|||
|
|||
AdAllocateAssetApplyDetailVo details(String sid); |
|||
} |
@ -0,0 +1,38 @@ |
|||
<?xml version="1.0" encoding="UTF-8" ?> |
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
|||
<mapper namespace="com.yxt.anrui.oa.biz.adallocateassetapply.AdAllocateAssetApplyMapper"> |
|||
<!-- <where> ${ew.sqlSegment} </where>--> |
|||
<!-- ${ew.customSqlSegment} --> |
|||
|
|||
<select id="selectBySid" resultType="int"> |
|||
SELECT COUNT(*) |
|||
FROM ad_allocate_asset_apply ae |
|||
left join oa_form ofm on ae.formSid = ofm.sid |
|||
WHERE ofm.nodeState != '待提交' |
|||
and find_in_set(oa.sid, #{list}) |
|||
</select> |
|||
|
|||
<select id="details" resultMap="detailMap"> |
|||
select allocateReason, sid,assetTypeValue,allocateValue,totalAmount,intoDept,pullDept |
|||
from ad_allocate_asset_apply |
|||
where sid = #{sid} |
|||
</select> |
|||
|
|||
<resultMap id="detailMap" type="com.yxt.anrui.oa.biz.adallocateassetapply.AdAllocateAssetApplyDetailVo"> |
|||
<result column="allocateReason" property="allocateReason"/> |
|||
<result column="assetTypeValue" property="assetTypeValue"/> |
|||
<result column="allocateValue" property="allocateValue"/> |
|||
<result column="intoDept" property="intoDept"/> |
|||
<result column="pullDept" property="pullDept"/> |
|||
<result column="totalAmount" property="totalAmount"/> |
|||
<collection property="list" ofType="com.yxt.anrui.oa.biz.adallocateassetdetails.AdAllocateAssetListDetailsVo" |
|||
select="selectList" column="sid"> |
|||
</collection> |
|||
</resultMap> |
|||
|
|||
<select id="selectList" resultType="com.yxt.anrui.oa.biz.adpurchaseassetdetails.AdPurchaseAssetListDetailsVo"> |
|||
select * |
|||
from ad_allocate_asset_details |
|||
where mainSid = #{sid} |
|||
</select> |
|||
</mapper> |
@ -0,0 +1,339 @@ |
|||
/********************************************************* |
|||
********************************************************* |
|||
******************** ******************* |
|||
************* ************ |
|||
******* _oo0oo_ ******* |
|||
*** o8888888o *** |
|||
* 88" . "88 * |
|||
* (| -_- |) * |
|||
* 0\ = /0 * |
|||
* ___/`---'\___ * |
|||
* .' \\| |// '. *
|
|||
* / \\||| : |||// \ *
|
|||
* / _||||| -:- |||||- \ * |
|||
* | | \\\ - /// | | *
|
|||
* | \_| ''\---/'' |_/ | * |
|||
* \ .-\__ '-' ___/-. / * |
|||
* ___'. .' /--.--\ `. .'___ * |
|||
* ."" '< `.___\_<|>_/___.' >' "". * |
|||
* | | : `- \`.;`\ _ /`;.`/ - ` : | | * |
|||
* \ \ `_. \_ __\ /__ _/ .-` / / * |
|||
* =====`-.____`.___ \_____/___.-`___.-'===== * |
|||
* `=---=' * |
|||
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * |
|||
*********__佛祖保佑__永无BUG__验收通过__钞票多多__********* |
|||
*********************************************************/ |
|||
package com.yxt.anrui.oa.biz.adallocateassetapply; |
|||
|
|||
import cn.hutool.core.bean.BeanUtil; |
|||
import com.yxt.anrui.oa.biz.adallocateassetdetails.AdAllocateAssetDetailsDto; |
|||
import com.yxt.anrui.oa.biz.adallocateassetdetails.AdAllocateAssetDetailsService; |
|||
import com.yxt.anrui.oa.biz.adallocateassetdetails.AdAllocateAssetDetailsVo; |
|||
import com.yxt.anrui.oa.biz.oaappendix.OaAppendixService; |
|||
import com.yxt.anrui.oa.biz.oaform.*; |
|||
import com.yxt.anrui.oa.biz.oaform.flowable.*; |
|||
import com.yxt.anrui.oa.feign.file.OaFileEnum; |
|||
import com.yxt.anrui.oa.feign.flowable.flow.ProcDefEnum; |
|||
import com.yxt.anrui.oa.feign.portal.sysorganization.SysOrganizationFeign; |
|||
import com.yxt.anrui.oa.feign.portal.sysorganization.SysOrganizationVo; |
|||
import com.yxt.common.base.service.MybatisBaseService; |
|||
import com.yxt.common.core.result.ResultBean; |
|||
import org.apache.commons.lang3.StringUtils; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import java.util.Collections; |
|||
import java.util.HashMap; |
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
@Service |
|||
public class AdAllocateAssetApplyService extends MybatisBaseService<AdAllocateAssetApplyMapper, AdAllocateAssetApply> { |
|||
|
|||
@Autowired |
|||
private OaAppendixService oaAppendixService; |
|||
@Autowired |
|||
private OaFormService oaFormService; |
|||
@Autowired |
|||
private AdAllocateAssetDetailsService adAllocateAssetDetailsService; |
|||
@Autowired |
|||
private SysOrganizationFeign sysOrganizationFeign; |
|||
|
|||
public ResultBean<AdAllocateAssetApplyVo> getSaveInit(String userSid, String orgPath) { |
|||
ResultBean<AdAllocateAssetApplyVo> rb = ResultBean.fireFail(); |
|||
AdAllocateAssetApplyVo adAllocateAssetApplyVo = new AdAllocateAssetApplyVo(); |
|||
adAllocateAssetApplyVo.setCreateBySid(userSid); |
|||
adAllocateAssetApplyVo.setOrgSidPath(orgPath); |
|||
return rb.success().setData(adAllocateAssetApplyVo); |
|||
} |
|||
|
|||
public ResultBean<AdAllocateAssetApplyVo> getUpdateInit(String sid) { |
|||
ResultBean<AdAllocateAssetApplyVo> rb = ResultBean.fireFail(); |
|||
AdAllocateAssetApplyVo adAllocateAssetApplyVo = new AdAllocateAssetApplyVo(); |
|||
AdAllocateAssetApply adAllocateAssetApply = fetchBySid(sid); |
|||
if (adAllocateAssetApply == null) { |
|||
return rb.setMsg("该申请不存在"); |
|||
} |
|||
OaForm oaForm = oaFormService.fetchBySid(sid); |
|||
adAllocateAssetApplyVo.setTaskId(oaForm.getTaskId()); |
|||
adAllocateAssetApplyVo.setProcInsId(oaForm.getProcInstId()); |
|||
//根据部门sid获取orgPath并赋值
|
|||
SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(oaForm.getDeptSid()).getData(); |
|||
String orgSidPath = organizationVo.getOrgSidPath(); |
|||
adAllocateAssetApplyVo.setOrgSidPath(orgSidPath); |
|||
adAllocateAssetApplyVo.setCreateBySid(oaForm.getCreateBySid()); |
|||
BeanUtil.copyProperties(adAllocateAssetApply, adAllocateAssetApplyVo); |
|||
FormCommon assetTypeObj = FormCommon.of(adAllocateAssetApply.getAssetTypeKey(), adAllocateAssetApply.getAssetTypeValue()); |
|||
adAllocateAssetApplyVo.setAssetTypeObj(assetTypeObj); |
|||
FormCommon allocateObj = FormCommon.of(adAllocateAssetApply.getAllocateKey(), adAllocateAssetApply.getAllocateValue()); |
|||
adAllocateAssetApplyVo.setAllocateObj(allocateObj); |
|||
FormCommon intoDeptObj = FormCommon.of(adAllocateAssetApply.getIntoDeptSid(), adAllocateAssetApply.getIntoDept()); |
|||
adAllocateAssetApplyVo.setIntoDeptObj(intoDeptObj); |
|||
FormCommon pullDeptObj = FormCommon.of(adAllocateAssetApply.getPullDeptSid(), adAllocateAssetApply.getPullDept()); |
|||
adAllocateAssetApplyVo.setPullDeptObj(pullDeptObj); |
|||
List<AdAllocateAssetDetailsVo> list = adAllocateAssetDetailsService.getUpdateInit(sid); |
|||
list.removeAll(Collections.singleton(null)); |
|||
if (!list.isEmpty()) { |
|||
list.stream().forEach(details -> { |
|||
FormCommon assetObj = new FormCommon(); |
|||
assetObj.setId(details.getInventorySid()); |
|||
assetObj.setDictValue(details.getGoodsID()); |
|||
Map<String, Object> extra = new HashMap<>(); |
|||
if (StringUtils.isNotBlank(details.getGoodsSpuName())) { |
|||
extra.put("goodsSpuName",details.getGoodsSpuName()); |
|||
} |
|||
if (StringUtils.isNotBlank(details.getGoodsSkuOwnSpec())) { |
|||
extra.put("goodsSkuOwnSpec",details.getGoodsSkuOwnSpec()); |
|||
} |
|||
if (StringUtils.isNotBlank(details.getGoodsSkuCode())) { |
|||
extra.put("goodsSkuCode",details.getGoodsSkuCode()); |
|||
} |
|||
assetObj.setExtra(extra); |
|||
details.setAssetObj(assetObj); |
|||
}); |
|||
} |
|||
List<String> files = oaAppendixService.selectByLinkSid(sid, "图片"); |
|||
adAllocateAssetApplyVo.setFiles(files); |
|||
List<String> appes = oaAppendixService.selectByLinkSid(sid, "文件"); |
|||
adAllocateAssetApplyVo.setAppes(appes); |
|||
adAllocateAssetApplyVo.setList(list); |
|||
adAllocateAssetApplyVo.setSid(sid); |
|||
return rb.success().setData(adAllocateAssetApplyVo); |
|||
} |
|||
|
|||
public ResultBean<String> saveOrUpdateDto(AdAllocateAssetApplyDto dto) { |
|||
ResultBean<String> rb = ResultBean.fireFail(); |
|||
String sid = dto.getSid(); |
|||
List<String> files = dto.getFiles(); |
|||
List<String> appes = dto.getAppes(); |
|||
List<AdAllocateAssetDetailsDto> list = dto.getList(); |
|||
if (StringUtils.isBlank(sid)) { |
|||
// 新建操作
|
|||
AdAllocateAssetApply entity = new AdAllocateAssetApply(); |
|||
BeanUtil.copyProperties(dto, entity, "sid"); |
|||
|
|||
dto.setBillNo("GDZCDBSQ"); |
|||
dto.setSid(entity.getSid()); |
|||
ResultBean<String> resultBean = oaFormService.saveOaForm(dto); |
|||
|
|||
if (!resultBean.getSuccess()) { |
|||
return rb; |
|||
} |
|||
|
|||
entity.setFormSid(resultBean.getData()); |
|||
baseMapper.insert(entity); |
|||
sid = entity.getSid(); |
|||
} else { |
|||
// 更新操作
|
|||
AdAllocateAssetApply entity = fetchBySid(sid); |
|||
BeanUtil.copyProperties(dto, entity, "id", "sid"); |
|||
baseMapper.updateById(entity); |
|||
} |
|||
adAllocateAssetDetailsService.saveDetails(list, sid); |
|||
// 处理附件
|
|||
saveFiles(sid, files, OaFileEnum.ADALLOCATEASSETAPPLY.getAttachType(), "图片"); |
|||
saveFiles(sid, appes, OaFileEnum.ADALLOCATEASSETAPPLY.getAttachType(), "文件"); |
|||
return rb.success().setData(sid); |
|||
} |
|||
|
|||
// 保存文件
|
|||
private void saveFiles(String sid, List<String> files, String attachType, String fileType) { |
|||
files.removeAll(Collections.singleton(null)); |
|||
oaAppendixService.saveFile(sid, files, attachType, fileType); |
|||
} |
|||
|
|||
public ResultBean delAll(String[] sids) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
//查询该sid中是否有流程不是待提交的
|
|||
int count = baseMapper.selectBySid(StringUtils.join(sids, ",")); |
|||
if (count > 0) { |
|||
return rb.setMsg("删除的数据中包含已提交或已办结审批的数据,删除失败"); |
|||
} |
|||
delBySids(sids); |
|||
return rb.success(); |
|||
} |
|||
|
|||
public ResultBean<AdAllocateAssetApplyDetailVo> details(String sid, String application) { |
|||
ResultBean<AdAllocateAssetApplyDetailVo> rb = ResultBean.fireFail(); |
|||
AdAllocateAssetApplyDetailVo adAllocateAssetApplyDetailVo = baseMapper.details(sid); |
|||
if (adAllocateAssetApplyDetailVo == null) { |
|||
return rb.setMsg("该申请不存在"); |
|||
} |
|||
List<String> files = oaAppendixService.selectByLinkSid(sid, "图片"); |
|||
List<String> appes = oaAppendixService.selectByLinkSid(sid, "文件"); |
|||
adAllocateAssetApplyDetailVo.setFiles(files); |
|||
adAllocateAssetApplyDetailVo.setAppes(appes); |
|||
//基础字段赋值
|
|||
BeanUtil.copyProperties(oaFormService.getDetails(sid), adAllocateAssetApplyDetailVo); |
|||
return rb.success().setData(adAllocateAssetApplyDetailVo); |
|||
} |
|||
|
|||
/** |
|||
* 提交 |
|||
* |
|||
* @param dto |
|||
* @return |
|||
*/ |
|||
public ResultBean submit(AdAllocateAssetApplyDto dto) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
ResultBean<String> stringResultBean = saveOrUpdateDto(dto); |
|||
if (!stringResultBean.getSuccess()) { |
|||
return rb.setMsg(stringResultBean.getData()); |
|||
} |
|||
String businessSid = stringResultBean.getData(); |
|||
|
|||
SubmitDto submitDto = new SubmitDto(); |
|||
submitDto.setUserSid(dto.getCreateBySid()); |
|||
submitDto.setBusinessSid(businessSid); |
|||
|
|||
Map<String, Object> formVariables = new HashMap<>(); |
|||
formVariables = getMap(formVariables, businessSid); |
|||
submitDto.setFormVariables(formVariables); |
|||
submitDto.setProcDefId(ProcDefEnum.HIHIREAPPLY.getProDefId()); |
|||
submitDto.setNextTaskId(dto.getTaskId()); |
|||
submitDto.setRule(OaFormRuleEnum.DIRECTLY_UNDER.getRule()); |
|||
return oaFormService.submit(submitDto); |
|||
} |
|||
|
|||
/** |
|||
* 办理(同意) |
|||
* |
|||
* @param dto |
|||
* @return |
|||
*/ |
|||
public ResultBean complete(CompleteDto dto) { |
|||
Map<String, Object> formVariables = dto.getFormVariables(); |
|||
formVariables = getMap(formVariables, dto.getBusinessSid()); |
|||
dto.setFormVariables(formVariables); |
|||
BusinessVariablesDto businessVariablesDto = new BusinessVariablesDto(); |
|||
BeanUtil.copyProperties(dto, businessVariablesDto); |
|||
return oaFormService.complete(businessVariablesDto); |
|||
} |
|||
|
|||
/** |
|||
* 驳回 |
|||
* |
|||
* @param dto |
|||
* @return |
|||
*/ |
|||
public ResultBean reject(TaskDto dto) { |
|||
Map<String, Object> formVariables = dto.getFormVariables(); |
|||
formVariables = getMap(formVariables, dto.getBusinessSid()); |
|||
dto.setFormVariables(formVariables); |
|||
return oaFormService.reject(dto); |
|||
} |
|||
|
|||
public ResultBean<String> getFlowOperateTitle(NodeQuery query) { |
|||
// 默认失败返回
|
|||
ResultBean<String> rb = ResultBean.fireFail(); |
|||
|
|||
// 获取next值和formVariables
|
|||
int next = query.getNext(); |
|||
|
|||
// 获取并更新formVariables
|
|||
Map<String, Object> formVariables = getMap(query.getFormVariables(), query.getBusinessSid()); |
|||
query.setFormVariables(formVariables); |
|||
|
|||
// 校验next参数是否有效(只允许0或1)
|
|||
if (next != 0 && next != 1) { |
|||
return rb.setMsg("参数错误:next"); // 如果next不是0或1,返回错误信息
|
|||
} |
|||
|
|||
// 获取节点名称
|
|||
String data = getNodeName(query, next); |
|||
|
|||
// 如果data为null,表示未获取到有效的节点信息
|
|||
if (data == null) { |
|||
return rb.setMsg("没有获取到节点信息"); // 返回错误消息
|
|||
} |
|||
|
|||
// 返回成功的结果和获取到的节点名称
|
|||
return rb.success().setData(data); |
|||
} |
|||
|
|||
/** |
|||
* 网关参数组成 |
|||
* |
|||
* @param formVariables |
|||
* @param sid |
|||
* @return |
|||
*/ |
|||
public Map<String, Object> getMap(Map<String, Object> formVariables, String sid) { |
|||
Map<String, Object> appMap = new HashMap<>(); |
|||
appMap.put("sid", sid); |
|||
/*appMap.put("editUrl", "approval/#/pages/EditOnboradingApplyActivity?sid=" + sid); |
|||
appMap.put("detailUrl", "approval/#/pages/DetailOnboradingApplyActivity?sid=" + sid); |
|||
appMap.put("flowOperateUrl", "oa/v1/HrHireApply/getFlowOperateTitle"); |
|||
appMap.put("agreeUrl", "oa/v1/HrHireApply/complete"); |
|||
appMap.put("stopUrl", "oa/v1/oaform/breakProcess"); |
|||
appMap.put("rejectUrl", "oa/v1/HrHireApply/reject"); |
|||
appMap.put("recallUrl", "oa/v1/oaform/revokeProcess"); |
|||
appMap.put("signUrl", "oa/v1/oaform/delegate"); |
|||
appMap.put("transferUrl", "oa/v1/oaform/assignTask");*/ |
|||
appMap.put(OaFormUrlEnum.HRHIREAPPLY_EDIT.getType(), OaFormUrlEnum.HRHIREAPPLY_EDIT.getUrl() + "?sid=" + sid); |
|||
appMap.put(OaFormUrlEnum.HRHIREAPPLY_DETAIL.getType(), OaFormUrlEnum.HRHIREAPPLY_DETAIL.getUrl() + "?sid=" + sid); |
|||
appMap.put(OaFormUrlEnum.HRHIREAPPLY_FLOWOPERATEURL.getType(), OaFormUrlEnum.HRHIREAPPLY_FLOWOPERATEURL.getUrl()); |
|||
appMap.put(OaFormUrlEnum.HRHIREAPPLY_AGREEURL.getType(), OaFormUrlEnum.HRHIREAPPLY_AGREEURL.getUrl()); |
|||
appMap.put(OaFormUrlEnum.STOPURL.getType(), OaFormUrlEnum.STOPURL.getUrl()); |
|||
appMap.put(OaFormUrlEnum.HRHIREAPPLY_REJECTURL.getType(), OaFormUrlEnum.HRHIREAPPLY_REJECTURL.getUrl()); |
|||
appMap.put(OaFormUrlEnum.RECALLURL.getType(), OaFormUrlEnum.RECALLURL.getUrl()); |
|||
appMap.put(OaFormUrlEnum.SIGNURL.getType(), OaFormUrlEnum.SIGNURL.getUrl()); |
|||
appMap.put(OaFormUrlEnum.TRANSFERURL.getType(), OaFormUrlEnum.TRANSFERURL.getUrl()); |
|||
formVariables.put("app", appMap); |
|||
//根据组织查询是否是分公司
|
|||
OaForm oaForm = oaFormService.fetchBySid(sid); |
|||
AdAllocateAssetApply adExpatriatesApply = fetchBySid(sid); |
|||
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(oaForm.getUseOrgSid()).getData(); |
|||
//是否是分公司
|
|||
formVariables.put("isTrue", sysOrganization.getIsDept() == 0); |
|||
return formVariables; |
|||
} |
|||
|
|||
/** |
|||
* 根据next的值获取前一个节点或下一个节点的名称。 |
|||
* |
|||
* @param query 包含查询所需参数的NodeQuery对象 |
|||
* @param next 参数,0表示上一环节,1表示下一环节 |
|||
* @return 节点名称,如果失败则返回null |
|||
*/ |
|||
private String getNodeName(NodeQuery query, int next) { |
|||
// 根据next值选择相应的服务方法获取节点信息
|
|||
ResultBean<List<NodeVo>> resultBean = (next == 0) |
|||
? oaFormService.getPreviousNodesForReject(query) // 获取上一环节的节点
|
|||
: oaFormService.getNextNodesForSubmit(query); // 获取下一环节的节点
|
|||
// 如果服务调用成功
|
|||
if (resultBean.getSuccess()) { |
|||
// 清除结果列表中的null值,避免空节点
|
|||
resultBean.getData().removeAll(Collections.singleton(null)); |
|||
// 如果结果列表非空,返回第一个节点的名称
|
|||
if (!resultBean.getData().isEmpty()) { |
|||
return resultBean.getData().get(0).getName(); |
|||
} |
|||
} else { |
|||
// 如果服务调用失败,返回null
|
|||
return null; |
|||
} |
|||
// 如果结果为空,返回null
|
|||
return null; |
|||
} |
|||
} |
@ -0,0 +1,85 @@ |
|||
/********************************************************* |
|||
********************************************************* |
|||
******************** ******************* |
|||
************* ************ |
|||
******* _oo0oo_ ******* |
|||
*** o8888888o *** |
|||
* 88" . "88 * |
|||
* (| -_- |) * |
|||
* 0\ = /0 * |
|||
* ___/`---'\___ * |
|||
* .' \\| |// '. *
|
|||
* / \\||| : |||// \ *
|
|||
* / _||||| -:- |||||- \ * |
|||
* | | \\\ - /// | | *
|
|||
* | \_| ''\---/'' |_/ | * |
|||
* \ .-\__ '-' ___/-. / * |
|||
* ___'. .' /--.--\ `. .'___ * |
|||
* ."" '< `.___\_<|>_/___.' >' "". * |
|||
* | | : `- \`.;`\ _ /`;.`/ - ` : | | * |
|||
* \ \ `_. \_ __\ /__ _/ .-` / / * |
|||
* =====`-.____`.___ \_____/___.-`___.-'===== * |
|||
* `=---=' * |
|||
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * |
|||
*********__佛祖保佑__永无BUG__验收通过__钞票多多__********* |
|||
*********************************************************/ |
|||
package com.yxt.anrui.oa.biz.adallocateassetapply; |
|||
|
|||
import com.yxt.anrui.oa.biz.adallocateassetdetails.AdAllocateAssetDetailsVo; |
|||
import com.yxt.anrui.oa.biz.oaform.FormCommon; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
@Data |
|||
public class AdAllocateAssetApplyVo { |
|||
|
|||
private String sid; |
|||
/* private String userSid; |
|||
private String orgPath;*/ |
|||
private String orgSidPath; |
|||
private String createBySid; |
|||
|
|||
private FormCommon allocateObj; |
|||
@ApiModelProperty("调拨类别key") |
|||
private String allocateKey; // 调拨类别key
|
|||
@ApiModelProperty("调拨类别value") |
|||
private String allocateValue; // 调拨类别value
|
|||
|
|||
private FormCommon assetTypeObj; |
|||
@ApiModelProperty("固定资产类别key") |
|||
private String assetTypeKey; // 固定资产类别key
|
|||
@ApiModelProperty("固定资产类别value") |
|||
private String assetTypeValue; // 固定资产类别value
|
|||
|
|||
private FormCommon intoDeptObj; |
|||
@ApiModelProperty("调入部门sid") |
|||
private String intoDeptSid; // 调入部门sid
|
|||
@ApiModelProperty("调入部门") |
|||
private String intoDept; // 调入部门
|
|||
|
|||
private FormCommon pullDeptObj; |
|||
@ApiModelProperty("调出部门sid") |
|||
private String pullDeptSid; // 调出部门sid
|
|||
@ApiModelProperty("调出部门") |
|||
private String pullDept; // 调出部门
|
|||
|
|||
@ApiModelProperty("调拨事由") |
|||
private String allocateReason; // 调拨事由
|
|||
@ApiModelProperty("调拨资产金额合计") |
|||
private String totalAmount; // 调拨资产金额合计
|
|||
|
|||
@ApiModelProperty("图片") |
|||
private List<String> files = new ArrayList<>(); |
|||
@ApiModelProperty("附件") |
|||
private List<String> appes = new ArrayList<>(); |
|||
|
|||
private List<AdAllocateAssetDetailsVo> list = new ArrayList<>(); |
|||
|
|||
private String taskId; |
|||
@ApiModelProperty("流程实例id") |
|||
private String procInsId; |
|||
|
|||
} |
@ -0,0 +1,60 @@ |
|||
/********************************************************* |
|||
********************************************************* |
|||
******************** ******************* |
|||
************* ************ |
|||
******* _oo0oo_ ******* |
|||
*** o8888888o *** |
|||
* 88" . "88 * |
|||
* (| -_- |) * |
|||
* 0\ = /0 * |
|||
* ___/`---'\___ * |
|||
* .' \\| |// '. *
|
|||
* / \\||| : |||// \ *
|
|||
* / _||||| -:- |||||- \ * |
|||
* | | \\\ - /// | | *
|
|||
* | \_| ''\---/'' |_/ | * |
|||
* \ .-\__ '-' ___/-. / * |
|||
* ___'. .' /--.--\ `. .'___ * |
|||
* ."" '< `.___\_<|>_/___.' >' "". * |
|||
* | | : `- \`.;`\ _ /`;.`/ - ` : | | * |
|||
* \ \ `_. \_ __\ /__ _/ .-` / / * |
|||
* =====`-.____`.___ \_____/___.-`___.-'===== * |
|||
* `=---=' * |
|||
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * |
|||
*********__佛祖保佑__永无BUG__验收通过__钞票多多__********* |
|||
*********************************************************/ |
|||
package com.yxt.anrui.oa.biz.adallocateassetdetails; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import com.yxt.common.core.domain.BaseEntity; |
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.math.BigDecimal; |
|||
|
|||
@Data |
|||
@ApiModel(value = "固定资产调拨列表", description = "固定资产调拨") |
|||
@TableName("ad_allocate_asset_details") |
|||
public class AdAllocateAssetDetails extends BaseEntity { |
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
@ApiModelProperty("申请sid") |
|||
private String mainSid; // 申请sid
|
|||
@ApiModelProperty("库存sid") |
|||
private String inventorySid; // 库存sid
|
|||
@ApiModelProperty("固定资产ID") |
|||
private String goodsID; // 固定资产ID
|
|||
@ApiModelProperty("固定资产编号") |
|||
private String goodsSkuCode; // 固定资产编号
|
|||
@ApiModelProperty("固定资产名称") |
|||
private String goodsSpuName; // 固定资产名称
|
|||
@ApiModelProperty("规格型号") |
|||
private String goodsSkuOwnSpec; // 规格型号
|
|||
@ApiModelProperty("固定资产情况说明") |
|||
private String goodsShows; // 固定资产情况说明
|
|||
@ApiModelProperty("固定资产净值") |
|||
private BigDecimal goodsWorth; // 固定资产净值
|
|||
|
|||
|
|||
} |
@ -0,0 +1,69 @@ |
|||
/********************************************************* |
|||
********************************************************* |
|||
******************** ******************* |
|||
************* ************ |
|||
******* _oo0oo_ ******* |
|||
*** o8888888o *** |
|||
* 88" . "88 * |
|||
* (| -_- |) * |
|||
* 0\ = /0 * |
|||
* ___/`---'\___ * |
|||
* .' \\| |// '. *
|
|||
* / \\||| : |||// \ *
|
|||
* / _||||| -:- |||||- \ * |
|||
* | | \\\ - /// | | *
|
|||
* | \_| ''\---/'' |_/ | * |
|||
* \ .-\__ '-' ___/-. / * |
|||
* ___'. .' /--.--\ `. .'___ * |
|||
* ."" '< `.___\_<|>_/___.' >' "". * |
|||
* | | : `- \`.;`\ _ /`;.`/ - ` : | | * |
|||
* \ \ `_. \_ __\ /__ _/ .-` / / * |
|||
* =====`-.____`.___ \_____/___.-`___.-'===== * |
|||
* `=---=' * |
|||
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * |
|||
*********__佛祖保佑__永无BUG__验收通过__钞票多多__********* |
|||
*********************************************************/ |
|||
package com.yxt.anrui.oa.biz.adallocateassetdetails; |
|||
|
|||
|
|||
import com.yxt.anrui.oa.biz.oaform.FormCommon; |
|||
import com.yxt.common.core.vo.Vo; |
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* Project: yxt-oa(认定人员) <br/> |
|||
* File: AdExpatriatesDetailVo.java <br/> |
|||
* Class: com.yxt.anrui.oa.api.adexpatriatesdetail.AdExpatriatesDetailVo <br/> |
|||
* Description: 驻外人员认定列表 视图数据对象. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2025-01-20 15:35:08 <br/> |
|||
* |
|||
* @author liupopo |
|||
* @version 1.0 |
|||
* @since 1.0 |
|||
*/ |
|||
@Data |
|||
@ApiModel(value = "固定资产列表 视图数据对象", description = "固定资产列表 视图数据对象") |
|||
public class AdAllocateAssetDetailsDto implements Vo { |
|||
|
|||
@ApiModelProperty("固定资产") |
|||
private FormCommon assetObj; |
|||
|
|||
@ApiModelProperty("库存sid") |
|||
private String inventorySid; // 库存sid
|
|||
@ApiModelProperty("固定资产ID") |
|||
private String goodsID; // 固定资产ID
|
|||
@ApiModelProperty("固定资产编号") |
|||
private String goodsSkuCode; // 固定资产编号
|
|||
@ApiModelProperty("固定资产名称") |
|||
private String goodsSpuName; // 固定资产名称
|
|||
@ApiModelProperty("规格型号") |
|||
private String goodsSkuOwnSpec; // 规格型号
|
|||
@ApiModelProperty("固定资产情况说明") |
|||
private String goodsShows; // 固定资产情况说明
|
|||
@ApiModelProperty("固定资产净值") |
|||
private String goodsWorth; // 固定资产净值
|
|||
} |
@ -0,0 +1,41 @@ |
|||
/********************************************************* |
|||
********************************************************* |
|||
******************** ******************* |
|||
************* ************ |
|||
******* _oo0oo_ ******* |
|||
*** o8888888o *** |
|||
* 88" . "88 * |
|||
* (| -_- |) * |
|||
* 0\ = /0 * |
|||
* ___/`---'\___ * |
|||
* .' \\| |// '. *
|
|||
* / \\||| : |||// \ *
|
|||
* / _||||| -:- |||||- \ * |
|||
* | | \\\ - /// | | *
|
|||
* | \_| ''\---/'' |_/ | * |
|||
* \ .-\__ '-' ___/-. / * |
|||
* ___'. .' /--.--\ `. .'___ * |
|||
* ."" '< `.___\_<|>_/___.' >' "". * |
|||
* | | : `- \`.;`\ _ /`;.`/ - ` : | | * |
|||
* \ \ `_. \_ __\ /__ _/ .-` / / * |
|||
* =====`-.____`.___ \_____/___.-`___.-'===== * |
|||
* `=---=' * |
|||
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * |
|||
*********__佛祖保佑__永无BUG__验收通过__钞票多多__********* |
|||
*********************************************************/ |
|||
package com.yxt.anrui.oa.biz.adallocateassetdetails; |
|||
|
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
import org.apache.ibatis.annotations.Select; |
|||
|
|||
import java.util.List; |
|||
|
|||
@Mapper |
|||
public interface AdAllocateAssetDetailsMapper extends BaseMapper<AdAllocateAssetDetails> { |
|||
|
|||
@Select("select * from ad_allocate_asset_details where mainSid = #{mainSid}") |
|||
List<AdAllocateAssetDetails> selectByMainSid(String mainSid); |
|||
|
|||
List<AdAllocateAssetDetailsVo> getUpdateInit(String sid); |
|||
} |
@ -0,0 +1,9 @@ |
|||
<?xml version="1.0" encoding="UTF-8" ?> |
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
|||
<mapper namespace="com.yxt.anrui.oa.biz.adallocateassetdetails.AdAllocateAssetDetailsMapper"> |
|||
<select id="getUpdateInit" resultType="com.yxt.anrui.oa.biz.adallocateassetdetails.AdAllocateAssetDetailsVo"> |
|||
select * |
|||
from ad_allocate_asset_details |
|||
where mainSid = #{sid} |
|||
</select> |
|||
</mapper> |
@ -0,0 +1,83 @@ |
|||
/********************************************************* |
|||
********************************************************* |
|||
******************** ******************* |
|||
************* ************ |
|||
******* _oo0oo_ ******* |
|||
*** o8888888o *** |
|||
* 88" . "88 * |
|||
* (| -_- |) * |
|||
* 0\ = /0 * |
|||
* ___/`---'\___ * |
|||
* .' \\| |// '. *
|
|||
* / \\||| : |||// \ *
|
|||
* / _||||| -:- |||||- \ * |
|||
* | | \\\ - /// | | *
|
|||
* | \_| ''\---/'' |_/ | * |
|||
* \ .-\__ '-' ___/-. / * |
|||
* ___'. .' /--.--\ `. .'___ * |
|||
* ."" '< `.___\_<|>_/___.' >' "". * |
|||
* | | : `- \`.;`\ _ /`;.`/ - ` : | | * |
|||
* \ \ `_. \_ __\ /__ _/ .-` / / * |
|||
* =====`-.____`.___ \_____/___.-`___.-'===== * |
|||
* `=---=' * |
|||
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * |
|||
*********__佛祖保佑__永无BUG__验收通过__钞票多多__********* |
|||
*********************************************************/ |
|||
package com.yxt.anrui.oa.biz.adallocateassetdetails; |
|||
|
|||
import cn.hutool.core.bean.BeanUtil; |
|||
import com.yxt.anrui.oa.biz.oaform.FormCommon; |
|||
import com.yxt.common.base.service.MybatisBaseService; |
|||
import org.apache.commons.lang3.StringUtils; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import java.util.Collections; |
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
@Service |
|||
public class AdAllocateAssetDetailsService extends MybatisBaseService<AdAllocateAssetDetailsMapper, AdAllocateAssetDetails> { |
|||
|
|||
public void saveDetails(List<AdAllocateAssetDetailsDto> list, String sid) { |
|||
//根据sid查询明细并删除
|
|||
List<AdAllocateAssetDetails> list2 = baseMapper.selectByMainSid(sid); |
|||
list2.removeAll(Collections.singleton(null)); |
|||
if (!list2.isEmpty()) { |
|||
list2.stream().forEach(v -> { |
|||
deleteBySid(v.getSid()); |
|||
}); |
|||
} |
|||
list.removeAll(Collections.singleton(null)); |
|||
if (!list.isEmpty()) { |
|||
list.stream().forEach(details -> { |
|||
AdAllocateAssetDetails adAllocateAssetDetails = new AdAllocateAssetDetails(); |
|||
BeanUtil.copyProperties(details, adAllocateAssetDetails); |
|||
adAllocateAssetDetails.setMainSid(sid); |
|||
FormCommon assetObj = details.getAssetObj(); |
|||
adAllocateAssetDetails.setGoodsID(assetObj.getDictValue()); |
|||
adAllocateAssetDetails.setInventorySid(assetObj.getId()); |
|||
Map<String, Object> extra = assetObj.getExtra(); |
|||
if (null != extra) { |
|||
for (Map.Entry <String,Object> entry : extra.entrySet()) { |
|||
if (StringUtils.isNotBlank((String)entry.getValue())) { |
|||
if (entry.getKey().equals("goodsSpuName")) { |
|||
adAllocateAssetDetails.setGoodsSpuName((String)entry.getValue()); |
|||
} |
|||
if (entry.getKey().equals("goodsSkuOwnSpec")) { |
|||
adAllocateAssetDetails.setGoodsSkuOwnSpec((String)entry.getValue()); |
|||
} |
|||
if (entry.getKey().equals("goodsSkuCode")) { |
|||
adAllocateAssetDetails.setGoodsSkuCode((String)entry.getValue()); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
baseMapper.insert(adAllocateAssetDetails); |
|||
}); |
|||
} |
|||
} |
|||
|
|||
public List<AdAllocateAssetDetailsVo> getUpdateInit(String sid) { |
|||
return baseMapper.getUpdateInit(sid); |
|||
} |
|||
} |
@ -0,0 +1,71 @@ |
|||
/********************************************************* |
|||
********************************************************* |
|||
******************** ******************* |
|||
************* ************ |
|||
******* _oo0oo_ ******* |
|||
*** o8888888o *** |
|||
* 88" . "88 * |
|||
* (| -_- |) * |
|||
* 0\ = /0 * |
|||
* ___/`---'\___ * |
|||
* .' \\| |// '. *
|
|||
* / \\||| : |||// \ *
|
|||
* / _||||| -:- |||||- \ * |
|||
* | | \\\ - /// | | *
|
|||
* | \_| ''\---/'' |_/ | * |
|||
* \ .-\__ '-' ___/-. / * |
|||
* ___'. .' /--.--\ `. .'___ * |
|||
* ."" '< `.___\_<|>_/___.' >' "". * |
|||
* | | : `- \`.;`\ _ /`;.`/ - ` : | | * |
|||
* \ \ `_. \_ __\ /__ _/ .-` / / * |
|||
* =====`-.____`.___ \_____/___.-`___.-'===== * |
|||
* `=---=' * |
|||
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * |
|||
*********__佛祖保佑__永无BUG__验收通过__钞票多多__********* |
|||
*********************************************************/ |
|||
package com.yxt.anrui.oa.biz.adallocateassetdetails; |
|||
|
|||
|
|||
import com.yxt.anrui.oa.biz.oaform.FormCommon; |
|||
import com.yxt.common.core.vo.Vo; |
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* Project: yxt-oa(认定人员) <br/> |
|||
* File: AdExpatriatesDetailVo.java <br/> |
|||
* Class: com.yxt.anrui.oa.api.adexpatriatesdetail.AdExpatriatesDetailVo <br/> |
|||
* Description: 驻外人员认定列表 视图数据对象. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2025-01-20 15:35:08 <br/> |
|||
* |
|||
* @author liupopo |
|||
* @version 1.0 |
|||
* @since 1.0 |
|||
*/ |
|||
@Data |
|||
@ApiModel(value = "固定资产列表 视图数据对象", description = "固定资产列表 视图数据对象") |
|||
public class AdAllocateAssetDetailsVo implements Vo { |
|||
|
|||
private String sid; |
|||
|
|||
@ApiModelProperty("固定资产") |
|||
private FormCommon assetObj; |
|||
|
|||
@ApiModelProperty("库存sid") |
|||
private String inventorySid; // 库存sid
|
|||
@ApiModelProperty("固定资产ID") |
|||
private String goodsID; // 固定资产ID
|
|||
@ApiModelProperty("固定资产编号") |
|||
private String goodsSkuCode; // 固定资产编号
|
|||
@ApiModelProperty("固定资产名称") |
|||
private String goodsSpuName; // 固定资产名称
|
|||
@ApiModelProperty("规格型号") |
|||
private String goodsSkuOwnSpec; // 规格型号
|
|||
@ApiModelProperty("固定资产情况说明") |
|||
private String goodsShows; // 固定资产情况说明
|
|||
@ApiModelProperty("固定资产净值") |
|||
private String goodsWorth; // 固定资产净值
|
|||
} |
@ -0,0 +1,66 @@ |
|||
/********************************************************* |
|||
********************************************************* |
|||
******************** ******************* |
|||
************* ************ |
|||
******* _oo0oo_ ******* |
|||
*** o8888888o *** |
|||
* 88" . "88 * |
|||
* (| -_- |) * |
|||
* 0\ = /0 * |
|||
* ___/`---'\___ * |
|||
* .' \\| |// '. *
|
|||
* / \\||| : |||// \ *
|
|||
* / _||||| -:- |||||- \ * |
|||
* | | \\\ - /// | | *
|
|||
* | \_| ''\---/'' |_/ | * |
|||
* \ .-\__ '-' ___/-. / * |
|||
* ___'. .' /--.--\ `. .'___ * |
|||
* ."" '< `.___\_<|>_/___.' >' "". * |
|||
* | | : `- \`.;`\ _ /`;.`/ - ` : | | * |
|||
* \ \ `_. \_ __\ /__ _/ .-` / / * |
|||
* =====`-.____`.___ \_____/___.-`___.-'===== * |
|||
* `=---=' * |
|||
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * |
|||
*********__佛祖保佑__永无BUG__验收通过__钞票多多__********* |
|||
*********************************************************/ |
|||
package com.yxt.anrui.oa.biz.adallocateassetdetails; |
|||
|
|||
|
|||
import com.yxt.common.core.vo.Vo; |
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* Project: yxt-oa(认定人员) <br/> |
|||
* File: AdExpatriatesDetailVo.java <br/> |
|||
* Class: com.yxt.anrui.oa.api.adexpatriatesdetail.AdExpatriatesDetailVo <br/> |
|||
* Description: 驻外人员认定列表 视图数据对象. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2025-01-20 15:35:08 <br/> |
|||
* |
|||
* @author liupopo |
|||
* @version 1.0 |
|||
* @since 1.0 |
|||
*/ |
|||
@Data |
|||
@ApiModel(value = "固定资产列表 视图数据对象", description = "固定资产列表 视图数据对象") |
|||
public class AdAllocateAssetListDetailsVo implements Vo { |
|||
|
|||
private String sid; |
|||
|
|||
@ApiModelProperty("固定资产ID") |
|||
private String goodsID; // 固定资产ID
|
|||
@ApiModelProperty("固定资产编号") |
|||
private String goodsSkuCode; // 固定资产编号
|
|||
@ApiModelProperty("固定资产名称") |
|||
private String goodsSpuName; // 固定资产名称
|
|||
@ApiModelProperty("规格型号") |
|||
private String goodsSkuOwnSpec; // 规格型号
|
|||
@ApiModelProperty("固定资产情况说明") |
|||
private String goodsShows; // 固定资产情况说明
|
|||
@ApiModelProperty("固定资产净值") |
|||
private String goodsWorth; // 固定资产净值
|
|||
|
|||
} |
@ -0,0 +1,55 @@ |
|||
/********************************************************* |
|||
********************************************************* |
|||
******************** ******************* |
|||
************* ************ |
|||
******* _oo0oo_ ******* |
|||
*** o8888888o *** |
|||
* 88" . "88 * |
|||
* (| -_- |) * |
|||
* 0\ = /0 * |
|||
* ___/`---'\___ * |
|||
* .' \\| |// '. *
|
|||
* / \\||| : |||// \ *
|
|||
* / _||||| -:- |||||- \ * |
|||
* | | \\\ - /// | | *
|
|||
* | \_| ''\---/'' |_/ | * |
|||
* \ .-\__ '-' ___/-. / * |
|||
* ___'. .' /--.--\ `. .'___ * |
|||
* ."" '< `.___\_<|>_/___.' >' "". * |
|||
* | | : `- \`.;`\ _ /`;.`/ - ` : | | * |
|||
* \ \ `_. \_ __\ /__ _/ .-` / / * |
|||
* =====`-.____`.___ \_____/___.-`___.-'===== * |
|||
* `=---=' * |
|||
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * |
|||
*********__佛祖保佑__永无BUG__验收通过__钞票多多__********* |
|||
*********************************************************/ |
|||
package com.yxt.anrui.oa.biz.adpurchaseassetapply; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import com.yxt.common.core.domain.BaseEntity; |
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.math.BigDecimal; |
|||
|
|||
@Data |
|||
@ApiModel(value = "固定资产采购", description = "固定资产采购") |
|||
@TableName("ad_purchase_asset_apply") |
|||
public class AdPurchaseAssetApply extends BaseEntity { |
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
@ApiModelProperty("基础表单sid") |
|||
private String formSid; // 基础表单sid
|
|||
@ApiModelProperty("关联审批sid列表,英文逗号分隔") |
|||
private String linkFormSids; // 关联审批sid列表,英文逗号分隔
|
|||
@ApiModelProperty("固定资产类别key") |
|||
private String assetTypeKey; // 固定资产类别key
|
|||
@ApiModelProperty("固定资产类别value") |
|||
private String assetTypeValue; // 固定资产类别value
|
|||
@ApiModelProperty("是否有服务站机器设备(1是,0否)") |
|||
private String isStationKey; // 是否有服务站机器设备(1是,0否)
|
|||
private String isStationValue; // 是否有服务站机器设备(1是,0否)
|
|||
@ApiModelProperty("合计采购金额") |
|||
private BigDecimal totalAmount; // 合计采购金额
|
|||
} |
@ -0,0 +1,34 @@ |
|||
package com.yxt.anrui.oa.biz.adpurchaseassetapply; |
|||
|
|||
import com.yxt.anrui.oa.biz.adpurchaseassetdetails.AdPurchaseAssetListDetailsVo; |
|||
import com.yxt.anrui.oa.biz.oaform.OaFormCommonVo; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2025/1/21 |
|||
**/ |
|||
@Data |
|||
public class AdPurchaseAssetApplyDetailVo extends OaFormCommonVo { |
|||
|
|||
|
|||
|
|||
@ApiModelProperty("固定资产类别value") |
|||
private String assetTypeValue; // 固定资产类别value
|
|||
private String isStationValue; // 是否有服务站机器设备(1是,0否)
|
|||
@ApiModelProperty("备注") |
|||
private String remarks; |
|||
@ApiModelProperty("合计采购金额") |
|||
private String totalAmount; // 合计采购金额
|
|||
@ApiModelProperty("图片") |
|||
private List<String> files = new ArrayList<>(); |
|||
@ApiModelProperty("附件") |
|||
private List<String> appes = new ArrayList<>(); |
|||
private List<AdPurchaseAssetListDetailsVo> list = new ArrayList<>(); |
|||
|
|||
} |
@ -0,0 +1,80 @@ |
|||
/********************************************************* |
|||
********************************************************* |
|||
******************** ******************* |
|||
************* ************ |
|||
******* _oo0oo_ ******* |
|||
*** o8888888o *** |
|||
* 88" . "88 * |
|||
* (| -_- |) * |
|||
* 0\ = /0 * |
|||
* ___/`---'\___ * |
|||
* .' \\| |// '. *
|
|||
* / \\||| : |||// \ *
|
|||
* / _||||| -:- |||||- \ * |
|||
* | | \\\ - /// | | *
|
|||
* | \_| ''\---/'' |_/ | * |
|||
* \ .-\__ '-' ___/-. / * |
|||
* ___'. .' /--.--\ `. .'___ * |
|||
* ."" '< `.___\_<|>_/___.' >' "". * |
|||
* | | : `- \`.;`\ _ /`;.`/ - ` : | | * |
|||
* \ \ `_. \_ __\ /__ _/ .-` / / * |
|||
* =====`-.____`.___ \_____/___.-`___.-'===== * |
|||
* `=---=' * |
|||
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * |
|||
*********__佛祖保佑__永无BUG__验收通过__钞票多多__********* |
|||
*********************************************************/ |
|||
package com.yxt.anrui.oa.biz.adpurchaseassetapply; |
|||
|
|||
|
|||
import com.yxt.anrui.oa.biz.adpurchaseassetdetails.AdPurchaseAssetDetailsDto; |
|||
import com.yxt.anrui.oa.biz.oaform.FormCommon; |
|||
import com.yxt.anrui.oa.biz.oaform.OaFormDto; |
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* Project: oa(驻外人员认定申请) <br/> |
|||
* File: AdExpatriatesApplyDto.java <br/> |
|||
* Class: com.yxt.anrui.oa.api.adexpatriatesapply.AdExpatriatesApplyDto <br/> |
|||
* Description: 驻外人员认定申请 数据传输对象. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2025-01-16 15:22:53 <br/> |
|||
* |
|||
* @author liupopo |
|||
* @version 1.0 |
|||
* @since 1.0 |
|||
*/ |
|||
@Data |
|||
@ApiModel(value = "驻外人员认定申请 数据传输对象", description = "驻外人员认定申请 数据传输对象") |
|||
public class AdPurchaseAssetApplyDto extends OaFormDto { |
|||
|
|||
private FormCommon assetTypeObj; |
|||
@ApiModelProperty("固定资产类别key") |
|||
private String assetTypeKey; // 固定资产类别key
|
|||
@ApiModelProperty("固定资产类别value") |
|||
private String assetTypeValue; // 固定资产类别value
|
|||
|
|||
private FormCommon isStationObj; |
|||
@ApiModelProperty("是否有服务站机器设备(1是,0否)") |
|||
private String isStationKey; // 是否有服务站机器设备(1是,0否)
|
|||
private String isStationValue; // 是否有服务站机器设备(1是,0否)
|
|||
|
|||
|
|||
@ApiModelProperty("备注") |
|||
private String remarks; |
|||
@ApiModelProperty("合计采购金额") |
|||
private String totalAmount; // 合计采购金额
|
|||
|
|||
@ApiModelProperty("图片") |
|||
private List<String> files = new ArrayList<>(); |
|||
@ApiModelProperty("附件") |
|||
private List<String> appes = new ArrayList<>(); |
|||
|
|||
private List<AdPurchaseAssetDetailsDto> list = new ArrayList<>(); |
|||
|
|||
} |
@ -0,0 +1,37 @@ |
|||
/********************************************************* |
|||
********************************************************* |
|||
******************** ******************* |
|||
************* ************ |
|||
******* _oo0oo_ ******* |
|||
*** o8888888o *** |
|||
* 88" . "88 * |
|||
* (| -_- |) * |
|||
* 0\ = /0 * |
|||
* ___/`---'\___ * |
|||
* .' \\| |// '. *
|
|||
* / \\||| : |||// \ *
|
|||
* / _||||| -:- |||||- \ * |
|||
* | | \\\ - /// | | *
|
|||
* | \_| ''\---/'' |_/ | * |
|||
* \ .-\__ '-' ___/-. / * |
|||
* ___'. .' /--.--\ `. .'___ * |
|||
* ."" '< `.___\_<|>_/___.' >' "". * |
|||
* | | : `- \`.;`\ _ /`;.`/ - ` : | | * |
|||
* \ \ `_. \_ __\ /__ _/ .-` / / * |
|||
* =====`-.____`.___ \_____/___.-`___.-'===== * |
|||
* `=---=' * |
|||
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * |
|||
*********__佛祖保佑__永无BUG__验收通过__钞票多多__********* |
|||
*********************************************************/ |
|||
package com.yxt.anrui.oa.biz.adpurchaseassetapply; |
|||
|
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
|
|||
@Mapper |
|||
public interface AdPurchaseAssetApplyMapper extends BaseMapper<AdPurchaseAssetApply> { |
|||
|
|||
int selectBySid(String join); |
|||
|
|||
AdPurchaseAssetApplyDetailVo details(String sid); |
|||
} |
@ -0,0 +1,36 @@ |
|||
<?xml version="1.0" encoding="UTF-8" ?> |
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
|||
<mapper namespace="com.yxt.anrui.oa.biz.adpurchaseassetapply.AdPurchaseAssetApplyMapper"> |
|||
<!-- <where> ${ew.sqlSegment} </where>--> |
|||
<!-- ${ew.customSqlSegment} --> |
|||
|
|||
<select id="selectBySid" resultType="int"> |
|||
SELECT COUNT(*) |
|||
FROM ad_purchase_asset_apply ae |
|||
left join oa_form ofm on ae.formSid = ofm.sid |
|||
WHERE ofm.nodeState != '待提交' |
|||
and find_in_set(oa.sid, #{list}) |
|||
</select> |
|||
|
|||
<select id="details" resultMap="detailMap"> |
|||
select remarks, sid,assetTypeValue,isStationValue,totalAmount |
|||
from ad_purchase_asset_apply |
|||
where sid = #{sid} |
|||
</select> |
|||
|
|||
<resultMap id="detailMap" type="com.yxt.anrui.oa.biz.adpurchaseassetapply.AdPurchaseAssetApplyDetailVo"> |
|||
<result column="remarks" property="remarks"/> |
|||
<result column="assetTypeValue" property="assetTypeValue"/> |
|||
<result column="isStationValue" property="isStationValue"/> |
|||
<result column="totalAmount" property="totalAmount"/> |
|||
<collection property="list" ofType="com.yxt.anrui.oa.biz.adpurchaseassetdetails.AdPurchaseAssetListDetailsVo" |
|||
select="selectList" column="sid"> |
|||
</collection> |
|||
</resultMap> |
|||
|
|||
<select id="selectList" resultType="com.yxt.anrui.oa.biz.adpurchaseassetdetails.AdPurchaseAssetListDetailsVo"> |
|||
select * |
|||
from ad_purchase_asset_details |
|||
where mainSid = #{sid} |
|||
</select> |
|||
</mapper> |
@ -0,0 +1,335 @@ |
|||
/********************************************************* |
|||
********************************************************* |
|||
******************** ******************* |
|||
************* ************ |
|||
******* _oo0oo_ ******* |
|||
*** o8888888o *** |
|||
* 88" . "88 * |
|||
* (| -_- |) * |
|||
* 0\ = /0 * |
|||
* ___/`---'\___ * |
|||
* .' \\| |// '. *
|
|||
* / \\||| : |||// \ *
|
|||
* / _||||| -:- |||||- \ * |
|||
* | | \\\ - /// | | *
|
|||
* | \_| ''\---/'' |_/ | * |
|||
* \ .-\__ '-' ___/-. / * |
|||
* ___'. .' /--.--\ `. .'___ * |
|||
* ."" '< `.___\_<|>_/___.' >' "". * |
|||
* | | : `- \`.;`\ _ /`;.`/ - ` : | | * |
|||
* \ \ `_. \_ __\ /__ _/ .-` / / * |
|||
* =====`-.____`.___ \_____/___.-`___.-'===== * |
|||
* `=---=' * |
|||
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * |
|||
*********__佛祖保佑__永无BUG__验收通过__钞票多多__********* |
|||
*********************************************************/ |
|||
package com.yxt.anrui.oa.biz.adpurchaseassetapply; |
|||
|
|||
import cn.hutool.core.bean.BeanUtil; |
|||
import com.yxt.anrui.oa.biz.adpurchaseassetdetails.AdPurchaseAssetDetailsDto; |
|||
import com.yxt.anrui.oa.biz.adpurchaseassetdetails.AdPurchaseAssetDetailsService; |
|||
import com.yxt.anrui.oa.biz.adpurchaseassetdetails.AdPurchaseAssetDetailsVo; |
|||
import com.yxt.anrui.oa.biz.oaappendix.OaAppendixService; |
|||
import com.yxt.anrui.oa.biz.oaform.*; |
|||
import com.yxt.anrui.oa.biz.oaform.flowable.*; |
|||
import com.yxt.anrui.oa.feign.file.OaFileEnum; |
|||
import com.yxt.anrui.oa.feign.flowable.flow.ProcDefEnum; |
|||
import com.yxt.anrui.oa.feign.portal.sysorganization.SysOrganizationFeign; |
|||
import com.yxt.anrui.oa.feign.portal.sysorganization.SysOrganizationVo; |
|||
import com.yxt.common.base.service.MybatisBaseService; |
|||
import com.yxt.common.core.result.ResultBean; |
|||
import org.apache.commons.lang3.StringUtils; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import java.util.Collections; |
|||
import java.util.HashMap; |
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
@Service |
|||
public class AdPurchaseAssetApplyService extends MybatisBaseService<AdPurchaseAssetApplyMapper, AdPurchaseAssetApply> { |
|||
|
|||
@Autowired |
|||
private OaAppendixService oaAppendixService; |
|||
@Autowired |
|||
private OaFormService oaFormService; |
|||
@Autowired |
|||
private AdPurchaseAssetDetailsService adPurchaseAssetDetailsService; |
|||
@Autowired |
|||
private SysOrganizationFeign sysOrganizationFeign; |
|||
|
|||
public ResultBean<AdPurchaseAssetApplyVo> getSaveInit(String userSid, String orgPath) { |
|||
ResultBean<AdPurchaseAssetApplyVo> rb = ResultBean.fireFail(); |
|||
AdPurchaseAssetApplyVo adPurchaseAssetApplyVo = new AdPurchaseAssetApplyVo(); |
|||
adPurchaseAssetApplyVo.setCreateBySid(userSid); |
|||
adPurchaseAssetApplyVo.setOrgSidPath(orgPath); |
|||
return rb.success().setData(adPurchaseAssetApplyVo); |
|||
} |
|||
|
|||
public ResultBean<AdPurchaseAssetApplyVo> getUpdateInit(String sid) { |
|||
ResultBean<AdPurchaseAssetApplyVo> rb = ResultBean.fireFail(); |
|||
AdPurchaseAssetApplyVo adPurchaseAssetApplyVo = new AdPurchaseAssetApplyVo(); |
|||
AdPurchaseAssetApply adPurchaseAssetApply = fetchBySid(sid); |
|||
if (adPurchaseAssetApply == null) { |
|||
return rb.setMsg("该申请不存在"); |
|||
} |
|||
OaForm oaForm = oaFormService.fetchBySid(sid); |
|||
adPurchaseAssetApplyVo.setTaskId(oaForm.getTaskId()); |
|||
adPurchaseAssetApplyVo.setProcInsId(oaForm.getProcInstId()); |
|||
//根据部门sid获取orgPath并赋值
|
|||
SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(oaForm.getDeptSid()).getData(); |
|||
String orgSidPath = organizationVo.getOrgSidPath(); |
|||
adPurchaseAssetApplyVo.setOrgSidPath(orgSidPath); |
|||
adPurchaseAssetApplyVo.setCreateBySid(oaForm.getCreateBySid()); |
|||
BeanUtil.copyProperties(adPurchaseAssetApply, adPurchaseAssetApplyVo); |
|||
FormCommon assetTypeObj = FormCommon.of(adPurchaseAssetApply.getAssetTypeKey(), adPurchaseAssetApply.getAssetTypeValue()); |
|||
adPurchaseAssetApplyVo.setAssetTypeObj(assetTypeObj); |
|||
FormCommon isStationObj = FormCommon.of(adPurchaseAssetApply.getIsStationKey(), adPurchaseAssetApply.getIsStationValue()); |
|||
adPurchaseAssetApplyVo.setIsStationObj(isStationObj); |
|||
List<AdPurchaseAssetDetailsVo> list = adPurchaseAssetDetailsService.getUpdateInit(sid); |
|||
list.removeAll(Collections.singleton(null)); |
|||
if (!list.isEmpty()) { |
|||
list.stream().forEach(details -> { |
|||
FormCommon assetObj = new FormCommon(); |
|||
assetObj.setId(details.getGoodsSpuSid()); |
|||
assetObj.setDictValue(details.getGoodsSkuCode()); |
|||
Map<String, Object> extra = new HashMap<>(); |
|||
if (StringUtils.isNotBlank(details.getGoodsSpuName())) { |
|||
extra.put("goodsSpuName",details.getGoodsSpuName()); |
|||
} |
|||
if (StringUtils.isNotBlank(details.getGoodsSkuOwnSpec())) { |
|||
extra.put("goodsSkuOwnSpec",details.getGoodsSkuOwnSpec()); |
|||
} |
|||
if (StringUtils.isNotBlank(details.getUnit())) { |
|||
extra.put("unit",details.getUnit()); |
|||
} |
|||
assetObj.setExtra(extra); |
|||
details.setAssetObj(assetObj); |
|||
}); |
|||
} |
|||
List<String> files = oaAppendixService.selectByLinkSid(sid, "图片"); |
|||
adPurchaseAssetApplyVo.setFiles(files); |
|||
List<String> appes = oaAppendixService.selectByLinkSid(sid, "文件"); |
|||
adPurchaseAssetApplyVo.setAppes(appes); |
|||
adPurchaseAssetApplyVo.setList(list); |
|||
adPurchaseAssetApplyVo.setSid(sid); |
|||
return rb.success().setData(adPurchaseAssetApplyVo); |
|||
} |
|||
|
|||
public ResultBean<String> saveOrUpdateDto(AdPurchaseAssetApplyDto dto) { |
|||
ResultBean<String> rb = ResultBean.fireFail(); |
|||
String sid = dto.getSid(); |
|||
List<String> files = dto.getFiles(); |
|||
List<String> appes = dto.getAppes(); |
|||
List<AdPurchaseAssetDetailsDto> list = dto.getList(); |
|||
if (StringUtils.isBlank(sid)) { |
|||
// 新建操作
|
|||
AdPurchaseAssetApply entity = new AdPurchaseAssetApply(); |
|||
BeanUtil.copyProperties(dto, entity, "sid"); |
|||
|
|||
dto.setBillNo("GDZCCGSQ"); |
|||
dto.setSid(entity.getSid()); |
|||
ResultBean<String> resultBean = oaFormService.saveOaForm(dto); |
|||
|
|||
if (!resultBean.getSuccess()) { |
|||
return rb; |
|||
} |
|||
|
|||
entity.setFormSid(resultBean.getData()); |
|||
baseMapper.insert(entity); |
|||
sid = entity.getSid(); |
|||
} else { |
|||
// 更新操作
|
|||
AdPurchaseAssetApply entity = fetchBySid(sid); |
|||
BeanUtil.copyProperties(dto, entity, "id", "sid"); |
|||
baseMapper.updateById(entity); |
|||
} |
|||
adPurchaseAssetDetailsService.saveDetails(list, sid); |
|||
// 处理附件
|
|||
saveFiles(sid, files, OaFileEnum.ADPURCHASEASSETAPPLY.getAttachType(), "图片"); |
|||
saveFiles(sid, appes, OaFileEnum.ADPURCHASEASSETAPPLY.getAttachType(), "文件"); |
|||
return rb.success().setData(sid); |
|||
} |
|||
|
|||
// 保存文件
|
|||
private void saveFiles(String sid, List<String> files, String attachType, String fileType) { |
|||
files.removeAll(Collections.singleton(null)); |
|||
oaAppendixService.saveFile(sid, files, attachType, fileType); |
|||
} |
|||
|
|||
public ResultBean delAll(String[] sids) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
//查询该sid中是否有流程不是待提交的
|
|||
int count = baseMapper.selectBySid(StringUtils.join(sids, ",")); |
|||
if (count > 0) { |
|||
return rb.setMsg("删除的数据中包含已提交或已办结审批的数据,删除失败"); |
|||
} |
|||
delBySids(sids); |
|||
return rb.success(); |
|||
} |
|||
|
|||
public ResultBean<AdPurchaseAssetApplyDetailVo> details(String sid, String application) { |
|||
ResultBean<AdPurchaseAssetApplyDetailVo> rb = ResultBean.fireFail(); |
|||
AdPurchaseAssetApplyDetailVo adPurchaseAssetApplyDetailVo = baseMapper.details(sid); |
|||
if (adPurchaseAssetApplyDetailVo == null) { |
|||
return rb.setMsg("该申请不存在"); |
|||
} |
|||
List<String> files = oaAppendixService.selectByLinkSid(sid, "图片"); |
|||
List<String> appes = oaAppendixService.selectByLinkSid(sid, "文件"); |
|||
adPurchaseAssetApplyDetailVo.setFiles(files); |
|||
adPurchaseAssetApplyDetailVo.setAppes(appes); |
|||
//基础字段赋值
|
|||
BeanUtil.copyProperties(oaFormService.getDetails(sid), adPurchaseAssetApplyDetailVo); |
|||
return rb.success().setData(adPurchaseAssetApplyDetailVo); |
|||
} |
|||
|
|||
/** |
|||
* 提交 |
|||
* |
|||
* @param dto |
|||
* @return |
|||
*/ |
|||
public ResultBean submit(AdPurchaseAssetApplyDto dto) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
ResultBean<String> stringResultBean = saveOrUpdateDto(dto); |
|||
if (!stringResultBean.getSuccess()) { |
|||
return rb.setMsg(stringResultBean.getData()); |
|||
} |
|||
String businessSid = stringResultBean.getData(); |
|||
|
|||
SubmitDto submitDto = new SubmitDto(); |
|||
submitDto.setUserSid(dto.getCreateBySid()); |
|||
submitDto.setBusinessSid(businessSid); |
|||
|
|||
Map<String, Object> formVariables = new HashMap<>(); |
|||
formVariables = getMap(formVariables, businessSid); |
|||
submitDto.setFormVariables(formVariables); |
|||
submitDto.setProcDefId(ProcDefEnum.HIHIREAPPLY.getProDefId()); |
|||
submitDto.setNextTaskId(dto.getTaskId()); |
|||
submitDto.setRule(OaFormRuleEnum.DIRECTLY_UNDER.getRule()); |
|||
return oaFormService.submit(submitDto); |
|||
} |
|||
|
|||
/** |
|||
* 办理(同意) |
|||
* |
|||
* @param dto |
|||
* @return |
|||
*/ |
|||
public ResultBean complete(CompleteDto dto) { |
|||
Map<String, Object> formVariables = dto.getFormVariables(); |
|||
formVariables = getMap(formVariables, dto.getBusinessSid()); |
|||
dto.setFormVariables(formVariables); |
|||
BusinessVariablesDto businessVariablesDto = new BusinessVariablesDto(); |
|||
BeanUtil.copyProperties(dto, businessVariablesDto); |
|||
return oaFormService.complete(businessVariablesDto); |
|||
} |
|||
|
|||
/** |
|||
* 驳回 |
|||
* |
|||
* @param dto |
|||
* @return |
|||
*/ |
|||
public ResultBean reject(TaskDto dto) { |
|||
Map<String, Object> formVariables = dto.getFormVariables(); |
|||
formVariables = getMap(formVariables, dto.getBusinessSid()); |
|||
dto.setFormVariables(formVariables); |
|||
return oaFormService.reject(dto); |
|||
} |
|||
|
|||
public ResultBean<String> getFlowOperateTitle(NodeQuery query) { |
|||
// 默认失败返回
|
|||
ResultBean<String> rb = ResultBean.fireFail(); |
|||
|
|||
// 获取next值和formVariables
|
|||
int next = query.getNext(); |
|||
|
|||
// 获取并更新formVariables
|
|||
Map<String, Object> formVariables = getMap(query.getFormVariables(), query.getBusinessSid()); |
|||
query.setFormVariables(formVariables); |
|||
|
|||
// 校验next参数是否有效(只允许0或1)
|
|||
if (next != 0 && next != 1) { |
|||
return rb.setMsg("参数错误:next"); // 如果next不是0或1,返回错误信息
|
|||
} |
|||
|
|||
// 获取节点名称
|
|||
String data = getNodeName(query, next); |
|||
|
|||
// 如果data为null,表示未获取到有效的节点信息
|
|||
if (data == null) { |
|||
return rb.setMsg("没有获取到节点信息"); // 返回错误消息
|
|||
} |
|||
|
|||
// 返回成功的结果和获取到的节点名称
|
|||
return rb.success().setData(data); |
|||
} |
|||
|
|||
/** |
|||
* 网关参数组成 |
|||
* |
|||
* @param formVariables |
|||
* @param sid |
|||
* @return |
|||
*/ |
|||
public Map<String, Object> getMap(Map<String, Object> formVariables, String sid) { |
|||
Map<String, Object> appMap = new HashMap<>(); |
|||
appMap.put("sid", sid); |
|||
/*appMap.put("editUrl", "approval/#/pages/EditOnboradingApplyActivity?sid=" + sid); |
|||
appMap.put("detailUrl", "approval/#/pages/DetailOnboradingApplyActivity?sid=" + sid); |
|||
appMap.put("flowOperateUrl", "oa/v1/HrHireApply/getFlowOperateTitle"); |
|||
appMap.put("agreeUrl", "oa/v1/HrHireApply/complete"); |
|||
appMap.put("stopUrl", "oa/v1/oaform/breakProcess"); |
|||
appMap.put("rejectUrl", "oa/v1/HrHireApply/reject"); |
|||
appMap.put("recallUrl", "oa/v1/oaform/revokeProcess"); |
|||
appMap.put("signUrl", "oa/v1/oaform/delegate"); |
|||
appMap.put("transferUrl", "oa/v1/oaform/assignTask");*/ |
|||
appMap.put(OaFormUrlEnum.HRHIREAPPLY_EDIT.getType(), OaFormUrlEnum.HRHIREAPPLY_EDIT.getUrl() + "?sid=" + sid); |
|||
appMap.put(OaFormUrlEnum.HRHIREAPPLY_DETAIL.getType(), OaFormUrlEnum.HRHIREAPPLY_DETAIL.getUrl() + "?sid=" + sid); |
|||
appMap.put(OaFormUrlEnum.HRHIREAPPLY_FLOWOPERATEURL.getType(), OaFormUrlEnum.HRHIREAPPLY_FLOWOPERATEURL.getUrl()); |
|||
appMap.put(OaFormUrlEnum.HRHIREAPPLY_AGREEURL.getType(), OaFormUrlEnum.HRHIREAPPLY_AGREEURL.getUrl()); |
|||
appMap.put(OaFormUrlEnum.STOPURL.getType(), OaFormUrlEnum.STOPURL.getUrl()); |
|||
appMap.put(OaFormUrlEnum.HRHIREAPPLY_REJECTURL.getType(), OaFormUrlEnum.HRHIREAPPLY_REJECTURL.getUrl()); |
|||
appMap.put(OaFormUrlEnum.RECALLURL.getType(), OaFormUrlEnum.RECALLURL.getUrl()); |
|||
appMap.put(OaFormUrlEnum.SIGNURL.getType(), OaFormUrlEnum.SIGNURL.getUrl()); |
|||
appMap.put(OaFormUrlEnum.TRANSFERURL.getType(), OaFormUrlEnum.TRANSFERURL.getUrl()); |
|||
formVariables.put("app", appMap); |
|||
//根据组织查询是否是分公司
|
|||
OaForm oaForm = oaFormService.fetchBySid(sid); |
|||
AdPurchaseAssetApply adExpatriatesApply = fetchBySid(sid); |
|||
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(oaForm.getUseOrgSid()).getData(); |
|||
//是否是分公司
|
|||
formVariables.put("isTrue", sysOrganization.getIsDept() == 0); |
|||
return formVariables; |
|||
} |
|||
|
|||
/** |
|||
* 根据next的值获取前一个节点或下一个节点的名称。 |
|||
* |
|||
* @param query 包含查询所需参数的NodeQuery对象 |
|||
* @param next 参数,0表示上一环节,1表示下一环节 |
|||
* @return 节点名称,如果失败则返回null |
|||
*/ |
|||
private String getNodeName(NodeQuery query, int next) { |
|||
// 根据next值选择相应的服务方法获取节点信息
|
|||
ResultBean<List<NodeVo>> resultBean = (next == 0) |
|||
? oaFormService.getPreviousNodesForReject(query) // 获取上一环节的节点
|
|||
: oaFormService.getNextNodesForSubmit(query); // 获取下一环节的节点
|
|||
// 如果服务调用成功
|
|||
if (resultBean.getSuccess()) { |
|||
// 清除结果列表中的null值,避免空节点
|
|||
resultBean.getData().removeAll(Collections.singleton(null)); |
|||
// 如果结果列表非空,返回第一个节点的名称
|
|||
if (!resultBean.getData().isEmpty()) { |
|||
return resultBean.getData().get(0).getName(); |
|||
} |
|||
} else { |
|||
// 如果服务调用失败,返回null
|
|||
return null; |
|||
} |
|||
// 如果结果为空,返回null
|
|||
return null; |
|||
} |
|||
} |
@ -0,0 +1,73 @@ |
|||
/********************************************************* |
|||
********************************************************* |
|||
******************** ******************* |
|||
************* ************ |
|||
******* _oo0oo_ ******* |
|||
*** o8888888o *** |
|||
* 88" . "88 * |
|||
* (| -_- |) * |
|||
* 0\ = /0 * |
|||
* ___/`---'\___ * |
|||
* .' \\| |// '. *
|
|||
* / \\||| : |||// \ *
|
|||
* / _||||| -:- |||||- \ * |
|||
* | | \\\ - /// | | *
|
|||
* | \_| ''\---/'' |_/ | * |
|||
* \ .-\__ '-' ___/-. / * |
|||
* ___'. .' /--.--\ `. .'___ * |
|||
* ."" '< `.___\_<|>_/___.' >' "". * |
|||
* | | : `- \`.;`\ _ /`;.`/ - ` : | | * |
|||
* \ \ `_. \_ __\ /__ _/ .-` / / * |
|||
* =====`-.____`.___ \_____/___.-`___.-'===== * |
|||
* `=---=' * |
|||
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * |
|||
*********__佛祖保佑__永无BUG__验收通过__钞票多多__********* |
|||
*********************************************************/ |
|||
package com.yxt.anrui.oa.biz.adpurchaseassetapply; |
|||
|
|||
import com.yxt.anrui.oa.biz.adpurchaseassetdetails.AdPurchaseAssetDetailsVo; |
|||
import com.yxt.anrui.oa.biz.oaform.FormCommon; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
@Data |
|||
public class AdPurchaseAssetApplyVo { |
|||
|
|||
private String sid; |
|||
/* private String userSid; |
|||
private String orgPath;*/ |
|||
private String orgSidPath; |
|||
private String createBySid; |
|||
|
|||
private FormCommon assetTypeObj; |
|||
@ApiModelProperty("固定资产类别key") |
|||
private String assetTypeKey; // 固定资产类别key
|
|||
@ApiModelProperty("固定资产类别value") |
|||
private String assetTypeValue; // 固定资产类别value
|
|||
|
|||
private FormCommon isStationObj; |
|||
@ApiModelProperty("是否有服务站机器设备(1是,0否)") |
|||
private String isStationKey; // 是否有服务站机器设备(1是,0否)
|
|||
private String isStationValue; // 是否有服务站机器设备(1是,0否)
|
|||
|
|||
|
|||
@ApiModelProperty("备注") |
|||
private String remarks; |
|||
@ApiModelProperty("合计采购金额") |
|||
private String totalAmount; // 合计采购金额
|
|||
|
|||
@ApiModelProperty("图片") |
|||
private List<String> files = new ArrayList<>(); |
|||
@ApiModelProperty("附件") |
|||
private List<String> appes = new ArrayList<>(); |
|||
|
|||
private List<AdPurchaseAssetDetailsVo> list = new ArrayList<>(); |
|||
|
|||
private String taskId; |
|||
@ApiModelProperty("流程实例id") |
|||
private String procInsId; |
|||
|
|||
} |
@ -0,0 +1,60 @@ |
|||
/********************************************************* |
|||
********************************************************* |
|||
******************** ******************* |
|||
************* ************ |
|||
******* _oo0oo_ ******* |
|||
*** o8888888o *** |
|||
* 88" . "88 * |
|||
* (| -_- |) * |
|||
* 0\ = /0 * |
|||
* ___/`---'\___ * |
|||
* .' \\| |// '. *
|
|||
* / \\||| : |||// \ *
|
|||
* / _||||| -:- |||||- \ * |
|||
* | | \\\ - /// | | *
|
|||
* | \_| ''\---/'' |_/ | * |
|||
* \ .-\__ '-' ___/-. / * |
|||
* ___'. .' /--.--\ `. .'___ * |
|||
* ."" '< `.___\_<|>_/___.' >' "". * |
|||
* | | : `- \`.;`\ _ /`;.`/ - ` : | | * |
|||
* \ \ `_. \_ __\ /__ _/ .-` / / * |
|||
* =====`-.____`.___ \_____/___.-`___.-'===== * |
|||
* `=---=' * |
|||
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * |
|||
*********__佛祖保佑__永无BUG__验收通过__钞票多多__********* |
|||
*********************************************************/ |
|||
package com.yxt.anrui.oa.biz.adpurchaseassetdetails; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import com.yxt.common.core.domain.BaseEntity; |
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.math.BigDecimal; |
|||
|
|||
@Data |
|||
@ApiModel(value = "固定资产采购列表", description = "固定资产采购") |
|||
@TableName("ad_purchase_asset_details") |
|||
public class AdPurchaseAssetDetails extends BaseEntity { |
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
@ApiModelProperty("申请sid") |
|||
private String mainSid; // 申请sid
|
|||
@ApiModelProperty("固定资产基础信息sid") |
|||
private String goodsSpuSid; // 固定资产基础信息sid
|
|||
@ApiModelProperty("固定资产编号") |
|||
private String goodsSkuCode; // 固定资产编号
|
|||
@ApiModelProperty("固定资产名称") |
|||
private String goodsSpuName; // 固定资产名称
|
|||
@ApiModelProperty("规格型号") |
|||
private String goodsSkuOwnSpec; // 规格型号
|
|||
@ApiModelProperty("单位") |
|||
private String unit; // 单位
|
|||
@ApiModelProperty("预计采购单价") |
|||
private BigDecimal cost; // 预计采购单价
|
|||
@ApiModelProperty("预计采购数量") |
|||
private BigDecimal estimateCount; // 预计采购数量
|
|||
@ApiModelProperty("预计采购金额") |
|||
private BigDecimal estimateMoney; // 预计采购金额
|
|||
} |
@ -0,0 +1,65 @@ |
|||
/********************************************************* |
|||
********************************************************* |
|||
******************** ******************* |
|||
************* ************ |
|||
******* _oo0oo_ ******* |
|||
*** o8888888o *** |
|||
* 88" . "88 * |
|||
* (| -_- |) * |
|||
* 0\ = /0 * |
|||
* ___/`---'\___ * |
|||
* .' \\| |// '. *
|
|||
* / \\||| : |||// \ *
|
|||
* / _||||| -:- |||||- \ * |
|||
* | | \\\ - /// | | *
|
|||
* | \_| ''\---/'' |_/ | * |
|||
* \ .-\__ '-' ___/-. / * |
|||
* ___'. .' /--.--\ `. .'___ * |
|||
* ."" '< `.___\_<|>_/___.' >' "". * |
|||
* | | : `- \`.;`\ _ /`;.`/ - ` : | | * |
|||
* \ \ `_. \_ __\ /__ _/ .-` / / * |
|||
* =====`-.____`.___ \_____/___.-`___.-'===== * |
|||
* `=---=' * |
|||
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * |
|||
*********__佛祖保佑__永无BUG__验收通过__钞票多多__********* |
|||
*********************************************************/ |
|||
package com.yxt.anrui.oa.biz.adpurchaseassetdetails; |
|||
|
|||
|
|||
import com.yxt.anrui.oa.biz.oaform.FormCommon; |
|||
import com.yxt.common.core.vo.Vo; |
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @author liupopo |
|||
* @version 1.0 |
|||
* @since 1.0 |
|||
*/ |
|||
@Data |
|||
@ApiModel(value = "固定资产列表 视图数据对象", description = "固定资产列表 视图数据对象") |
|||
public class AdPurchaseAssetDetailsDto implements Vo { |
|||
|
|||
@ApiModelProperty("固定资产") |
|||
private FormCommon assetObj; |
|||
@ApiModelProperty("固定资产基础信息sid") |
|||
private String goodsSpuSid; // 固定资产基础信息sid
|
|||
@ApiModelProperty("固定资产编号") |
|||
private String goodsSkuCode; // 固定资产编号
|
|||
@ApiModelProperty("固定资产名称") |
|||
private String goodsSpuName; // 固定资产名称
|
|||
@ApiModelProperty("规格型号") |
|||
private String goodsSkuOwnSpec; // 规格型号
|
|||
@ApiModelProperty("单位") |
|||
private String unit; // 单位
|
|||
@ApiModelProperty("预计采购单价") |
|||
private String cost; // 预计采购单价
|
|||
@ApiModelProperty("预计采购数量") |
|||
private String estimateCount; // 预计采购数量
|
|||
@ApiModelProperty("预计采购金额") |
|||
private String estimateMoney; // 预计采购金额
|
|||
|
|||
|
|||
|
|||
} |
@ -0,0 +1,41 @@ |
|||
/********************************************************* |
|||
********************************************************* |
|||
******************** ******************* |
|||
************* ************ |
|||
******* _oo0oo_ ******* |
|||
*** o8888888o *** |
|||
* 88" . "88 * |
|||
* (| -_- |) * |
|||
* 0\ = /0 * |
|||
* ___/`---'\___ * |
|||
* .' \\| |// '. *
|
|||
* / \\||| : |||// \ *
|
|||
* / _||||| -:- |||||- \ * |
|||
* | | \\\ - /// | | *
|
|||
* | \_| ''\---/'' |_/ | * |
|||
* \ .-\__ '-' ___/-. / * |
|||
* ___'. .' /--.--\ `. .'___ * |
|||
* ."" '< `.___\_<|>_/___.' >' "". * |
|||
* | | : `- \`.;`\ _ /`;.`/ - ` : | | * |
|||
* \ \ `_. \_ __\ /__ _/ .-` / / * |
|||
* =====`-.____`.___ \_____/___.-`___.-'===== * |
|||
* `=---=' * |
|||
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * |
|||
*********__佛祖保佑__永无BUG__验收通过__钞票多多__********* |
|||
*********************************************************/ |
|||
package com.yxt.anrui.oa.biz.adpurchaseassetdetails; |
|||
|
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
import org.apache.ibatis.annotations.Select; |
|||
|
|||
import java.util.List; |
|||
|
|||
@Mapper |
|||
public interface AdPurchaseAssetDetailsMapper extends BaseMapper<AdPurchaseAssetDetails> { |
|||
|
|||
@Select("select * from ad_purchase_asset_details where mainSid = #{mainSid}") |
|||
List<AdPurchaseAssetDetails> selectByMainSid(String mainSid); |
|||
|
|||
List<AdPurchaseAssetDetailsVo> getUpdateInit(String sid); |
|||
} |
@ -0,0 +1,9 @@ |
|||
<?xml version="1.0" encoding="UTF-8" ?> |
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
|||
<mapper namespace="com.yxt.anrui.oa.biz.adpurchaseassetdetails.AdPurchaseAssetDetailsMapper"> |
|||
<select id="getUpdateInit" resultType="com.yxt.anrui.oa.biz.adpurchaseassetdetails.AdPurchaseAssetDetailsVo"> |
|||
select * |
|||
from ad_purchase_asset_details |
|||
where mainSid = #{sid} |
|||
</select> |
|||
</mapper> |
@ -0,0 +1,83 @@ |
|||
/********************************************************* |
|||
********************************************************* |
|||
******************** ******************* |
|||
************* ************ |
|||
******* _oo0oo_ ******* |
|||
*** o8888888o *** |
|||
* 88" . "88 * |
|||
* (| -_- |) * |
|||
* 0\ = /0 * |
|||
* ___/`---'\___ * |
|||
* .' \\| |// '. *
|
|||
* / \\||| : |||// \ *
|
|||
* / _||||| -:- |||||- \ * |
|||
* | | \\\ - /// | | *
|
|||
* | \_| ''\---/'' |_/ | * |
|||
* \ .-\__ '-' ___/-. / * |
|||
* ___'. .' /--.--\ `. .'___ * |
|||
* ."" '< `.___\_<|>_/___.' >' "". * |
|||
* | | : `- \`.;`\ _ /`;.`/ - ` : | | * |
|||
* \ \ `_. \_ __\ /__ _/ .-` / / * |
|||
* =====`-.____`.___ \_____/___.-`___.-'===== * |
|||
* `=---=' * |
|||
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * |
|||
*********__佛祖保佑__永无BUG__验收通过__钞票多多__********* |
|||
*********************************************************/ |
|||
package com.yxt.anrui.oa.biz.adpurchaseassetdetails; |
|||
|
|||
import cn.hutool.core.bean.BeanUtil; |
|||
import com.yxt.anrui.oa.biz.oaform.FormCommon; |
|||
import com.yxt.common.base.service.MybatisBaseService; |
|||
import org.apache.commons.lang3.StringUtils; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import java.util.Collections; |
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
@Service |
|||
public class AdPurchaseAssetDetailsService extends MybatisBaseService<AdPurchaseAssetDetailsMapper, AdPurchaseAssetDetails> { |
|||
|
|||
public void saveDetails(List<AdPurchaseAssetDetailsDto> list, String sid) { |
|||
//根据sid查询明细并删除
|
|||
List<AdPurchaseAssetDetails> list2 = baseMapper.selectByMainSid(sid); |
|||
list2.removeAll(Collections.singleton(null)); |
|||
if (!list2.isEmpty()) { |
|||
list2.stream().forEach(v -> { |
|||
deleteBySid(v.getSid()); |
|||
}); |
|||
} |
|||
list.removeAll(Collections.singleton(null)); |
|||
if (!list.isEmpty()) { |
|||
list.stream().forEach(details -> { |
|||
AdPurchaseAssetDetails adPurchaseAssetDetails = new AdPurchaseAssetDetails(); |
|||
BeanUtil.copyProperties(details, adPurchaseAssetDetails); |
|||
adPurchaseAssetDetails.setMainSid(sid); |
|||
FormCommon assetObj = details.getAssetObj(); |
|||
adPurchaseAssetDetails.setGoodsSkuCode(assetObj.getDictValue()); |
|||
adPurchaseAssetDetails.setGoodsSpuSid(assetObj.getId()); |
|||
Map<String, Object> extra = assetObj.getExtra(); |
|||
if (null != extra) { |
|||
for (Map.Entry <String,Object> entry : extra.entrySet()) { |
|||
if (StringUtils.isNotBlank((String)entry.getValue())) { |
|||
if (entry.getKey().equals("goodsSpuName")) { |
|||
adPurchaseAssetDetails.setGoodsSpuName((String)entry.getValue()); |
|||
} |
|||
if (entry.getKey().equals("goodsSkuOwnSpec")) { |
|||
adPurchaseAssetDetails.setGoodsSkuOwnSpec((String)entry.getValue()); |
|||
} |
|||
if (entry.getKey().equals("unit")) { |
|||
adPurchaseAssetDetails.setUnit((String)entry.getValue()); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
baseMapper.insert(adPurchaseAssetDetails); |
|||
}); |
|||
} |
|||
} |
|||
|
|||
public List<AdPurchaseAssetDetailsVo> getUpdateInit(String sid) { |
|||
return baseMapper.getUpdateInit(sid); |
|||
} |
|||
} |
@ -0,0 +1,72 @@ |
|||
/********************************************************* |
|||
********************************************************* |
|||
******************** ******************* |
|||
************* ************ |
|||
******* _oo0oo_ ******* |
|||
*** o8888888o *** |
|||
* 88" . "88 * |
|||
* (| -_- |) * |
|||
* 0\ = /0 * |
|||
* ___/`---'\___ * |
|||
* .' \\| |// '. *
|
|||
* / \\||| : |||// \ *
|
|||
* / _||||| -:- |||||- \ * |
|||
* | | \\\ - /// | | *
|
|||
* | \_| ''\---/'' |_/ | * |
|||
* \ .-\__ '-' ___/-. / * |
|||
* ___'. .' /--.--\ `. .'___ * |
|||
* ."" '< `.___\_<|>_/___.' >' "". * |
|||
* | | : `- \`.;`\ _ /`;.`/ - ` : | | * |
|||
* \ \ `_. \_ __\ /__ _/ .-` / / * |
|||
* =====`-.____`.___ \_____/___.-`___.-'===== * |
|||
* `=---=' * |
|||
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * |
|||
*********__佛祖保佑__永无BUG__验收通过__钞票多多__********* |
|||
*********************************************************/ |
|||
package com.yxt.anrui.oa.biz.adpurchaseassetdetails; |
|||
|
|||
|
|||
import com.yxt.anrui.oa.biz.oaform.FormCommon; |
|||
import com.yxt.common.core.vo.Vo; |
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* Project: yxt-oa(认定人员) <br/> |
|||
* File: AdExpatriatesDetailVo.java <br/> |
|||
* Class: com.yxt.anrui.oa.api.adexpatriatesdetail.AdExpatriatesDetailVo <br/> |
|||
* Description: 驻外人员认定列表 视图数据对象. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2025-01-20 15:35:08 <br/> |
|||
* |
|||
* @author liupopo |
|||
* @version 1.0 |
|||
* @since 1.0 |
|||
*/ |
|||
@Data |
|||
@ApiModel(value = "固定资产列表 视图数据对象", description = "固定资产列表 视图数据对象") |
|||
public class AdPurchaseAssetDetailsVo implements Vo { |
|||
|
|||
private String sid; |
|||
|
|||
@ApiModelProperty("固定资产") |
|||
private FormCommon assetObj; |
|||
@ApiModelProperty("固定资产基础信息sid") |
|||
private String goodsSpuSid; // 固定资产基础信息sid
|
|||
@ApiModelProperty("固定资产编号") |
|||
private String goodsSkuCode; // 固定资产编号
|
|||
@ApiModelProperty("固定资产名称") |
|||
private String goodsSpuName; // 固定资产名称
|
|||
@ApiModelProperty("规格型号") |
|||
private String goodsSkuOwnSpec; // 规格型号
|
|||
@ApiModelProperty("单位") |
|||
private String unit; // 单位
|
|||
@ApiModelProperty("预计采购单价") |
|||
private String cost; // 预计采购单价
|
|||
@ApiModelProperty("预计采购数量") |
|||
private String estimateCount; // 预计采购数量
|
|||
@ApiModelProperty("预计采购金额") |
|||
private String estimateMoney; // 预计采购金额
|
|||
} |
@ -0,0 +1,69 @@ |
|||
/********************************************************* |
|||
********************************************************* |
|||
******************** ******************* |
|||
************* ************ |
|||
******* _oo0oo_ ******* |
|||
*** o8888888o *** |
|||
* 88" . "88 * |
|||
* (| -_- |) * |
|||
* 0\ = /0 * |
|||
* ___/`---'\___ * |
|||
* .' \\| |// '. *
|
|||
* / \\||| : |||// \ *
|
|||
* / _||||| -:- |||||- \ * |
|||
* | | \\\ - /// | | *
|
|||
* | \_| ''\---/'' |_/ | * |
|||
* \ .-\__ '-' ___/-. / * |
|||
* ___'. .' /--.--\ `. .'___ * |
|||
* ."" '< `.___\_<|>_/___.' >' "". * |
|||
* | | : `- \`.;`\ _ /`;.`/ - ` : | | * |
|||
* \ \ `_. \_ __\ /__ _/ .-` / / * |
|||
* =====`-.____`.___ \_____/___.-`___.-'===== * |
|||
* `=---=' * |
|||
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * |
|||
*********__佛祖保佑__永无BUG__验收通过__钞票多多__********* |
|||
*********************************************************/ |
|||
package com.yxt.anrui.oa.biz.adpurchaseassetdetails; |
|||
|
|||
|
|||
import com.yxt.common.core.vo.Vo; |
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* Project: yxt-oa(认定人员) <br/> |
|||
* File: AdExpatriatesDetailVo.java <br/> |
|||
* Class: com.yxt.anrui.oa.api.adexpatriatesdetail.AdExpatriatesDetailVo <br/> |
|||
* Description: 驻外人员认定列表 视图数据对象. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2025-01-20 15:35:08 <br/> |
|||
* |
|||
* @author liupopo |
|||
* @version 1.0 |
|||
* @since 1.0 |
|||
*/ |
|||
@Data |
|||
@ApiModel(value = "固定资产列表 视图数据对象", description = "固定资产列表 视图数据对象") |
|||
public class AdPurchaseAssetListDetailsVo implements Vo { |
|||
|
|||
private String sid; |
|||
|
|||
|
|||
@ApiModelProperty("固定资产编号") |
|||
private String goodsSkuCode; // 固定资产编号
|
|||
@ApiModelProperty("固定资产名称") |
|||
private String goodsSpuName; // 固定资产名称
|
|||
@ApiModelProperty("规格型号") |
|||
private String goodsSkuOwnSpec; // 规格型号
|
|||
@ApiModelProperty("单位") |
|||
private String unit; // 单位
|
|||
@ApiModelProperty("预计采购单价") |
|||
private String cost; // 预计采购单价
|
|||
@ApiModelProperty("预计采购数量") |
|||
private String estimateCount; // 预计采购数量
|
|||
@ApiModelProperty("预计采购金额") |
|||
private String estimateMoney; // 预计采购金额
|
|||
|
|||
} |
@ -0,0 +1,24 @@ |
|||
package com.yxt.anrui.oa.feign.flowable.flow3; |
|||
|
|||
import com.yxt.anrui.oa.feign.flowable.flow.BusinessVariables; |
|||
import com.yxt.anrui.oa.feign.flowable.flow.UpdateFlowFieldVo; |
|||
import com.yxt.anrui.oa.feign.flowable.flow2.FlowDelegateQuery; |
|||
import com.yxt.common.core.result.ResultBean; |
|||
import io.swagger.annotations.ApiOperation; |
|||
import org.springframework.cloud.openfeign.FeignClient; |
|||
import org.springframework.web.bind.annotation.PostMapping; |
|||
import org.springframework.web.bind.annotation.RequestBody; |
|||
import org.springframework.web.bind.annotation.ResponseBody; |
|||
|
|||
@FeignClient( |
|||
contextId = "anrui-flowable-Flow3", |
|||
name = "anrui-flowable", |
|||
path = "v3/flow") |
|||
public interface Flow3Feign { |
|||
|
|||
@ApiOperation(value = "启动流程") |
|||
@PostMapping(value = "/startProcess2") |
|||
@ResponseBody |
|||
ResultBean<UpdateFlowFieldVo> startProcess2(@RequestBody BusinessVariables dto); |
|||
|
|||
} |
@ -0,0 +1,48 @@ |
|||
package com.yxt.wms.biz.inventory.wmsinventory.appH5; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @author Fan |
|||
* @description |
|||
* @date 2024/6/26 10:40 |
|||
*/ |
|||
@Data |
|||
public class GoodsTwoListVo { |
|||
|
|||
private String sid; |
|||
/** |
|||
* 商品名称 |
|||
*/ |
|||
private String goodsName; |
|||
/** |
|||
* 图号 |
|||
*/ |
|||
private String numId; |
|||
/** |
|||
* 仓库 |
|||
*/ |
|||
private String store; |
|||
/** |
|||
* 仓库sid |
|||
*/ |
|||
private String storeSid; |
|||
/** |
|||
* 可调数量 |
|||
*/ |
|||
private String count; |
|||
/** |
|||
* 最大可调数量 |
|||
*/ |
|||
private String maxCount; |
|||
/** |
|||
* 格式例:保内-仓库 库位编码 |
|||
*/ |
|||
private String houseInfo; |
|||
/** |
|||
* 是否禁止修改(maxCount=1 true) |
|||
*/ |
|||
private Boolean forbid = false; |
|||
} |
@ -0,0 +1,28 @@ |
|||
package com.yxt.wms.biz.inventory.wmsinventory.appH5; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @author Fan |
|||
* @description |
|||
* @date 2024/6/26 10:40 |
|||
*/ |
|||
@Data |
|||
public class GoodsTwoQuery { |
|||
|
|||
private String orgPath; |
|||
/** |
|||
* 商品sid |
|||
*/ |
|||
private String sid; |
|||
/** |
|||
* 需要去重的库存sid |
|||
*/ |
|||
private List<String> sids; |
|||
/** |
|||
* 仓库sid |
|||
*/ |
|||
private String storeSid; |
|||
} |
@ -0,0 +1,41 @@ |
|||
package com.yxt.wms.biz.inventory.wmsinventory.appH5; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @author Fan |
|||
* @description |
|||
* @date 2024/6/26 10:40 |
|||
*/ |
|||
@Data |
|||
public class GoodsTwoVo { |
|||
|
|||
/** |
|||
* 商品名称 |
|||
*/ |
|||
private String goodsName; |
|||
/** |
|||
* 图号 |
|||
*/ |
|||
private String numId; |
|||
/** |
|||
* 供应商 |
|||
*/ |
|||
private String provider; |
|||
/** |
|||
* 首次入库日期 |
|||
*/ |
|||
private String inboundTime; |
|||
/** |
|||
* 规格 |
|||
*/ |
|||
private String goodsSkuOwnSpec; |
|||
/** |
|||
* 计量单位 |
|||
*/ |
|||
private String unit; |
|||
|
|||
private List<GoodsTwoListVo> list; |
|||
} |
Loading…
Reference in new issue