优化收款单
This commit is contained in:
@@ -52,6 +52,8 @@ public class AccountItemController {
|
||||
item.put("inOutItemId", ai.getInOutItemId());
|
||||
item.put("inOutItemName", ai.getInOutItemName());
|
||||
item.put("billNumber", ai.getBillNumber());
|
||||
item.put("needDebt", ai.getNeedDebt());
|
||||
item.put("finishDebt", ai.getFinishDebt());
|
||||
BigDecimal eachAmount = ai.getEachAmount();
|
||||
item.put("eachAmount", (eachAmount.compareTo(BigDecimal.ZERO))==-1 ? BigDecimal.ZERO.subtract(eachAmount): eachAmount);
|
||||
item.put("remark", ai.getRemark());
|
||||
|
||||
@@ -14,10 +14,7 @@ import com.jsh.erp.exception.BusinessParamCheckingException;
|
||||
import com.jsh.erp.service.depotHead.DepotHeadService;
|
||||
import com.jsh.erp.service.log.LogService;
|
||||
import com.jsh.erp.service.redis.RedisService;
|
||||
import com.jsh.erp.utils.BaseResponseInfo;
|
||||
import com.jsh.erp.utils.ErpInfo;
|
||||
import com.jsh.erp.utils.StringUtil;
|
||||
import com.jsh.erp.utils.Tools;
|
||||
import com.jsh.erp.utils.*;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
@@ -425,4 +422,35 @@ public class DepotHeadController {
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询存在欠款的单据
|
||||
* @param search
|
||||
* @param request
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
@GetMapping(value = "/debtList")
|
||||
public String debtList(@RequestParam(value = Constants.SEARCH, required = false) String search,
|
||||
HttpServletRequest request)throws Exception {
|
||||
Map<String, Object> objectMap = new HashMap<>();
|
||||
String organIdStr = StringUtil.getInfo(search, "organId");
|
||||
Long organId = Long.parseLong(organIdStr);
|
||||
String materialParam = StringUtil.getInfo(search, "materialParam");
|
||||
String number = StringUtil.getInfo(search, "number");
|
||||
String beginTime = StringUtil.getInfo(search, "beginTime");
|
||||
String endTime = StringUtil.getInfo(search, "endTime");
|
||||
String type = StringUtil.getInfo(search, "type");
|
||||
String subType = StringUtil.getInfo(search, "subType");
|
||||
String roleType = StringUtil.getInfo(search, "roleType");
|
||||
String status = StringUtil.getInfo(search, "status");
|
||||
List<DepotHeadVo4List> list = depotHeadService.debtList(organId, materialParam, number, beginTime, endTime, type, subType, roleType, status);
|
||||
if (list != null) {
|
||||
objectMap.put("rows", list);
|
||||
return returnJson(objectMap, ErpInfo.OK.name, ErpInfo.OK.code);
|
||||
} else {
|
||||
objectMap.put("rows", new ArrayList<>());
|
||||
return returnJson(objectMap, "查找不到数据", ErpInfo.OK.code);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,14 +11,22 @@ import com.jsh.erp.service.systemConfig.SystemConfigService;
|
||||
import com.jsh.erp.service.user.UserService;
|
||||
import com.jsh.erp.service.userBusiness.UserBusinessService;
|
||||
import com.jsh.erp.utils.BaseResponseInfo;
|
||||
import com.jsh.erp.utils.FileUtils;
|
||||
import com.jsh.erp.utils.StringUtil;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.dao.DataAccessException;
|
||||
import org.springframework.util.FileCopyUtils;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -43,6 +51,9 @@ public class SystemConfigController {
|
||||
@Resource
|
||||
private SystemConfigService systemConfigService;
|
||||
|
||||
@Value(value="${file.path}")
|
||||
private String filePath;
|
||||
|
||||
@GetMapping(value = "/getDictItems/{dictCode}")
|
||||
public BaseResponseInfo getDictItems(@PathVariable String dictCode,
|
||||
HttpServletRequest request) {
|
||||
@@ -107,4 +118,78 @@ public class SystemConfigController {
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 文件上传统一方法
|
||||
* @param request
|
||||
* @param response
|
||||
* @return
|
||||
*/
|
||||
@PostMapping(value = "/upload")
|
||||
public BaseResponseInfo upload(HttpServletRequest request, HttpServletResponse response) {
|
||||
BaseResponseInfo res = new BaseResponseInfo();
|
||||
try {
|
||||
String savePath = "";
|
||||
String bizPath = request.getParameter("biz");
|
||||
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
|
||||
MultipartFile file = multipartRequest.getFile("file");// 获取上传文件对象
|
||||
if(StringUtil.isEmpty(bizPath)){
|
||||
bizPath = "";
|
||||
}
|
||||
savePath = this.uploadLocal(file,bizPath);
|
||||
if(StringUtil.isNotEmpty(savePath)){
|
||||
res.code = 200;
|
||||
res.data = savePath;
|
||||
}else {
|
||||
res.code = 500;
|
||||
res.data = "上传失败!";
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
res.code = 500;
|
||||
res.data = "上传失败!";
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
/**
|
||||
* 本地文件上传
|
||||
* @param mf 文件
|
||||
* @param bizPath 自定义路径
|
||||
* @return
|
||||
*/
|
||||
private String uploadLocal(MultipartFile mf,String bizPath){
|
||||
try {
|
||||
String ctxPath = filePath;
|
||||
String fileName = null;
|
||||
File file = new File(ctxPath + File.separator + bizPath + File.separator );
|
||||
if (!file.exists()) {
|
||||
file.mkdirs();// 创建文件根目录
|
||||
}
|
||||
String orgName = mf.getOriginalFilename();// 获取文件名
|
||||
orgName = FileUtils.getFileName(orgName);
|
||||
if(orgName.indexOf(".")!=-1){
|
||||
fileName = orgName.substring(0, orgName.lastIndexOf(".")) + "_" + System.currentTimeMillis() + orgName.substring(orgName.indexOf("."));
|
||||
}else{
|
||||
fileName = orgName+ "_" + System.currentTimeMillis();
|
||||
}
|
||||
String savePath = file.getPath() + File.separator + fileName;
|
||||
File savefile = new File(savePath);
|
||||
FileCopyUtils.copy(mf.getBytes(), savefile);
|
||||
String dbpath = null;
|
||||
if(StringUtil.isNotEmpty(bizPath)){
|
||||
dbpath = bizPath + File.separator + fileName;
|
||||
}else{
|
||||
dbpath = fileName;
|
||||
}
|
||||
if (dbpath.contains("\\")) {
|
||||
dbpath = dbpath.replace("\\", "/");
|
||||
}
|
||||
return dbpath;
|
||||
} catch (IOException e) {
|
||||
logger.error(e.getMessage(), e);
|
||||
}
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,6 +26,8 @@ public class AccountHead {
|
||||
|
||||
private String remark;
|
||||
|
||||
private String fileName;
|
||||
|
||||
private Long tenantId;
|
||||
|
||||
private String deleteFlag;
|
||||
@@ -118,6 +120,14 @@ public class AccountHead {
|
||||
this.remark = remark == null ? null : remark.trim();
|
||||
}
|
||||
|
||||
public String getFileName() {
|
||||
return fileName;
|
||||
}
|
||||
|
||||
public void setFileName(String fileName) {
|
||||
this.fileName = fileName == null ? null : fileName.trim();
|
||||
}
|
||||
|
||||
public Long getTenantId() {
|
||||
return tenantId;
|
||||
}
|
||||
|
||||
@@ -796,6 +796,76 @@ public class AccountHeadExample {
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andFileNameIsNull() {
|
||||
addCriterion("file_name is null");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andFileNameIsNotNull() {
|
||||
addCriterion("file_name is not null");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andFileNameEqualTo(String value) {
|
||||
addCriterion("file_name =", value, "fileName");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andFileNameNotEqualTo(String value) {
|
||||
addCriterion("file_name <>", value, "fileName");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andFileNameGreaterThan(String value) {
|
||||
addCriterion("file_name >", value, "fileName");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andFileNameGreaterThanOrEqualTo(String value) {
|
||||
addCriterion("file_name >=", value, "fileName");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andFileNameLessThan(String value) {
|
||||
addCriterion("file_name <", value, "fileName");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andFileNameLessThanOrEqualTo(String value) {
|
||||
addCriterion("file_name <=", value, "fileName");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andFileNameLike(String value) {
|
||||
addCriterion("file_name like", value, "fileName");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andFileNameNotLike(String value) {
|
||||
addCriterion("file_name not like", value, "fileName");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andFileNameIn(List<String> values) {
|
||||
addCriterion("file_name in", values, "fileName");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andFileNameNotIn(List<String> values) {
|
||||
addCriterion("file_name not in", values, "fileName");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andFileNameBetween(String value1, String value2) {
|
||||
addCriterion("file_name between", value1, value2, "fileName");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andFileNameNotBetween(String value1, String value2) {
|
||||
addCriterion("file_name not between", value1, value2, "fileName");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andTenantIdIsNull() {
|
||||
addCriterion("tenant_id is null");
|
||||
return (Criteria) this;
|
||||
|
||||
@@ -25,6 +25,8 @@ public class AccountHeadVo4ListEx {
|
||||
|
||||
private String remark;
|
||||
|
||||
private String fileName;
|
||||
|
||||
private Long tenantId;
|
||||
|
||||
private String deleteFlag;
|
||||
@@ -121,6 +123,14 @@ public class AccountHeadVo4ListEx {
|
||||
this.remark = remark;
|
||||
}
|
||||
|
||||
public String getFileName() {
|
||||
return fileName;
|
||||
}
|
||||
|
||||
public void setFileName(String fileName) {
|
||||
this.fileName = fileName;
|
||||
}
|
||||
|
||||
public Long getTenantId() {
|
||||
return tenantId;
|
||||
}
|
||||
|
||||
@@ -13,6 +13,10 @@ public class AccountItem {
|
||||
|
||||
private Long billId;
|
||||
|
||||
private BigDecimal needDebt;
|
||||
|
||||
private BigDecimal finishDebt;
|
||||
|
||||
private BigDecimal eachAmount;
|
||||
|
||||
private String remark;
|
||||
@@ -61,6 +65,22 @@ public class AccountItem {
|
||||
this.billId = billId;
|
||||
}
|
||||
|
||||
public BigDecimal getNeedDebt() {
|
||||
return needDebt;
|
||||
}
|
||||
|
||||
public void setNeedDebt(BigDecimal needDebt) {
|
||||
this.needDebt = needDebt;
|
||||
}
|
||||
|
||||
public BigDecimal getFinishDebt() {
|
||||
return finishDebt;
|
||||
}
|
||||
|
||||
public void setFinishDebt(BigDecimal finishDebt) {
|
||||
this.finishDebt = finishDebt;
|
||||
}
|
||||
|
||||
public BigDecimal getEachAmount() {
|
||||
return eachAmount;
|
||||
}
|
||||
|
||||
@@ -405,6 +405,126 @@ public class AccountItemExample {
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andNeedDebtIsNull() {
|
||||
addCriterion("need_debt is null");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andNeedDebtIsNotNull() {
|
||||
addCriterion("need_debt is not null");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andNeedDebtEqualTo(BigDecimal value) {
|
||||
addCriterion("need_debt =", value, "needDebt");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andNeedDebtNotEqualTo(BigDecimal value) {
|
||||
addCriterion("need_debt <>", value, "needDebt");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andNeedDebtGreaterThan(BigDecimal value) {
|
||||
addCriterion("need_debt >", value, "needDebt");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andNeedDebtGreaterThanOrEqualTo(BigDecimal value) {
|
||||
addCriterion("need_debt >=", value, "needDebt");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andNeedDebtLessThan(BigDecimal value) {
|
||||
addCriterion("need_debt <", value, "needDebt");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andNeedDebtLessThanOrEqualTo(BigDecimal value) {
|
||||
addCriterion("need_debt <=", value, "needDebt");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andNeedDebtIn(List<BigDecimal> values) {
|
||||
addCriterion("need_debt in", values, "needDebt");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andNeedDebtNotIn(List<BigDecimal> values) {
|
||||
addCriterion("need_debt not in", values, "needDebt");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andNeedDebtBetween(BigDecimal value1, BigDecimal value2) {
|
||||
addCriterion("need_debt between", value1, value2, "needDebt");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andNeedDebtNotBetween(BigDecimal value1, BigDecimal value2) {
|
||||
addCriterion("need_debt not between", value1, value2, "needDebt");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andFinishDebtIsNull() {
|
||||
addCriterion("finish_debt is null");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andFinishDebtIsNotNull() {
|
||||
addCriterion("finish_debt is not null");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andFinishDebtEqualTo(BigDecimal value) {
|
||||
addCriterion("finish_debt =", value, "finishDebt");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andFinishDebtNotEqualTo(BigDecimal value) {
|
||||
addCriterion("finish_debt <>", value, "finishDebt");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andFinishDebtGreaterThan(BigDecimal value) {
|
||||
addCriterion("finish_debt >", value, "finishDebt");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andFinishDebtGreaterThanOrEqualTo(BigDecimal value) {
|
||||
addCriterion("finish_debt >=", value, "finishDebt");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andFinishDebtLessThan(BigDecimal value) {
|
||||
addCriterion("finish_debt <", value, "finishDebt");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andFinishDebtLessThanOrEqualTo(BigDecimal value) {
|
||||
addCriterion("finish_debt <=", value, "finishDebt");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andFinishDebtIn(List<BigDecimal> values) {
|
||||
addCriterion("finish_debt in", values, "finishDebt");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andFinishDebtNotIn(List<BigDecimal> values) {
|
||||
addCriterion("finish_debt not in", values, "finishDebt");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andFinishDebtBetween(BigDecimal value1, BigDecimal value2) {
|
||||
addCriterion("finish_debt between", value1, value2, "finishDebt");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andFinishDebtNotBetween(BigDecimal value1, BigDecimal value2) {
|
||||
addCriterion("finish_debt not between", value1, value2, "finishDebt");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andEachAmountIsNull() {
|
||||
addCriterion("each_amount is null");
|
||||
return (Criteria) this;
|
||||
|
||||
@@ -36,6 +36,8 @@ public class DepotHead {
|
||||
|
||||
private String remark;
|
||||
|
||||
private String fileName;
|
||||
|
||||
private String salesMan;
|
||||
|
||||
private String accountIdList;
|
||||
@@ -192,6 +194,14 @@ public class DepotHead {
|
||||
this.remark = remark == null ? null : remark.trim();
|
||||
}
|
||||
|
||||
public String getFileName() {
|
||||
return fileName;
|
||||
}
|
||||
|
||||
public void setFileName(String fileName) {
|
||||
this.fileName = fileName == null ? null : fileName.trim();
|
||||
}
|
||||
|
||||
public String getSalesMan() {
|
||||
return salesMan;
|
||||
}
|
||||
|
||||
@@ -1136,6 +1136,76 @@ public class DepotHeadExample {
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andFileNameIsNull() {
|
||||
addCriterion("file_name is null");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andFileNameIsNotNull() {
|
||||
addCriterion("file_name is not null");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andFileNameEqualTo(String value) {
|
||||
addCriterion("file_name =", value, "fileName");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andFileNameNotEqualTo(String value) {
|
||||
addCriterion("file_name <>", value, "fileName");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andFileNameGreaterThan(String value) {
|
||||
addCriterion("file_name >", value, "fileName");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andFileNameGreaterThanOrEqualTo(String value) {
|
||||
addCriterion("file_name >=", value, "fileName");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andFileNameLessThan(String value) {
|
||||
addCriterion("file_name <", value, "fileName");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andFileNameLessThanOrEqualTo(String value) {
|
||||
addCriterion("file_name <=", value, "fileName");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andFileNameLike(String value) {
|
||||
addCriterion("file_name like", value, "fileName");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andFileNameNotLike(String value) {
|
||||
addCriterion("file_name not like", value, "fileName");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andFileNameIn(List<String> values) {
|
||||
addCriterion("file_name in", values, "fileName");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andFileNameNotIn(List<String> values) {
|
||||
addCriterion("file_name not in", values, "fileName");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andFileNameBetween(String value1, String value2) {
|
||||
addCriterion("file_name between", value1, value2, "fileName");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andFileNameNotBetween(String value1, String value2) {
|
||||
addCriterion("file_name not between", value1, value2, "fileName");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andSalesManIsNull() {
|
||||
addCriterion("sales_man is null");
|
||||
return (Criteria) this;
|
||||
|
||||
@@ -5,6 +5,7 @@ import com.jsh.erp.datasource.entities.AccountItemExample;
|
||||
import com.jsh.erp.datasource.vo.AccountItemVo4List;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@@ -34,4 +35,6 @@ public interface AccountItemMapperEx {
|
||||
List<AccountItem> getAccountItemListByInOutItemIds(@Param("inOutItemIds") String[] inOutItemIds);
|
||||
|
||||
int batchDeleteAccountItemByHeadIds(@Param("updateTime") Date updateTime, @Param("updater") Long updater, @Param("ids") String[] ids);
|
||||
|
||||
BigDecimal getEachAmountByBillId(@Param("billId") Long billId);
|
||||
}
|
||||
@@ -132,4 +132,16 @@ public interface DepotHeadMapperEx {
|
||||
@Param("hasSupplier") Integer hasSupplier,
|
||||
@Param("beginTime") String beginTime,
|
||||
@Param("endTime") String endTime);
|
||||
|
||||
List<DepotHeadVo4List> debtList(
|
||||
@Param("organId") Long organId,
|
||||
@Param("type") String type,
|
||||
@Param("subType") String subType,
|
||||
@Param("creatorArray") String[] creatorArray,
|
||||
@Param("status") String status,
|
||||
@Param("number") String number,
|
||||
@Param("beginTime") String beginTime,
|
||||
@Param("endTime") String endTime,
|
||||
@Param("materialParam") String materialParam,
|
||||
@Param("depotArray") String[] depotArray);
|
||||
}
|
||||
|
||||
@@ -23,6 +23,8 @@ public class DepotHeadVo4List extends DepotHead{
|
||||
|
||||
private String operTimeStr;
|
||||
|
||||
private BigDecimal finishDebt;
|
||||
|
||||
public String getProjectName() {
|
||||
return projectName;
|
||||
}
|
||||
@@ -86,4 +88,12 @@ public class DepotHeadVo4List extends DepotHead{
|
||||
public void setOperTimeStr(String operTimeStr) {
|
||||
this.operTimeStr = operTimeStr;
|
||||
}
|
||||
|
||||
public BigDecimal getFinishDebt() {
|
||||
return finishDebt;
|
||||
}
|
||||
|
||||
public void setFinishDebt(BigDecimal finishDebt) {
|
||||
this.finishDebt = finishDebt;
|
||||
}
|
||||
}
|
||||
@@ -205,6 +205,12 @@ public class AccountItemService {
|
||||
String billNo = tempInsertedJson.getString("billNumber");
|
||||
accountItem.setBillId(depotHeadService.getDepotHead(billNo).getId());
|
||||
}
|
||||
if (tempInsertedJson.get("needDebt") != null && !tempInsertedJson.get("needDebt").equals("")) {
|
||||
accountItem.setNeedDebt(tempInsertedJson.getBigDecimal("needDebt"));
|
||||
}
|
||||
if (tempInsertedJson.get("finishDebt") != null && !tempInsertedJson.get("finishDebt").equals("")) {
|
||||
accountItem.setFinishDebt(tempInsertedJson.getBigDecimal("finishDebt"));
|
||||
}
|
||||
if (tempInsertedJson.get("eachAmount") != null && !tempInsertedJson.get("eachAmount").equals("")) {
|
||||
BigDecimal eachAmount = tempInsertedJson.getBigDecimal("eachAmount");
|
||||
if (type.equals("付款")) {
|
||||
@@ -249,4 +255,8 @@ public class AccountItemService {
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public BigDecimal getEachAmountByBillId(Long billId) {
|
||||
return accountItemMapperEx.getEachAmountByBillId(billId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,10 @@ package com.jsh.erp.service.depotHead;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.jsh.erp.constants.BusinessConstants;
|
||||
import com.jsh.erp.constants.ExceptionConstants;
|
||||
import com.jsh.erp.datasource.entities.*;
|
||||
import com.jsh.erp.datasource.entities.DepotHead;
|
||||
import com.jsh.erp.datasource.entities.DepotHeadExample;
|
||||
import com.jsh.erp.datasource.entities.DepotItem;
|
||||
import com.jsh.erp.datasource.entities.User;
|
||||
import com.jsh.erp.datasource.mappers.DepotHeadMapper;
|
||||
import com.jsh.erp.datasource.mappers.DepotHeadMapperEx;
|
||||
import com.jsh.erp.datasource.mappers.DepotItemMapperEx;
|
||||
@@ -14,6 +17,7 @@ import com.jsh.erp.datasource.vo.DepotHeadVo4StatementAccount;
|
||||
import com.jsh.erp.exception.BusinessRunTimeException;
|
||||
import com.jsh.erp.exception.JshException;
|
||||
import com.jsh.erp.service.account.AccountService;
|
||||
import com.jsh.erp.service.accountItem.AccountItemService;
|
||||
import com.jsh.erp.service.depot.DepotService;
|
||||
import com.jsh.erp.service.depotItem.DepotItemService;
|
||||
import com.jsh.erp.service.log.LogService;
|
||||
@@ -36,7 +40,10 @@ import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.math.BigDecimal;
|
||||
import java.sql.Timestamp;
|
||||
import java.util.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import static com.jsh.erp.utils.Tools.getCenternTime;
|
||||
|
||||
@@ -65,6 +72,8 @@ public class DepotHeadService {
|
||||
@Resource
|
||||
private AccountService accountService;
|
||||
@Resource
|
||||
private AccountItemService accountItemService;
|
||||
@Resource
|
||||
DepotItemMapperEx depotItemMapperEx;
|
||||
@Resource
|
||||
private LogService logService;
|
||||
@@ -685,4 +694,36 @@ public class DepotHeadService {
|
||||
}
|
||||
return depotHead;
|
||||
}
|
||||
|
||||
public List<DepotHeadVo4List> debtList(Long organId, String materialParam, String number, String beginTime, String endTime,
|
||||
String type, String subType, String roleType, String status) {
|
||||
List<DepotHeadVo4List> resList = new ArrayList<>();
|
||||
try{
|
||||
String depotIds = depotService.findDepotStrByCurrentUser();
|
||||
String [] depotArray=depotIds.split(",");
|
||||
String [] creatorArray = getCreatorArray(roleType);
|
||||
beginTime = Tools.parseDayToTime(beginTime,BusinessConstants.DAY_FIRST_TIME);
|
||||
endTime = Tools.parseDayToTime(endTime,BusinessConstants.DAY_LAST_TIME);
|
||||
List<DepotHeadVo4List> list=depotHeadMapperEx.debtList(organId, type, subType, creatorArray, status, number, beginTime, endTime, materialParam, depotArray);
|
||||
if (null != list) {
|
||||
for (DepotHeadVo4List dh : list) {
|
||||
if(dh.getChangeAmount() != null) {
|
||||
dh.setChangeAmount(dh.getChangeAmount().abs());
|
||||
}
|
||||
if(dh.getTotalPrice() != null) {
|
||||
dh.setTotalPrice(dh.getTotalPrice().abs());
|
||||
}
|
||||
if(dh.getOperTime() != null) {
|
||||
dh.setOperTimeStr(getCenternTime(dh.getOperTime()));
|
||||
}
|
||||
dh.setFinishDebt(accountItemService.getEachAmountByBillId(dh.getId()));
|
||||
dh.setMaterialsList(findMaterialsListByHeaderId(dh.getId()));
|
||||
resList.add(dh);
|
||||
}
|
||||
}
|
||||
}catch(Exception e){
|
||||
JshException.readFail(logger, e);
|
||||
}
|
||||
return resList;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -330,4 +330,26 @@ public class FileUtils {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断文件名是否带盘符,重新处理
|
||||
* @param fileName
|
||||
* @return
|
||||
*/
|
||||
public static String getFileName(String fileName){
|
||||
//判断是否带有盘符信息
|
||||
// Check for Unix-style path
|
||||
int unixSep = fileName.lastIndexOf('/');
|
||||
// Check for Windows-style path
|
||||
int winSep = fileName.lastIndexOf('\\');
|
||||
// Cut off at latest possible point
|
||||
int pos = (winSep > unixSep ? winSep : unixSep);
|
||||
if (pos != -1) {
|
||||
// Any sort of path separator found...
|
||||
fileName = fileName.substring(pos + 1);
|
||||
}
|
||||
//替换上传文件名字的特殊字符
|
||||
fileName = fileName.replace("=","").replace(",","").replace("&","");
|
||||
return fileName;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user